From 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Sun, 12 Jul 2026 17:11:17 +0800 Subject: update APIs 20260712 --- data/en_us/ens/2017-11-10/api-docs.php | 86435 +++++++++++++------------------ 1 file changed, 36892 insertions(+), 49543 deletions(-) (limited to 'data/en_us/ens/2017-11-10/api-docs.php') diff --git a/data/en_us/ens/2017-11-10/api-docs.php b/data/en_us/ens/2017-11-10/api-docs.php index d0351e0..c1c14ed 100644 --- a/data/en_us/ens/2017-11-10/api-docs.php +++ b/data/en_us/ens/2017-11-10/api-docs.php @@ -1,541 +1,139 @@ '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Ens', - 'version' => '2017-11-10', - ], + 'info' => ['style' => 'RPC', 'product' => 'Ens', 'version' => '2017-11-10'], 'directories' => [ [ - 'id' => 390769, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'RunInstances', - 'CreateInstance', - 'ReleasePostPaidInstance', - 'ReleasePrePaidInstance', - 'RenewInstance', - 'ReinitInstance', - 'ModifyInstanceAttribute', - 'ModifyPrepayInstanceSpec', - 'ModifyInstanceAutoRenewAttribute', - 'AttachEnsInstances', - 'RebootInstance', - 'StartInstance', - 'StopInstance', - 'AddNetworkInterfaceToInstance', - 'DescribeAvailableResource', - 'DescribeInstances', - 'DescribeAvailableResourceInfo', - 'DescribeEnsNetSaleDistrict', - 'DescribeEnsNetLevel', - 'DescribeBandWithdChargeType', - 'DescribeInstanceSpec', - 'DescribeEnsRegionIdIpv6Info', - 'DescribeRegionIsps', - 'DescribeInstanceAutoRenewAttribute', - 'DescribeInstanceMonitorData', - 'DescribeInstanceTypes', - 'DescribeInstanceVncUrl', - 'DescribeCreatePrePaidInstanceResult', - ], - ], - [ - 'id' => 390798, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'CreateImage', - 'ExportImage', - 'DescribeSelfImages', - 'DeleteImage', - 'ModifyImageAttribute', - 'ModifyImageSharePermission', - 'DescribeImages', - 'DescribeImageInfos', - 'DescribeImageSharePermission', - 'DescribeExportImageStatus', - 'DescribeExportImageInfo', - ], - ], - [ - 'id' => 390810, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'CreateKeyPair', - 'DeleteKeyPairs', - 'ImportKeyPair', - 'DescribeKeyPairs', - ], - ], - [ - 'id' => 390815, - 'title' => null, + 'children' => ['ReleasePostPaidInstance', 'ReleasePrePaidInstance', 'ReinitInstance', 'AttachEnsInstances', 'AddNetworkInterfaceToInstance', 'DescribeAvailableResourceInfo', 'DescribeEnsNetSaleDistrict', 'DescribeEnsNetLevel', 'DescribeBandWithdChargeType', 'DescribeInstanceSpec', 'DescribeEnsRegionIdIpv6Info', 'DescribeRegionIsps', 'DescribeCreatePrePaidInstanceResult'], 'type' => 'directory', - 'children' => [ - 'CreateDisk', - 'DeleteDisk', - 'AttachDisk', - 'DetachDisk', - 'ResizeDisk', - 'DescribeDisks', - 'ReInitDisk', - 'ResetDisk', - 'DescribeDiskIopsList', - ], - ], - [ - 'id' => 390825, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'CreateSnapshot', - 'DeleteSnapshot', - 'ModifySnapshotAttribute', - 'DescribeSnapshots', - 'CopySnapshot', - ], - ], - [ - 'id' => 390831, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'CreateNetwork', - 'CreateClassicNetwork', - 'DeleteNetwork', - 'ModifyNetworkAttribute', - 'DescribeNetworkInterfaces', - 'DescribeNetworkAttribute', - 'DescribeNetworks', - 'CreateEnsRouteEntry', - 'DeleteEnsRouteEntry', - 'DescribeEnsRouteEntryList', - ], + 'title' => 'Instances', ], [ - 'id' => 390842, - 'title' => null, + 'children' => ['DescribeSelfImages', 'DescribeImageInfos', 'DescribeExportImageStatus', 'DescribeExportImageInfo'], 'type' => 'directory', - 'children' => [ - 'CreateVSwitch', - 'DeleteVSwitch', - 'ModifyVSwitchAttribute', - 'DescribeVSwitches', - ], + 'title' => 'Images', ], [ - 'id' => 390847, - 'title' => null, + 'children' => ['DescribeDiskIopsList'], 'type' => 'directory', - 'children' => [ - 'CreateSecurityGroup', - 'DeleteSecurityGroup', - 'JoinSecurityGroup', - 'LeaveSecurityGroup', - 'ModifySecurityGroupAttribute', - 'DescribeSecurityGroups', - 'AuthorizeSecurityGroup', - 'RevokeSecurityGroup', - 'AuthorizeSecurityGroupEgress', - 'RevokeSecurityGroupEgress', - 'DescribeSecurityGroupAttribute', - ], + 'title' => 'Cloud disks', ], [ - 'id' => 390859, - 'title' => null, + 'children' => ['CreateClassicNetwork', 'ModifyNetworkAttribute', 'DescribeNetworkAttribute', 'CreateEnsRouteEntry', 'DeleteEnsRouteEntry', 'DescribeEnsRouteEntryList'], 'type' => 'directory', - 'children' => [ - 'DeleteEip', - 'CreateEipInstance', - 'AssociateEnsEipAddress', - 'UnAssociateEnsEipAddress', - 'ModifyEnsEipAddressAttribute', - 'DescribeEnsEipAddresses', - ], + 'title' => 'Networks', ], [ - 'id' => 390866, - 'title' => null, + 'children' => ['DeleteEip', 'CreateEipInstance', 'AssociateEnsEipAddress', 'UnAssociateEnsEipAddress', 'ModifyEnsEipAddressAttribute', 'DescribeEnsEipAddresses'], 'type' => 'directory', - 'children' => [ - 'CreateNatGateway', - 'DeleteNatGateway', - 'DescribeNatGateways', - 'CreateForwardEntry', - 'DeleteForwardEntry', - 'ModifyForwardEntry', - 'DescribeForwardTableEntries', - 'CreateSnatEntry', - 'DeleteSnatEntry', - 'DescribeSnatTableEntries', - 'DescribeSnatAttribute', - 'AddSnatIpForSnatEntry', - 'DeleteSnatIpForSnatEntry', - 'StartSnatIpForSnatEntry', - 'StopSnatIpForSnatEntry', - ], + 'title' => 'Elastic IP addresses (EIPs)', ], [ - 'id' => 390882, - 'title' => null, + 'children' => ['DescribeSnatAttribute', 'AddSnatIpForSnatEntry', 'DeleteSnatIpForSnatEntry', 'StartSnatIpForSnatEntry', 'StopSnatIpForSnatEntry'], 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancer', - 'ModifyLoadBalancerAttribute', - 'SetLoadBalancerStatus', - 'DescribeLoadBalancerAttribute', - 'DescribeLoadBalancers', - 'CreateLoadBalancerUDPListener', - 'SetLoadBalancerUDPListenerAttribute', - 'DescribeLoadBalancerUDPListenerAttribute', - 'CreateLoadBalancerTCPListener', - 'SetLoadBalancerTCPListenerAttribute', - 'DescribeLoadBalancerTCPListenerAttribute', - 'CreateLoadBalancerHTTPListener', - 'SetLoadBalancerHTTPListenerAttribute', - 'DescribeLoadBalancerHTTPListenerAttribute', - 'CreateLoadBalancerHTTPSListener', - 'SetLoadBalancerHTTPSListenerAttribute', - 'DescribeLoadBalancerHTTPSListenerAttribute', - 'StartLoadBalancerListener', - 'StopLoadBalancerListener', - 'DeleteLoadBalancerListener', - 'DescribeLoadBalancerListeners', - 'AddBackendServers', - 'RemoveBackendServers', - 'SetBackendServers', - 'DescribeLoadBalancerListenMonitor', - 'DescribeServerLoadBalancerMonitor', - 'DescribeServerLoadBalancerListenMonitor', - ], + 'title' => 'NAT gateways', ], [ - 'id' => 390910, - 'title' => null, + 'children' => ['ModifyLoadBalancerAttribute', 'DescribeLoadBalancerListenMonitor', 'DescribeServerLoadBalancerMonitor', 'DescribeServerLoadBalancerListenMonitor'], 'type' => 'directory', - 'children' => [ - 'CreateNetworkInterface', - 'DeleteNetworkInterfaces', - 'AttachNetworkInterface', - 'DetachNetworkInterface', - 'ModifyNetworkInterfaceAttribute', - 'DescribeSecondaryPublicIpAddresses', - ], + 'title' => 'Edge load balancers (ELBs)', ], [ - 'id' => 390917, - 'title' => null, + 'children' => ['DeleteNetworkInterfaces', 'DescribeSecondaryPublicIpAddresses'], 'type' => 'directory', - 'children' => [ - 'CreateHaVip', - 'ModifyHaVipAttribute', - 'DescribeHaVips', - 'AssociateHaVip', - 'UnassociateHaVip', - ], + 'title' => 'Elastic network interfaces', ], [ - 'id' => 390923, - 'title' => null, + 'children' => ['AccosicateNetworkAcl', 'CreateNetworkAclEntry', 'DeleteNetworkAclEntry'], 'type' => 'directory', - 'children' => [ - 'CreateNetworkAcl', - 'DeleteNetworkAcl', - 'DescribeNetworkAcls', - 'AccosicateNetworkAcl', - 'UnassociateNetworkAcl', - 'CreateNetworkAclEntry', - 'DeleteNetworkAclEntry', - ], + 'title' => 'Network aCLs', ], [ - 'id' => 390931, - 'title' => null, + 'children' => ['CreateFileSystem', 'DeleteFileSystem', 'ModifyFileSystem', 'DescribeFileSystems', 'CreateMountTarget', 'DeleteMountTarget', 'DescribeMountTargets'], 'type' => 'directory', - 'children' => [ - 'CreateFileSystem', - 'DeleteFileSystem', - 'ModifyFileSystem', - 'DescribeFileSystems', - 'CreateMountTarget', - 'DeleteMountTarget', - 'DescribeMountTargets', - ], + 'title' => 'Collaborative storage NAS', ], [ - 'id' => 390939, - 'title' => null, + 'children' => ['GetOssUsageData', 'GetOssStorageAndAccByBuckets'], 'type' => 'directory', - 'children' => [ - 'PutBucket', - 'DeleteBucket', - 'GetBucketInfo', - 'PutBucketAcl', - 'GetBucketAcl', - 'PrepareUpload', - 'DeleteObject', - 'ListObjects', - 'PutBucketLifecycle', - 'DeleteBucketLifecycle', - 'GetBucketLifecycle', - 'ListBuckets', - 'GetOssUsageData', - 'GetOssStorageAndAccByBuckets', - ], + 'title' => 'Collaborative storage EOS', ], [ - 'id' => 390954, - 'title' => null, + 'children' => ['DescribeStorageGateway', 'CreateStorageGateway', 'DeleteStorageGateway'], 'type' => 'directory', - 'children' => [ - 'DescribeStorageGateway', - 'CreateStorageGateway', - 'DeleteStorageGateway', - ], + 'title' => 'Storage gateways', ], [ - 'id' => 390958, - 'title' => null, + 'children' => ['DescribeStorageVolume', 'CreateStorageVolume', 'DeleteStorageVolume'], 'type' => 'directory', - 'children' => [ - 'DescribeStorageVolume', - 'CreateStorageVolume', - 'DeleteStorageVolume', - ], + 'title' => 'Storage volumes', ], [ - 'id' => 390962, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'AssignPrivateIpAddresses', - 'UnassignPrivateIpAddresses', + 'CreateCluster', 'DeleteCluster', 'DescribeClustersV1', 'DescribeClusterDetail', 'DescribeClusterUserKubeconfig', 'UpdateClusterCertificate', 'CreateClusterNodePool', 'ScaleClusterNodePool', 'ModifyClusterNodePool', 'DeleteClusterNodePool', 'AttachInstancesToNodePool', 'DescribeClusterAttachScripts', 'DescribeClusterNodes', 'DescribeClusterNodePools', 'DeleteClusterNodes', 'InitializeENSECKServiceRole', 'InstallClusterAddons', 'UpgradeClusterAddons', 'ModifyClusterAddon', 'GetClusterAddonInstance', + 'ListClusterAddonInstances', 'UnInstallClusterAddons', 'DescribeAddon', ], - ], - [ - 'id' => 390965, - 'title' => null, 'type' => 'directory', - 'children' => [ - 'CreateCluster', - 'DeleteCluster', - 'DescribeClustersV1', - 'DescribeClusterDetail', - 'DescribeClusterUserKubeconfig', - 'ListClusterAddonInstances', - 'GetClusterAddonInstance', - 'UnInstallClusterAddons', - 'InstallClusterAddons', - 'ModifyClusterAddon', - 'ListAddons', - 'DescribeAddon', - 'UpgradeClusterAddons', - 'DeleteClusterNodes', - 'DescribeClusterNodes', - 'ScaleClusterNodePool', - 'CreateClusterNodePool', - 'DescribeClusterNodePools', - 'ModifyClusterNodePool', - 'DeleteClusterNodePool', - 'InitializeENSECKServiceRole', - ], + 'title' => 'Edge containers', ], [ - 'id' => 390987, - 'title' => null, + 'children' => ['DescribeInstanceSDGStatus', 'MountInstanceSDG', 'UnmountInstanceSDG', 'AttachInstanceSDG', 'DetachInstanceSDG', 'CreateSDG', 'DeploySDG', 'DeployInstanceSDG', 'CopySDG', 'PreloadRegionSDG', 'DescribeSDGs', 'DescribeSDG', 'DescribeSDGDeploymentStatus', 'DeleteSDG', 'UnloadRegionSDG', 'RemoveSDG', 'RemoveInstanceSDG', 'SaveSDG', 'RemoveSDGs'], 'type' => 'directory', - 'children' => [ - 'DescribeInstanceSDGStatus', - 'MountInstanceSDG', - 'UnmountInstanceSDG', - 'AttachInstanceSDG', - 'DetachInstanceSDG', - 'CreateSDG', - 'DeploySDG', - 'DeployInstanceSDG', - 'CopySDG', - 'PreloadRegionSDG', - 'DescribeSDGs', - 'DescribeSDG', - 'DescribeSDGDeploymentStatus', - 'DeleteSDG', - 'UnloadRegionSDG', - 'RemoveSDG', - 'RemoveInstanceSDG', - 'SaveSDG', - 'RemoveSDGs', - ], + 'title' => 'Scenario computing', ], [ - 'id' => 391007, - 'title' => null, + 'children' => ['ModifyAICInstanceType', 'ResetAICInstance', 'UpgradeAICInstanceImage', 'RebootAICInstance', 'DescribeARMServerInstances', 'RebootARMServerInstance', 'ReleaseARMServerInstance', 'CreateARMServerInstances', 'RenewARMServerInstance', 'DescribeAICImages', 'RecoverAICInstance', 'ReleaseAICInstance'], 'type' => 'directory', - 'children' => [ - 'ModifyAICInstanceType', - 'ResetAICInstance', - 'UpgradeAICInstanceImage', - 'RebootAICInstance', - 'DescribeARMServerInstances', - 'RebootARMServerInstance', - 'ReleaseARMServerInstance', - 'CreateARMServerInstances', - 'RenewARMServerInstance', - 'DescribeAICImages', - 'RecoverAICInstance', - 'ReleaseAICInstance', - ], + 'title' => 'Edge Cloud android (AIC)', ], [ - 'id' => 391020, - 'title' => null, + 'children' => ['RunServiceSchedule', 'DescribeServcieSchedule', 'RescaleDeviceService', 'DescribeDeviceService', 'DescribeDataPushResult', 'DescribeDataDownloadURL', 'DescribeDataDistResult', 'DistApplicationData', 'DescribeApplication', 'UpgradeApplication', 'RollbackApplication', 'RescaleApplication', 'PushApplicationData'], 'type' => 'directory', - 'children' => [ - 'RunServiceSchedule', - 'DescribeServcieSchedule', - 'RescaleDeviceService', - 'DescribeDeviceService', - 'DescribeDataPushResult', - 'DescribeDataDownloadURL', - 'DescribeDataDistResult', - 'DistApplicationData', - 'CreateApplication', - 'DeleteApplication', - 'ListApplications', - 'DescribeApplication', - 'UpgradeApplication', - 'RollbackApplication', - 'RescaleApplication', - 'PushApplicationData', - ], + 'title' => 'Edge application hosting', ], [ - 'id' => 391037, - 'title' => null, + 'children' => ['DescribeEnsRegions', 'DescribeEnsRegionIdResource', 'DescribeReservedResource', 'DescribePrePaidInstanceStock', 'DescribeLoadBalancerSpec', 'DescribeElbAvailableResourceInfo', 'DescribeCloudDiskTypes', 'DescribeCloudDiskAvailableResourceInfo'], 'type' => 'directory', - 'children' => [ - 'DescribeEnsRegions', - 'DescribeEnsRegionIdResource', - 'DescribeReservedResource', - 'DescribePrePaidInstanceStock', - 'DescribeLoadBalancerSpec', - 'DescribeElbAvailableResourceInfo', - 'DescribeCloudDiskTypes', - 'DescribeCloudDiskAvailableResourceInfo', - ], + 'title' => 'Edge zone resource information', ], [ - 'id' => 391046, - 'title' => null, + 'children' => ['DescribeBandwitdhByInternetChargeType', 'DescribeUserBandWidthData'], 'type' => 'directory', - 'children' => [ - 'UntagResources', - 'TagResources', - 'ListTagResources', - ], + 'title' => 'Bandwidth', ], [ - 'id' => 391050, - 'title' => null, + 'children' => ['DescribeMeasurementData', 'ExportBillDetailData', 'ExportMeasurementData'], 'type' => 'directory', - 'children' => [ - 'DescribeBandwitdhByInternetChargeType', - 'DescribeUserBandWidthData', - ], + 'title' => 'Metering and billing', ], [ - 'id' => 391053, - 'title' => null, + 'children' => ['BatchEventRebootInstance', 'EventRebootInstance', 'EventMigrateInstance', 'BatchEventMigrateInstance', 'EventRedeployInstance', 'BatchEventRedeployInstance'], 'type' => 'directory', - 'children' => [ - 'DescribeMeasurementData', - 'DescribePrice', - 'ExportBillDetailData', - 'ExportMeasurementData', - ], + 'title' => 'O&M and monitoring', ], [ - 'id' => 391058, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'DescribeHistoryEvents', - 'BatchEventRebootInstance', - 'EventRebootInstance', - 'EventMigrateInstance', - 'BatchEventMigrateInstance', - 'EventRedeployInstance', - 'BatchEventRedeployInstance', + 'ReleaseInstance', 'CreateEnsService', 'DescribeNASAvailableResourceInfo', 'CreateEpnInstance', 'DeleteEpnInstance', 'DescribeEnsNetDistrict', 'DescribeEpnBandWidthData', 'DescribeEpnBandwitdhByInternetChargeType', 'DescribeEpnInstanceAttribute', 'DescribeEpnInstances', 'DescribeEpnMeasurementData', 'JoinPublicIpsToEpnInstance', 'JoinVSwitchesToEpnInstance', 'ModifyEpnInstance', 'RemovePublicIpsFromEpnInstance', 'RemoveVSwitchesFromEpnInstance', 'StartEpnInstance', 'StopEpnInstance', 'DescribeEnsResourceUsage', 'DescribeInstanceBandwidthDetail', + 'ModifyInstanceBootConfiguration', 'DescribeEnsRouteTables', 'DeleteHaVips', 'ModifyEnsRouteEntry', 'ListProductAbilities', 'DescribeInstanceBootConfiguration', 'DescribeForwardEntryAttribute', 'ModifyInstanceNetworkAttribute', 'CreateSecurityGroupPermissions', 'DeleteSecurityGroupPermissions', 'ManageAICLogin', 'ListAICPublicKeys', 'DeleteAICPublicKey', 'ListAICPublicKeyDeliveries', 'ShareAICImage', 'UploadAICPublicKey', 'DescribeSDGSharedDisks', 'DescribeClusterKubeConfig', 'DescribeCluster', 'DeleteNetworkPeerConnection', + 'DescribeNetworkPeerConnections', 'AddBackendServers', 'CreateLoadBalancer', 'CreateLoadBalancerHTTPListener', 'CreateLoadBalancerHTTPSListener', 'CreateLoadBalancerTCPListener', 'CreateLoadBalancerUDPListener', 'DeleteLoadBalancerListener', 'DescribeLoadBalancerAttribute', 'DescribeLoadBalancerHTTPListenerAttribute', 'DescribeLoadBalancerHTTPSListenerAttribute', 'DescribeLoadBalancerListeners', 'DescribeLoadBalancerTCPListenerAttribute', 'DescribeLoadBalancerUDPListenerAttribute', 'DescribeLoadBalancers', 'PrepareUpload', 'RemoveBackendServers', 'SetBackendServers', 'SetLoadBalancerHTTPListenerAttribute', 'SetLoadBalancerHTTPSListenerAttribute', + 'SetLoadBalancerStatus', 'SetLoadBalancerTCPListenerAttribute', 'SetLoadBalancerUDPListenerAttribute', 'StartLoadBalancerListener', 'StopLoadBalancerListener', 'AssignPrivateIpAddresses', 'AssociateHaVip', 'AttachDisk', 'AttachKeyPair', 'AttachNetworkInterface', 'AuthorizeSecurityGroup', 'AuthorizeSecurityGroupEgress', 'CopySnapshot', 'CreateApplication', 'CreateDisk', 'CreateForwardEntry', 'CreateHaVip', 'CreateImage', 'CreateInstance', 'CreateKeyPair', + 'CreateNatGateway', 'CreateNetwork', 'CreateNetworkAcl', 'CreateNetworkInterface', 'CreateSecurityGroup', 'CreateSnapshot', 'CreateSnatEntry', 'CreateVSwitch', 'DeleteApplication', 'DeleteBucket', 'DeleteBucketLifecycle', 'DeleteDisk', 'DeleteForwardEntry', 'DeleteImage', 'DeleteKeyPairs', 'DeleteNatGateway', 'DeleteNetwork', 'DeleteNetworkAcl', 'DeleteObject', 'DeleteSecurityGroup', + 'DeleteSnapshot', 'DeleteSnatEntry', 'DeleteVSwitch', 'DescribeAvailableResource', 'DescribeDisks', 'DescribeForwardTableEntries', 'DescribeHaVips', 'DescribeHistoryEvents', 'DescribeImageSharePermission', 'DescribeImages', 'DescribeInstanceAutoRenewAttribute', 'DescribeInstanceMonitorData', 'DescribeInstanceTypes', 'DescribeInstanceVncUrl', 'DescribeInstances', 'DescribeKeyPairs', 'DescribeNatGateways', 'DescribeNetworkAcls', 'DescribeNetworkInterfaces', 'DescribeNetworks', + 'DescribePrice', 'DescribeSecurityGroupAttribute', 'DescribeSecurityGroups', 'DescribeSnapshots', 'DescribeSnatTableEntries', 'DescribeVSwitchAttributes', 'DescribeVSwitches', 'DetachDisk', 'DetachKeyPair', 'DetachNetworkInterface', 'ExportImage', 'GetBucketAcl', 'GetBucketInfo', 'GetBucketLifecycle', 'ImportImage', 'ImportKeyPair', 'JoinSecurityGroup', 'LeaveSecurityGroup', 'ListAddons', 'ListApplications', + 'ListBuckets', 'ListObjects', 'ListTagResources', 'ModifyForwardEntry', 'ModifyHaVipAttribute', 'ModifyImageAttribute', 'ModifyImageSharePermission', 'ModifyInstanceAttribute', 'ModifyInstanceAutoRenewAttribute', 'ModifyInstanceChargeType', 'ModifyNetworkInterfaceAttribute', 'ModifyPrepayInstanceSpec', 'ModifySecurityGroupAttribute', 'ModifySnapshotAttribute', 'ModifySnatEntry', 'ModifyVSwitchAttribute', 'PutBucket', 'PutBucketAcl', 'PutBucketLifecycle', 'ReInitDisk', + 'RebootInstance', 'RenewInstance', 'ResetDisk', 'ResizeDisk', 'RevokeSecurityGroup', 'RevokeSecurityGroupEgress', 'RunInstances', 'StartInstance', 'StopInstance', 'TagResources', 'UnassignPrivateIpAddresses', 'UnassociateHaVip', 'UnassociateNetworkAcl', 'UntagResources', ], - ], - [ - 'id' => 391066, - 'title' => null, 'type' => 'directory', - 'children' => [ - 'ReleaseInstance', - 'CreateEnsService', - 'DescribeNASAvailableResourceInfo', - 'CreateEpnInstance', - 'DeleteEpnInstance', - 'DescribeEnsNetDistrict', - 'DescribeEpnBandWidthData', - 'DescribeEpnBandwitdhByInternetChargeType', - 'DescribeEpnInstanceAttribute', - 'DescribeEpnInstances', - 'DescribeEpnMeasurementData', - 'JoinPublicIpsToEpnInstance', - 'JoinVSwitchesToEpnInstance', - 'ModifyEpnInstance', - 'RemovePublicIpsFromEpnInstance', - 'RemoveVSwitchesFromEpnInstance', - 'StartEpnInstance', - 'StopEpnInstance', - 'DescribeEnsResourceUsage', - 'ModifyInstanceChargeType', - 'DescribeInstanceBandwidthDetail', - 'ModifyInstanceBootConfiguration', - 'DescribeEnsRouteTables', - 'DeleteHaVips', - 'ModifySnatEntry', - 'DescribeVSwitchAttributes', - 'ModifyEnsRouteEntry', - 'ListProductAbilities', - 'DescribeInstanceBootConfiguration', - 'ImportImage', - 'DescribeForwardEntryAttribute', - 'ModifyInstanceNetworkAttribute', - 'CreateSecurityGroupPermissions', - 'DeleteSecurityGroupPermissions', - 'ManageAICLogin', - 'ListAICPublicKeys', - 'DeleteAICPublicKey', - 'ListAICPublicKeyDeliveries', - 'ShareAICImage', - 'UploadAICPublicKey', - 'DescribeSDGSharedDisks', - 'DescribeClusterKubeConfig', - 'DescribeCluster', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'RunInstances' => [ - 'summary' => 'Creates a pay-as-you-go or subscription ENS instance.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AccosicateNetworkAcl' => [ + 'summary' => 'Associates a network access control list (ACL) with a network.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -543,674 +141,808 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '101683', - 'abilityTreeNodes' => [ - 'FEATUREensI1ZRKE', - ], - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'InstanceType', + 'name' => 'NetworkAclId', 'in' => 'query', - 'schema' => [ - 'title' => '实例规格', - 'description' => 'The instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens.sn1.small', - ], + 'schema' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'required' => true, 'example' => 'nacl-a2do9e413e0sp****', 'title' => ''], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'Resource', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => '实例付费方式,PrePaid:预付费,包年包月 PostPaid:按量付费', - 'description' => 'The billing method of the instance. Valid values:'."\n" - ."\n" - .'* **PrePaid**: subscription.'."\n" - .'* **PostPaid:** pay-as-you-go.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'PostPaid' => '', - 'PrePaid' => '', - ], - 'example' => 'PostPaid', - 'enum' => [ - 'PrePaid', - 'PostPaid', + 'description' => 'The type of resource with which you want to associate the network ACL.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => 'The type of the associated resource. Set the value to **Network**.'."\n" + ."\n" + .'Valid values of **N**: 0 to 29. You can associate a network ACL with at most 30 resources.', + 'type' => 'string', + 'required' => true, + 'enum' => ['Network'], + 'example' => 'Network', + 'title' => '', + ], + 'ResourceId' => ['description' => 'The ID of the associated resource.', 'type' => 'string', 'required' => true, 'example' => 'n-5****', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], + 'required' => true, + 'maxItems' => 30, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像id', - 'description' => 'The ID of the image. For ARM PCB-based server instances, leave this parameter empty. For other instances, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'm-5si16wo6simkt267p8b7hcmy3', - ], - ], - [ - 'name' => 'NetDistrictCode', - 'in' => 'query', - 'schema' => [ - 'title' => '地区code', - 'description' => 'The code of the region.'."\n" - ."\n" - .'> This parameter is not available if ScheduleAreaLevel is set to Region and is required if ScheduleAreaLevel is set to other values.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '350000', - ], - ], - [ - 'name' => 'Carrier', - 'in' => 'query', - 'schema' => [ - 'title' => '运营商', - 'description' => 'The Internet service provider (ISP).'."\n" - ."\n" - .'> This parameter required if ScheduleAreaLevel is set to Region.\\'."\n" - .'If you set ScheduleAreaLevel to Region, a node has multiple ISPs, and you do not specify an ISP, then the create instance uses the ISP of the node. If the node has two ISPs, such as China Mobile and China Unicom, the created instance has two ISPs.\\'."\n" - .'You can call the DescribeRegionIsps operation to query ISPs of the edge node.[](~~2637461~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], - ], - [ - 'name' => 'ScheduleAreaLevel', - 'in' => 'query', - 'schema' => [ - 'title' => '调度层级', - 'description' => 'The scheduling level. This parameter specifies area-level scheduling or node-level scheduling. Valid values:'."\n" - ."\n" - .'* **Big**: greater area'."\n" - .'* **Middle**: province'."\n" - .'* **Small**: city'."\n" - .'* **Region**: node'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Region', - ], - ], - [ - 'name' => 'SchedulingStrategy', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '调度策略', - 'description' => 'The scheduling policy of the taint. Valid values:'."\n" - ."\n" - .'* **Concentrate**'."\n" - .'* **Disperse**'."\n" - ."\n" - .'> If ScheduleAreaLevel is set to Region, set this parameter to **Concentrate**. If ScheduleAreaLevel is set to other values, set this parameter to Concentrate or Disperse based on your business requirements.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'concentrate', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'example' => '', ], ], - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'title' => '节点id', - 'description' => 'The ID of the node.'."\n" - ."\n" - .'> This parameter is required if ScheduleAreaLevel is set to Region and is not available if ScheduleAreaLevel is set to other values.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-foshan-telecom', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => ''], + ['errorCode' => 'InvalidResource.NotFound', 'errorMessage' => 'The binding instance is not found.', 'description' => ''], + ['errorCode' => 'InvalidResource.Associated', 'errorMessage' => 'This instance has already associated network acl.', 'description' => ''], + ['errorCode' => 'RegionAccessDenied', 'errorMessage' => 'Could not operate this region\'s resource.', 'description' => ''], + ['errorCode' => 'InvalidResource.NotSupport', 'errorMessage' => 'Network type not support.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - [ - 'name' => 'Password', - 'in' => 'query', - 'schema' => [ - 'title' => '实例密码', - 'description' => 'The password that is used to connect to the instance.'."\n" - ."\n" - .'> You need to specify at least one of **Password**, **KeyPairName**, and **PasswordInherit**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testPassword', - ], + ], + 'title' => 'AccosicateNetworkAcl', + 'changeSet' => [ + ['createdAt' => '2022-09-08T05:56:37.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AccosicateNetworkAcl'], ], + ], + 'ramActions' => [ [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'title' => '密钥对名称', - 'description' => 'The name of the key pair.'."\n" - ."\n" - .'> You need to specify at least one of **Password**, **KeyPairName**, and **PasswordInherit**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wx2-jumpserver', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AccosicateNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'AddBackendServers' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InternetChargeType', - 'in' => 'query', - 'schema' => [ - 'title' => '带宽计费方式', - 'description' => 'The bandwidth billing method. Valid values:'."\n" - ."\n" - .'* **BandwidthByDay**: pay by daily peak bandwidth'."\n" - .'* **95BandwidthByMonth**: pay by monthly 95th percentile bandwidth'."\n" - ."\n" - .'> This parameter is required if you purchase an ENS instance for the first time. The value that you specified is used as the default value for subsequent purchases.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BandwidthByDay', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '15320', + 'abilityTreeNodes' => ['FEATUREensCRU0VL'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'SystemDisk', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '系统盘规格', - 'description' => 'The specification of the system disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'Size' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '50', - ], - 'Category' => [ - 'description' => 'The category of the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'local_ssd', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The frontend port that is used by the Edge Load Balance (ELB) instance. Valid values: **1** to **65535**.', 'type' => 'string', 'required' => true, 'example' => 'lb-5qzdmxefgrpxd7oz2mefonvtx', 'title' => ''], ], [ - 'name' => 'DataDisk', + 'name' => 'BackendServers', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'title' => '数据盘规格', - 'description' => 'The specifications of data disks.'."\n", + 'description' => 'The list of backend servers that you want to add to the Edge Load Balancer (ELB) instance. You can add up to 20 backend servers at a time.'."\n" + ."\n" + .'> Only Edge Node Service (ENS) instances that are in the running state can be added to the ELB instance as backend servers.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the data disks.'."\n", + 'description' => 'The list of backend servers that you want to add to the ELB instance. You can add up to 20 backend servers at a time.'."\n" + ."\n" + .'> Only ENS instances that are in the running state can be added to the ELB instance as backend servers.', 'type' => 'object', 'properties' => [ - 'Size' => [ - 'description' => 'The size of a data disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], - 'Category' => [ - 'description' => 'The category of the disk. Valid values:'."\n" + 'ServerId' => ['description' => 'The ID of the ENS instance.', 'type' => 'string', 'required' => true, 'example' => 'i-5uf6dwyzch3wly790****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" + ."\n" + .'> The value 0 indicates that requests are not forwarded to the backend server.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'title' => '', 'required' => false, 'example' => '100'], + 'Type' => [ + 'description' => 'The type of the backend server. Valid values:'."\n" + ."\n" + .'- **ens**: ENS instance'."\n" ."\n" - .'* **cloud_efficiency**: ultra disk.'."\n" - .'* **cloud_ssd**: all-flash disk.'."\n" - .'* **local_hdd**: local HDD.'."\n" - .'* **local_ssd**: local SSD.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt the disk. Valid values:'."\n" - ."\n" - .'* true.'."\n" - .'* false (default).'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false'."\n", - 'default' => 'false', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used for the disk. Valid values:'."\n" - ."\n" - .'* true.'."\n" - .'* false (default).'."\n" - ."\n" - .'> If you set the Encrypted parameter to true, the default service key is used when the KMSKeyId parameter is empty.'."\n", + .'- **eni**: elastic network interface (ENI)', 'type' => 'string', + 'enum' => ['ens', 'eni'], + 'title' => '', 'required' => false, - 'example' => 'false', + 'example' => 'ens', ], + 'Ip' => ['description' => 'The IP address of the backend server.', 'type' => 'string', 'required' => false, 'pattern' => '((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))', 'example' => '192.168.XXX', 'title' => ''], + 'Port' => ['description' => 'The backend port that is used by the ELB instance.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '0', 'minimum' => '0', 'title' => '', 'required' => false, 'example' => '3309'], ], - 'required' => false, + 'required' => true, + 'title' => '', + 'example' => '', ], - 'required' => false, + 'required' => true, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Period', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '购买资源的时长,单位为:月', - 'description' => 'The unit of the subscription period.'."\n" - ."\n" - .'* If **PeriodUnit** is set to **Day**, **Period** can only be set to **3**.'."\n" - .'* If **PeriodUnit** is **Month**, **Period** can be set to **1 to 9** or **12**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1-9,12', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => 'The list of backend servers that you want to add. You can add at most 20 backend servers.'."\n" + ."\n" + .'> Only ENS instances that are in the running state can be attached to the ELB instance as backend servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ServerId' => ['description' => 'The ID of the instance that is used as the backend server.', 'type' => 'string', 'example' => 'i-5uf6hj58zvml4ali8****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" + ."\n" + .'> The value 0 indicates that requests are not forwarded to the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Type' => ['description' => 'The type of the backend server. Valid values:'."\n" + ."\n" + .'- **ens**: ENS instance.'."\n" + ."\n" + .'- **eni**: ENI.', 'type' => 'string', 'example' => 'ens', 'title' => ''], + 'Ip' => ['description' => 'The IP address of the backend server.', 'type' => 'string', 'example' => '192.168.0.1', 'title' => ''], + 'Port' => ['description' => 'The backend port that is used by the ELB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], - [ - 'name' => 'InternetMaxBandwidthOut', - 'in' => 'query', - 'schema' => [ - 'title' => '公网最大带宽,如果参数InternetMaxBandwidthOut的值大于0,则自动为实例分配公网IP。', - 'description' => 'The maximum public bandwidth. If the value of this parameter is greater than 0, a public IP address is assigned to the instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instanceId that is not found.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Mismatch', 'errorMessage' => 'Specified loadbalancer and backendServer are not in the same network.', 'description' => ''], + ['errorCode' => 'QuotaExceed.BackendServer', 'errorMessage' => 'Backend servers quota exceeded in this loadbalancer.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniType', 'errorMessage' => 'The type of eni is invalid', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniStatus', 'errorMessage' => 'The status of eni is invalid', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniServiceManaged', 'errorMessage' => 'The eni is managed by service', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - [ - 'name' => 'Amount', - 'in' => 'query', - 'schema' => [ - 'title' => '数量', - 'description' => 'The number of instances that you want to create. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + ], + 'title' => 'AddBackendServers', + 'summary' => 'Adds backend servers.', + 'description' => '- Rate limit: 100 requests per second.'."\n" + ."\n" + .'- up to 10 times per second per account.', + 'changeSet' => [ + ['createdAt' => '2023-09-21T02:54:28.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddBackendServers'], ], + ], + 'ramActions' => [ [ - 'name' => 'NetWorkId', - 'in' => 'query', - 'schema' => [ - 'title' => '网络id', - 'description' => 'The ID of the network.'."\n" - ."\n" - .'> This parameter is available only if ScheduleAreaLevel is set to Region and cannot be configured if ScheduleAreaLevel is set to other values. Otherwise, an error occurs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'net-id', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:AddBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"ServerId\\": \\"i-5uf6hj58zvml4ali8****\\",\\n \\"Weight\\": 100,\\n \\"Type\\": \\"ens\\",\\n \\"Ip\\": \\"192.168.0.1\\",\\n \\"Port\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'AddNetworkInterfaceToInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'title' => '交换机id', - 'description' => 'The ID of the vSwitch.'."\n" - ."\n" - .'> This parameter is available only if ScheduleAreaLevel is set to Region and cannot be configured if ScheduleAreaLevel is set to other values. Otherwise, an error occurs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5sagnw7m613oulalkd10nv0ob', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '907', + 'abilityTreeNodes' => ['FEATUREensVJ32Z2'], + ], + 'parameters' => [ [ - 'name' => 'SecurityId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '安全组id', - 'description' => 'The ID of security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-test', - ], + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'yourInstance ID', 'title' => ''], ], [ - 'name' => 'HostName', + 'name' => 'Networks', 'in' => 'query', - 'schema' => [ - 'title' => '主机名称', - 'description' => 'The name of the host.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-HostName', - ], + 'schema' => ['description' => 'The network. The value is a JSON string. Only IPv6 is supported. Sample code of an IPv6 network: \\[{ "ipType": "public", "ipAddressType": "ipv6" }]', 'type' => 'string', 'required' => true, 'example' => '[{"ipType": "public", "ipAddressType": "ipv6" }]', 'title' => ''], ], [ - 'name' => 'InstanceName', + 'name' => 'AutoStart', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically restart the instance.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'true', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '实例名称。长度为2~128个字符,必须以大小字母或中文开头,不能以http://和https://开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、点号(.)或者连字符(-)。默认值为实例的InstanceId', - 'description' => 'The name of the instance. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (\\_), periods (.), and hyphens (-).'."\n" - ."\n" - .'The default value of this parameter is the value of the InstanceId parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestName', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ], + ], + 'title' => 'AddNetworkInterfaceToInstance', + 'summary' => 'Adds an IPv6 network interface controller (NIC). A public IP address is automatically assigned at the same time.', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 5 times per second per user.'."\n" + ."\n" + .'- Internal networks and IPv4 addresses are not supported.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-07-21T06:27:34.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddNetworkInterfaceToInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'UniqueSuffix', - 'in' => 'query', - 'schema' => [ - 'title' => '是否为HostName和InstanceName添加有序后缀,有序后缀从001开始递增,最大不能超过999', - 'description' => 'Specifies whether to append sequential suffixes to the hostname specified by the **HostName** parameter and to the instance name specified by the **InstanceName** parameter. The sequential suffixes range from 001 to 999.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'True', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:AddNetworkInterfaceToInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AddSnatIpForSnatEntry' => [ + 'summary' => 'Adds an elastic IP address (EIP) to a Source Network Address Translation (SNAT) entry.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'UserData', - 'in' => 'query', - 'schema' => [ - 'title' => '用户自定义数据,最大支持16KB 您可传入UserData信息。UserData以Base64的方式编码', - 'description' => 'The custom data. The maximum data size is 16 KB. You can specify **UserData**. **UserData** must be Base64-encoded.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ZWtest', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ [ - 'name' => 'AutoRenew', + 'name' => 'SnatEntryId', 'in' => 'query', - 'schema' => [ - 'title' => '是否自动续费,默认为false', - 'description' => 'Specifies whether to enable auto-renewal for the premium bandwidth plan. Valid values:'."\n" - ."\n" - .'* **true**.'."\n" - .'* **false** (default).'."\n" - ."\n" - .'> This parameter is not available when InstanceChargeType is set to PostPaid.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'snat-5xkzf89dndkzh8yg9stzqz9m4', 'title' => ''], ], [ - 'name' => 'SchedulingPriceStrategy', + 'name' => 'SnatIp', 'in' => 'query', + 'schema' => ['description' => 'The EIP specified in the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => '219.152.XX.XX', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '调度价格策略', - 'description' => 'The scheduling price policy. Valid values:'."\n" - ."\n" - .'* **PriceHighPriority**: The high price prevails.'."\n" - .'* **PriceLowPriority**: The low price prevails.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PriceHighPriority', - 'default' => 'PriceLowPriority', - 'enum' => [ - 'PriceHighPriority', - 'PriceLowPriority', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CD1FFCC6-5E9E-5C31-A014-13D02737B0EA'], ], + 'example' => '', ], ], - [ - 'name' => 'PrivateIpAddress', - 'in' => 'query', - 'schema' => [ - 'title' => '私网ip', - 'description' => 'The private IP address.'."\n" - ."\n" - .'> This parameter is available only if ScheduleAreaLevel is set to Region and cannot be configured if ScheduleAreaLevel is set to other values. Otherwise, an error occurs. If you specify a private IP address, the number of instances must be 1. The private IP address takes effect only when the private IP address and the vSwitch ID are not empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.0.120', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error ', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'Forbidden.SnatIpUsedInDnat', 'errorMessage' => 'Forbidden.SnatIpUsedInDnat', 'description' => ''], + ['errorCode' => 'InvalidParameter.SnatIp', 'errorMessage' => 'The specified SnatIp is not found.', 'description' => ''], + ['errorCode' => 'SnatIpLimitExceed', 'errorMessage' => 'The Snat pool ip too many.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SnatNotFound', 'errorMessage' => 'The specified snat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'Snat entry status blocked this operation.', 'description' => 'Snat status is not correct, please check Snat status.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'AddSnatIpForSnatEntry', + 'changeSet' => [ + ['createdAt' => '2024-01-22T06:17:58.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddSnatIpForSnatEntry'], ], + ], + 'ramActions' => [ [ - 'name' => 'PeriodUnit', - 'in' => 'query', - 'schema' => [ - 'title' => '查询云服务器ENS不同计费周期的价格。取值范围:'."\n" - .'Month(默认):按月计费的价格单位。'."\n" - .'Day:按天计费的价格单位。', - 'description' => 'The unit of the subscription period. Valid values:'."\n" - ."\n" - .'* **Month** (default).'."\n" - .'* **Day**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - 'enum' => [ - 'Month', - 'Day', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:AddSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CD1FFCC6-5E9E-5C31-A014-13D02737B0EA\\"\\n}","type":"json"}]', + ], + 'AssignPrivateIpAddresses' => [ + 'summary' => 'Assigns secondary private IP addresses to an elastic network interface (ENI).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PublicIpIdentification', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable public IP address identification. Valid values: true and false. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ [ - 'name' => 'PasswordInherit', + 'name' => 'NetworkInterfaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the preset password of the image. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n" - ."\n" - .'> You need to specify at least one of **Password**, **KeyPairName**, and **PasswordInherit**.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => true, 'example' => 'eni-uf6533jbifugr5f*****', 'title' => ''], ], [ - 'name' => 'InstanceChargeStrategy', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing policy of the instance. Valid values:'."\n" - ."\n" - .'* **instance**: Bills are generated based on instances.'."\n" - .'* If you do not specify this parameter, bills are generated based on users.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'instance', - ], + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5rllcjb3ol6duzjdnbm1o*****', 'title' => ''], ], - [ - 'name' => 'BillingCycle', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '实例计算资源计费周期,仅支持实例级后付费。'."\n" - .'取值'."\n" - .'* Hour'."\n" - .'* Day'."\n" - .'* Month', - 'description' => 'The billing cycle of computing resources of the instance. Only pay-as-you-go instances are supported. Valid values:'."\n" - ."\n" - .'* **Day**.'."\n" - .'* **Month**.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Month' => 'Month', - 'Day' => 'Day', - ], - 'example' => 'Day', - 'enum' => [ - 'Month', - 'Day', - 'Hour', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'AssignedPrivateIpAddressesSet' => [ + 'description' => 'Details about the ENI and the secondary private IP addresses that are assigned to the ENI.', + 'type' => 'object', + 'properties' => [ + 'NetworkInterfaceId' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'example' => 'eni-uf620pb4d19ljnu4a64m', 'title' => ''], + 'PrivateIpSet' => [ + 'description' => 'The assigned private IP addresses.', + 'type' => 'array', + 'items' => ['description' => 'The assigned private IP address.', 'type' => 'string', 'example' => '10.0.XXX', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'InvalidEniId.NotFound', 'errorMessage' => 'The specified NetworkInterfaceId does not exist. ', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'InvalidOperation.InstanceNotSupport', 'errorMessage' => 'The specified instance does not support this operation. ', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified VSwitchId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.NotBelongNetwork', 'errorMessage' => 'The specified VSwitch is not bound to instance\'s network.', 'description' => ''], + ['errorCode' => 'MaxEniPrivateIpsCountExceeded', 'errorMessage' => 'The maximum number of privateIp in a eni is exceeded.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'Don\'t have enough private IPs in this switch.', 'description' => ''], + ['errorCode' => 'IncorrectEniStatus', 'errorMessage' => 'Current eni status does not support this operation. ', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniServiceManaged', 'errorMessage' => 'The eni is managed by service.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'AssignPrivateIpAddresses', + 'changeSet' => [ + ['createdAt' => '2023-09-21T02:54:28.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-05-17T06:35:47.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssignPrivateIpAddresses'], + ], + ], + 'ramActions' => [ [ - 'name' => 'IpType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the IP address. Valid values:'."\n" - ."\n" - .'* **ipv4** (default).'."\n" - .'* **ipv6**.'."\n" - .'* **ipv4Andipv6** (single stack).'."\n" - .'* **ipv4Withipv6** (dual stack).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - 'enum' => [ - 'ipv4', - 'ipv6', - 'ipv4Andipv6', - 'ipv4Withipv6', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:AssignPrivateIpAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"AssignedPrivateIpAddressesSet\\": {\\n \\"NetworkInterfaceId\\": \\"eni-uf620pb4d19ljnu4a64m\\",\\n \\"PrivateIpSet\\": [\\n \\"10.0.XXX\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'AssociateEnsEipAddress' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AutoUseCoupon', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '19509', + 'abilityTreeNodes' => ['FEATUREens5WGMNC'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'AllocationId', 'in' => 'query', - 'schema' => [ - 'title' => '是否使用代金券,默认为使用,即AutoUseCoupon=true。', - 'description' => 'Specifies whether to use coupons. Default value: true.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'schema' => ['description' => 'The ID of the EIP that you want to associate.', 'type' => 'string', 'required' => true, 'example' => 'eip-5sc1sgcrsrwgwdvx44hru****', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'InstanceId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'team', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tagValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the cloud service with which the EIP is associated.'."\n" + ."\n" + .'> You can specify the ID of an Edge Load Balancer (ELB) instance ID.', 'type' => 'string', 'required' => true, 'example' => 'lb-5saivuir6b1mupxjfbhmk****', 'title' => ''], ], [ - 'name' => 'AutoReleaseTime', + 'name' => 'InstanceType', 'in' => 'query', 'schema' => [ - 'description' => 'The time when to automatically release the pay-as-you-go instance. Specify the time in the [ISO 8601](~~25696~~) standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in Coordinated Universal Time (UTC).'."\n" + 'description' => 'The type of instance with which you want to associate the EIP. Valid values:'."\n" + ."\n" + .'- **Nat**: NAT gateway.'."\n" + ."\n" + .'- **SlbInstance**: Edge Load Balancer (ELB) instance.'."\n" + ."\n" + .'- **NetworkInterface**: secondary elastic network interface (ENI).'."\n" + ."\n" + .'- **NatSlbInstance**: If you want to associate multiple EIPs with an ELB instance, you need to set the parameter to this value.'."\n" ."\n" - .'* If the value of `ss` is not `00`, the start time is automatically rounded down to the nearest minute based on the value of `mm`.'."\n" - .'* The specified time must be at least one hour later than the current time.'."\n", + .'- **EnsInstance** (default): ENS instance.', 'type' => 'string', - 'format' => 'iso8601', 'required' => false, - 'example' => '2023-06-28T14:38:52Z', + 'default' => 'EnsInstance', + 'enum' => ['SlbInstance', 'EnsInstance', 'NatSlbInstance', 'Nat', 'NetworkInterface', 'HaVip'], + 'example' => 'SlbInstance', + 'title' => '', ], ], [ - 'name' => 'SpotStrategy', + 'name' => 'Standby', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the EIP is a secondary EIP. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The bidding policy for the pay-as-you-go instance. This parameter is valid only when the `InstanceChargeType` parameter is set to `PostPaid`. Valid values:'."\n" - ."\n" - .'* NoSpot: The elastic container instances are pay-as-you-go instances.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is automatically used as the bidding price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotAsPriceGo', - 'enum' => [ - 'SpotAsPriceGo', - 'NoSpot', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'RegionAccessDenied', 'errorMessage' => 'Could not operate this region\'s resource', 'description' => ''], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The Eip status is incorrect. Check the Eip status.'], + ['errorCode' => 'InvalidAssociation.Duplicated', 'errorMessage' => 'Specified instance already is associated.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter allocationId that is not found.', 'description' => ''], + ['errorCode' => 'EipNotFound', 'errorMessage' => 'The input parameter allocationId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'Current instance status does not support this operation.', 'description' => ''], + ['errorCode' => 'InvalidAssociation.AssociateEipFist', 'errorMessage' => 'Associate EIP first.', 'description' => ''], + ['errorCode' => 'InvalidAssociation.RegionNotSupportStandby', 'errorMessage' => 'The region of EIP does not support standby.', 'description' => ''], + ['errorCode' => 'NatNotFound', 'errorMessage' => 'The input parameter allocationId that is not found.', 'description' => ''], + ['errorCode' => 'InvalidAssociation.NetworkTypeNotSupport', 'errorMessage' => 'The instance network type does not support binding to EIP.', 'description' => ''], + ['errorCode' => 'EniNotFound', 'errorMessage' => 'The input parameter allocationId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectEniStatus', 'errorMessage' => 'Current instance status does not support this operation.', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniServiceManaged ', 'errorMessage' => 'The eni is managed by service.', 'description' => ''], + ['errorCode' => 'InvalidAssociation.EniNotSupportStandby', 'errorMessage' => 'Eni does not support standby eip.', 'description' => ''], + ['errorCode' => 'IncorrectEniType', 'errorMessage' => 'The type of eni is invalid.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'AssociateEnsEipAddress', + 'summary' => 'Associates an elastic IP address (EIP) with a cloud resource that is deployed in the same region.', + 'changeSet' => [ + ['createdAt' => '2024-01-23T11:19:43.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-09-21T02:54:28.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-07-18T09:09:05.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-03-14T03:10:05.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateEnsEipAddress'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AssociateEnsEipAddress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AssociateHaVip' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SpotDuration', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '203842', + 'abilityTreeNodes' => ['FEATUREensWB9R7U'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the HAVIP.', 'type' => 'string', 'required' => true, 'example' => 'havip-5p14t****', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'i-50c4****', 'title' => ''], + ], + [ + 'name' => 'InstanceType', 'in' => 'query', 'schema' => [ - 'description' => 'The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values:'."\n" + 'description' => 'The type of the instance to be associated with the HAVIP. Valid values:'."\n" ."\n" - .'* 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After the 1-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" - .'* 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" + .'- EnsInstance (default): ENS instance'."\n" ."\n" - .'Alibaba Cloud sends an ECS system event to notify you 5 minutes before the instance is released. Preemptible instances are billed by second. We recommend that you specify an appropriate protection period based on your business requirements.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'- NetworkInterface: elastic network interface (ENI)', + 'type' => 'string', 'required' => false, - 'example' => '2', + 'default' => 'EnsInstance', + 'enum' => ['EnsInstance', 'NetworkInterface'], + 'example' => 'EnsInstance', + 'title' => '', ], ], - [ - 'name' => 'Ipv6AddressCount', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'integer', - 'format' => 'int64', - 'maximum' => '10', - 'minimum' => '1', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'HaVipNotFound', 'errorMessage' => 'The input parameter haVipId that is not found.', 'description' => 'The specified HaVip does not exist.'], + ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'The status of the haVip is invalid.', 'description' => 'HaVip status is incorrect'], + ['errorCode' => 'SystemError', 'errorMessage' => 'Interface call error, please re-match, or contact the product.', 'description' => 'Interface call error, please re-select'], + ['errorCode' => 'InstanceAlreadyAssociated', 'errorMessage' => 'The instance is already bound.', 'description' => 'The instance is already bound.'], + ['errorCode' => 'IncorrectNetworkInterfaceStatus', 'errorMessage' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.', 'description' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.'], + ['errorCode' => 'NetworkInterfaceNotFound', 'errorMessage' => 'The specified network interface does not exist.', 'description' => 'The specified network interface does not exist.'], + ['errorCode' => 'NetworkInterfaceTypeNotSupported', 'errorMessage' => 'This network interface type cannot be used with the current operation.', 'description' => 'This network interface type cannot be used with the current operation.'], + ['errorCode' => 'IncorrectInstanceVSwitch', 'errorMessage' => 'The binding instance must be under the same VSwitch.', 'description' => 'The binding instance must be under the same VSwitch.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'CountLimitExceed.HaVipOnInstance', 'errorMessage' => 'The amount of HaVip associated with the specified Instance reach its limits.', 'description' => 'The amount of HaVip associated with the specified Instance reach its limits.'], + ['errorCode' => 'CountLimitExceed.InstanceOnHaVip', 'errorMessage' => 'The number of instances bound to HaVip has reached the limit.', 'description' => 'The number of instances bound to HaVip has reached the limit.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'AssociateHaVip', + 'summary' => 'Associates a high-availability virtual IP address (HAVIP) with an Edge Node Service (ENS) instance or elastic network interface (ENI).', + 'description' => 'When you To associate an HAVIP, take note of the following items:'."\n" + ."\n" + .'- An HAVIP immediately takes effect after it is associated. You do not need to restart the ENS instance. However, you need to associate the HAVIP with the ENI of the ENS instance.'."\n" + ."\n" + .'- The HAVIP and ENS instance must belong to the same vSwitch.'."\n" + ."\n" + .'- The ENS instance must be in the Running or Stopped state.'."\n" + ."\n" + .'- The HAVIP must be in the Available or InUse state.'."\n" + ."\n" + .'- AssociateHaVip 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 DescribeHaVips operation to query the status of an HAVIP:'."\n" + ."\n" + .' - If the HAVIP is in the Associating state, the HAVIP is being associated.'."\n" + ."\n" + .' '."\n" + ."\n" + .' - If the HAVIP is in the InUse state, the HAVIP is associated.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateHaVip'], + ], + ], + 'ramActions' => [ [ - 'name' => 'DeletionProtection', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AssociateHaVip', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'HaVip', 'arn' => 'acs:ens::{#accountId}:havip/{#HaVipId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'AttachDisk' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '4358', + 'abilityTreeNodes' => ['FEATUREensCBRG04'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'LaunchTemplateId', + 'name' => 'DiskId', 'in' => 'query', - 'schema' => [ - 'title' => '实例启动模板ID', - 'type' => 'string', - 'example' => 'lt-test', - ], + 'schema' => ['description' => 'The ID of the disk to be attached. The cloud disk and the instance must belong to the same node.', 'type' => 'string', 'required' => true, 'example' => 'd-5saf13yy6sopmmg88mzsg****', 'title' => ''], ], [ - 'name' => 'LaunchTemplateName', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '实例启动模板名称', - 'type' => 'string', - 'example' => 'lt-test', - ], + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'i-5rr19av7tkpgi9os52ag1****', 'title' => ''], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'DeleteWithInstance', 'in' => 'query', - 'schema' => [ - 'title' => '实例启动模板版本', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], + 'schema' => ['description' => 'Specifies whether the disk to be attached is released with the instance. Valid values:'."\n" + ."\n" + .'- true: The disk will be released when the ECS instance is released.'."\n" + ."\n" + .'- false: The disk will be retained when the ECS instance is released.'."\n" + ."\n" + .'- If you leave this parameter empty, the default value is used.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -1218,2123 +950,892 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91E4AFBE-4E35-5D2A-A886-BB477C9953D2', - ], - 'InstanceIds' => [ - 'description' => 'The IDs of instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of instance IDs.'."\n", - 'type' => 'string', - 'example' => '[\'i-5xxxx26dix05koz15l5413j25o\', \'i-5sdmxxxx\']', - ], - ], - 'OrderId' => [ - 'description' => 'The order ID.'."\n", - 'type' => 'string', - 'example' => '213177957850399', - ], + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '916777D9-42D3-5928-92CE-373B1874B674', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceDistrict', - 'errorMessage' => 'The regional sales constraint verification failed, please re-match or contact the product.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedStock', - 'errorMessage' => 'Inventory sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceSpec', - 'errorMessage' => 'Instance specification sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceNetLevel', - 'errorMessage' => 'The network-level sales constraint verification failed, please re-match or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceCpuCore', - 'errorMessage' => 'cpu core sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceBandwidthValue', - 'errorMessage' => 'The bandwidth speed limit value sales constraint verification failed, please re-match or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceBandwidthType', - 'errorMessage' => 'Bandwidth type sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceSystemDiskSpec', - 'errorMessage' => 'The system disk capacity sales constraint verification failed, please re-match or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceDataDiskType', - 'errorMessage' => 'Data disk type sales constraint verification failed, please re-select, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceDataDiskSpec', - 'errorMessage' => 'Data disk capacity sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceDataDiskBlock', - 'errorMessage' => 'The sales constraint verification of the number of data disks failed, please re-match or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedRegion', - 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedCarrier', - 'errorMessage' => 'The isp failed to verify the sales restriction. Please re-select or contact the product.', - ], - [ - 'errorCode' => 'EnsAreaCountIllegal', - 'errorMessage' => 'The number of instances in the region is all 0, please re-select or contact the product.', - ], - [ - 'errorCode' => 'EnsAreaInsufficientInventory', - 'errorMessage' => 'Regional inventory is insufficient, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'EnsEnsRegionInsufficientInventory', - 'errorMessage' => 'The node inventory is insufficient, please re-select or contact the product.', - ], - [ - 'errorCode' => 'EnsRegionCountExceeded', - 'errorMessage' => 'Purchase quantity exceeds the single default limit, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'EnsServiceArrearage', - 'errorMessage' => 'The user is in arrears or the status is abnormal, please contact the product.', - ], - [ - 'errorCode' => 'EnsServiceConsumerNotExists', - 'errorMessage' => 'The user has not opened the edge service to pay by volume, please contact the product consultation.', - ], - [ - 'errorCode' => 'GenerateDataKeyFailure', - 'errorMessage' => 'Failed to generate key information, please contact the product.', - ], - [ - 'errorCode' => 'InvalidDataDiskCountValueNotSupported', - 'errorMessage' => 'The maximum number of dataDiskCount is exceeded,please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'Interface call error, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'InvalidParameterCategoryNotSupported', - 'errorMessage' => 'This disk category is not support kms,please re-select, or contact the product.', - ], - [ - 'errorCode' => 'InvalidParameterKMSKeyIdCMKNotEnabled', - 'errorMessage' => 'The CMK needs to be enabled, please re-select, or contact the product.', - ], - [ - 'errorCode' => 'InvalidImageIdSpec', - 'errorMessage' => 'The image does not match the specification cluster information, please re-match.', - ], - [ - 'errorCode' => 'InvalidParameterInstanceType', - 'errorMessage' => 'Failed to obtain specification information, please try to place the order again.', - ], - [ - 'errorCode' => 'InvalidSpecPostPaid', - 'errorMessage' => 'This specification is not supported for a Pay-As-You-Go instance.', - ], - [ - 'errorCode' => 'InvalidSpecNetlevel', - 'errorMessage' => 'The current network level does not support configuring this specification.', - ], - [ - 'errorCode' => 'SuperfluousDataDiskInstanceSpec', - 'errorMessage' => 'Data disk properties cannot be configured for the current specification.', - ], - [ - 'errorCode' => 'SuperfluousImageIdInstanceSpec', - 'errorMessage' => 'Image properties cannot be configured for the current specification.', - ], - [ - 'errorCode' => 'SuperfluousPublicIpIdentificationInstanceSpec', - 'errorMessage' => 'The current specification cannot create a public network card.', - ], - [ - 'errorCode' => 'SuperfluousSystemDiskInstanceSpec', - 'errorMessage' => 'System disk properties cannot be configured for the current specification.', - ], - [ - 'errorCode' => 'LackImageIdInstanceSpec', - 'errorMessage' => 'Image properties must be configured for the current specification.', - ], - [ - 'errorCode' => 'LackSystemDiskInstanceSpec', - 'errorMessage' => 'System disk properties must be configured for the current specification.', - ], - [ - 'errorCode' => 'LackPublicIpIdentificationInstanceSpec', - 'errorMessage' => 'The current specification must create a public network card.', - ], - [ - 'errorCode' => 'LackLabelImageIdEnsRegionId', - 'errorMessage' => 'The instance created by using this image on this node lacks the necessary label, please contact the product or operation classmate.', - ], - [ - 'errorCode' => 'InvalidImageIdSystemDisk', - 'errorMessage' => 'The system disk size does not match the image size, please re-select.', - ], - [ - 'errorCode' => 'SaleNetIpType', - 'errorMessage' => 'There is a conflict between the input parameters related to the double stack.', - ], - [ - 'errorCode' => 'InvalidSKUStatus', - 'errorMessage' => 'Inventory storage unit(SKU) background status is illegal, please submit work order in time.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'EnsPostOpenError', - 'errorMessage' => 'Commodity opening failed.', - ], - [ - 'errorCode' => 'VswitchNotMatchIpv6', - 'errorMessage' => 'The specified switch does not support ipv6.', - ], - [ - 'errorCode' => 'SwitchNotSupportIpv6', - 'errorMessage' => 'The specified switch does not support ipv6.', + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'NotAllowMixed', 'errorMessage' => 'NOT ALLOW MIX ATTACH.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'Target.IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ], + ], + 'title' => 'AttachDisk', + 'summary' => 'Attaches a disk to an Edge Node Service (ENS) instance.', + 'changeSet' => [ + ['createdAt' => '2024-11-18T07:55:55.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-21T08:03:39.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDisk'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AttachDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91E4AFBE-4E35-5D2A-A886-BB477C9953D2\\",\\n \\"InstanceIds\\": [\\n \\"[\'i-5xxxx26dix05koz15l5413j25o\', \'i-5sdmxxxx\']\\"\\n ],\\n \\"OrderId\\": \\"213177957850399\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 91E4AFBE-4E35-5D2A-A886-BB477C9953D2\\n [\'i-5xxxx26dix05koz15l5413j25o\', \'i-5sdmxxxx\']\\n 213177957850399\\n","errorExample":""}]', - 'title' => 'RunInstances', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"916777D9-42D3-5928-92CE-373B1874B674\\"\\n}","type":"json"}]', ], - 'CreateInstance' => [ - 'summary' => 'Creates an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AttachEnsInstances' => [ + 'summary' => 'Add ENS instances to Container Service for Kubernetes.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'InstanceType', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the instance.'."\n" - ."\n" - .'For more information, see [](~~66124~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ens.se1.tiny', - ], + 'schema' => ['description' => 'The instance ID. Only one ID is supported.', 'type' => 'string', 'required' => true, 'example' => 'testInstacneId', 'title' => ''], ], [ - 'name' => 'EnsRegionId', + 'name' => 'Scripts', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The command to run on the instance, encoded in Base64 using UTF-8.', 'type' => 'string', 'required' => true, 'example' => 'wget d2dldCBodHRwOi8vYWxpYWNzLWs4cy1jbxxxx', 'title' => ''], ], - [ - 'name' => 'Password', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The password of the instance.'."\n" - ."\n" - .'The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include: ``()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/``'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourPassword:1', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The subscription period of the instance. Valid values: **1** to **9** and **12**. Unit: months.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'ServiceConfigInvalid', 'errorMessage' => 'The specified InstanceType is not support.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'StockNotEnough', 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', 'description' => ''], + ['errorCode' => 'IllegalInsatanceSpec', 'errorMessage' => 'The specified Instance Spec is illegal.', 'description' => 'The current operation does not support this instance type.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'AttachEnsInstances', + 'description' => '- Maximum request rate per user: 10 requests per second.'."\n" + ."\n" + .'- After the command script runs successfully, the instance restarts and loads automatically.'."\n" + ."\n" + .'- Instance requirements: minimum size of 2C4G and CentOS 7.4 or later image.'."\n" + ."\n" + .''."\n" + ."\n" + .'Before calling this operation, [activate Container Service for Kubernetes](https://cs.console.aliyun.com/#/k8s/overview).'."\n" + ."\n" + .'', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-06-07T08:13:14.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachEnsInstances'], ], + ], + 'ramActions' => [ [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image file that you select when creating the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourImage ID', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AttachEnsInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'AttachInstanceSDG' => [ + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'SystemDisk.Size', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB. Valid values: **20** and **40**. The value cannot be smaller than the size of the image and must be a multiple of 10 GiB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '40', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '253522', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'Quantity', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the instances.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => '["aic-1", "aic-2", "aic-3"]', 'title' => ''], 'required' => true, - 'example' => '1', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DataDisk.1.Size', + 'name' => 'SDGId', 'in' => 'query', - 'schema' => [ - 'description' => 'The capacity of the first data disk. Unit: GiB. The capacity is at least 20 GiB and is a multiple of 10 GiB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], ], [ - 'name' => 'InternetChargeType', + 'name' => 'DiskType', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is required if you create the instance for the first time. The existing billing method is used by default if you have created an instance. Valid values:'."\n" - ."\n" - .'* **BandwidthByDay**: Pay by daily peak bandwidth.'."\n" - .'* **95BandwidthByMonth**: Pay by monthly 95th percentile bandwidth.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '95BandwidthByMonth', - ], + 'schema' => ['description' => 'The disk type of the generated shared disk:'."\n" + ."\n" + .'- standard (standard disk).'."\n" + ."\n" + .'- rbd (RBD disk).'."\n" + ."\n" + .'> * If the shared disk type is not specified, a standard disk is generated by default.'."\n" + .'>'."\n" + .'> * RBD shared disks can be generated only when the parent disk type is RBD.', 'type' => 'string', 'required' => false, 'example' => 'standard', 'title' => ''], ], [ - 'name' => 'AutoRenewPeriod', + 'name' => 'DiskAccessProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The auto-renewal period for the instance. This parameter is required when the **AutoRenew** parameter is set to **True**. Valid values: **1** to **12**. Unit: months.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12', - ], + 'schema' => ['description' => 'The access protocol type for the disk:'."\n" + ."\n" + .'- iscsi: The default protocol for standard disks. Both RBD disks and standard disks support this protocol.'."\n" + ."\n" + .'- rbd: The default protocol for RBD disks. Only RBD disks support this mount protocol.', 'type' => 'string', 'required' => false, 'example' => 'iscsi', 'title' => ''], ], [ - 'name' => 'AutoRenew', + 'name' => 'LoadOpt', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to enable the auto-renewal feature. Valid values: **True** and **False**. Default value: False.'."\n", - 'type' => 'string', + 'description' => 'File loading rate optimization parameters.', + 'type' => 'object', + 'properties' => [ + 'BlockRwSplit' => ['description' => 'Specifies whether to enable block device read/write splitting. The default value is false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'BlockRwSplitSize' => ['description' => 'Block device read/write splitting size in GiB. If the value is 0, the default size is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'Cache' => ['description' => 'Specifies whether to enable cache (requires block device read/write splitting to be enabled). The default value is false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'CacheSize' => ['description' => 'Cache size in GiB. If the value is 0, the default size is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], 'required' => false, - 'example' => 'True', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'IpType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of the IP address. Valid values:'."\n" - ."\n" - .'* **ipv4** (default)'."\n" - .'* **ipv6**'."\n" - .'* **ipv4Andipv6**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - 'default' => 'ipv4', - 'enum' => [ - 'ipv4Andipv6', - 'ipv4', - 'ipv6', + 'title' => 'Schema of Response', + 'description' => 'The response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'Data' => [ + 'description' => 'The returned data object.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the failed task.', + 'type' => 'object', + 'properties' => [ + 'ErrMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- **true**: All tasks are successful.'."\n" + ."\n" + .'- **false**: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Mount an SDG to an instance', + 'summary' => 'Attach an SDG to the corresponding AIC.', + 'changeSet' => [ + ['createdAt' => '2025-06-03T06:08:01.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachInstanceSDG'], + ], + ], + 'ramActions' => [ [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair. You can specify only one name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKeyPairName', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:AttachInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'AttachInstancesToNodePool' => [ + 'summary' => 'Adds existing ENS instances to an ECK cluster as worker nodes, or re-adds instances previously removed from a node pool.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'UserData', - 'in' => 'query', - 'schema' => [ - 'description' => 'Custom data. The data starts with `#!`. The data can be at most 256 characters in length and 16 KB in size. Only custom scripts are supported and cannot be rendered by InstanceMetaData.'."\n" - ."\n" - .'You can specify custom data. The data is encoded in Base64. The system does not encrypt your custom data when API requests are initiated. We recommend that you do not pass in confidential information such as passwords and private keys in plaintext. If you want to provide sensitive data such as passwords and private keys, encrypt the data and then encode it in Base64. The data is decrypted on the instance in the way it is encrypted.'."\n" - ."\n" - .'For more information, see [User data formats](https://cloudinit.readthedocs.io/en/latest/topics/format.html).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '#!/bin/sh echo "Hello World. The time is now $(date -R)!" | tee /home/output.txt', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'VSwitchId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'YourVSwitchId', - ], + 'schema' => ['description' => 'The ECK cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxx', 'title' => ''], ], [ - 'name' => 'PrivateIpAddress', + 'name' => 'NodepoolId', 'in' => 'query', - 'schema' => [ - 'description' => 'The internal IP address. If this parameter is specified, you must specify the vSwitch ID. The vSwitch must be created first. Otherwise, an error is returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.10.10.10', - ], + 'schema' => ['description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'example' => 'np68mi5y1dd748ky37ojo2kqdrz', 'title' => ''], ], [ - 'name' => 'PaymentType', + 'name' => 'Instances', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The billing method of the instance. Set the value to Subscription.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Subscription', - 'default' => 'Subscription', - 'enum' => [ - 'Subscription', - ], + 'type' => 'array', + 'items' => ['description' => 'An instance ID.', 'type' => 'string', 'required' => false, 'example' => 'i-xxxxxxx', 'title' => ''], + 'required' => true, + 'description' => 'The instance IDs to attach.', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InstanceName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the instance. The name must conform to the following naming conventions:'."\n" - ."\n" - .'* The name must be **2** to **128** characters in length.'."\n" - .'* It must start with a letter but cannot start with http:// or https://.'."\n" - .'* The name can contain letters, digits, colons (:), underscores (\\_), periods (.), and hyphens (-).'."\n" - ."\n" - .'If you do not specify this parameter, the instance ID is used as the instance name by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test:Instance_Name.1-2', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + ], + 'title' => '', + 'description' => 'The response.', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'AttachInstancesToNodePool', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'AttachKeyPair' => [ + 'summary' => 'Attaches an SSH key pair to up to 30 instances in a single call.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HostName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the Elastic Compute Service (ECS) instance. General naming rules: The hostname cannot start or end with a period (.) or hyphen (-). It cannot contain consecutive periods (.) or hyphens (-).'."\n" - ."\n" - .'Naming rules for specific instances:'."\n" - ."\n" - .'* For Windows instances, the hostname must be **2** to **15** characters in length and cannot contain periods (.) or contain only digits. The hostname cannot contain periods (.) or contain only digits.'."\n" - .'* For instances that run one of other operating systems such as Linux, the hostname must be **2** to **64** characters in length. You can use periods (.) to separate the hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-HostName', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensWDN2MU'], + ], + 'parameters' => [ [ - 'name' => 'UniqueSuffix', + 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically append sequential suffixes to the hostnames specified by the **HostName** parameter and instance names specified by the **InstanceName** parameter. The sequential suffixes range from **001** to **999**.'."\n" - ."\n" - .'Examples: **LocalHost001** and **LocalHost002**, and **MyInstance001** and **MyInstance002**.'."\n" - ."\n" - .'Default value: **false**.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The key pair name.', 'type' => 'string', 'required' => false, 'example' => 'test-kp', 'title' => ''], ], [ - 'name' => 'PublicIpIdentification', + 'name' => 'InstanceIds', 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether a public IP address can be assigned to the specified instance. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'description' => 'A list of instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => false, 'example' => 'i-xxx', 'title' => ''], + 'required' => true, + 'enumValueTitles' => [], + 'example' => '["i-50f8q9mbfjzlkuk9znjglnne3"]', + 'maxItems' => 30, + 'minItems' => 1, + 'title' => '', ], ], [ - 'name' => 'PasswordInherit', + 'name' => 'KeyPairId', 'in' => 'query', - 'schema' => [ - 'title' => '是否使用镜像预设的密码。使用该参数时,Password参数必须为空,同时您需要确保使用的镜像已经设置了密码。', - 'description' => 'Specifies whether to use the preset password of the image. Valid values:'."\n" - ."\n" - .'- **true**: The password preset in the image is used, and the **Password** parameter must be null. For secure access, make sure that the selected image has a password configured.'."\n" - ."\n" - .'- **false**: does not use the password preset in the image.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The unique ID of the key pair.', 'type' => 'string', 'required' => false, 'example' => 'ssh-xxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4A431388-2D4B-46F4-A96B-D4E6BD0688C1', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The IDs of instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of instance IDs.'."\n", - 'type' => 'string', - 'example' => '[i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xx-xx-xx-xx'], + 'KeyPairName' => ['description' => 'The key pair name.', 'type' => 'string', 'example' => 'ssh-xxx', 'title' => ''], + 'FailCount' => ['description' => 'The number of instances where the attachment failed.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instances in the request.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'Results' => [ + 'description' => 'The attachment results for each instance.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The status code for the operation. A value of `200` indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'i-xxx', 'title' => ''], + 'Message' => ['description' => 'The response message. If the `Code` is `200`, this message is `successful`.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'Success' => ['description' => 'Indicates if the operation succeeded for the instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The return code. A value of 0 indicates that the request is successful.'."\n" - ."\n" - .'> If you call this operation by using SDKs, the return value is of the integer type. If you call this operation by using common methods or HTTP requests, the return value is of the string type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], + 'KeyPairId' => ['description' => 'The key pair ID.', 'type' => 'string', 'example' => 'ssh-xxx', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'StockNotEnough', - 'errorMessage' => 'The specified instance type has insufficient resource.', - ], - [ - 'errorCode' => 'InvalidUserData.NotInWhiteList', - 'errorMessage' => 'The specified user is not authroized to perform this operation.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The input parameter is Invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidDiskSize.ValueNotSupported', - 'errorMessage' => 'The specified disk capacity is invalid. Specify another capacity and try again.', - ], - [ - 'errorCode' => 'InvalidParameter.Bandwidth', - 'errorMessage' => 'The specified parameter InternetChargeType is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.Image', - 'errorMessage' => 'The specified image does not support.', - ], - [ - 'errorCode' => 'InvalidParameter.InstanceType', - 'errorMessage' => 'The specified parameter InstanceType is not valid.', - ], - [ - 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', - 'errorMessage' => 'Your account does not have enough balance.', - ], - [ - 'errorCode' => 'unsupported_Ipv6Feature', - 'errorMessage' => 'This ensregion does not support creating instance of the IPv6 type. Select another type.', - ], - [ - 'errorCode' => 'Forbidden.CreateInstance', - 'errorMessage' => 'The user is not in the Goods whitelist of creating instance interface.', - ], - [ - 'errorCode' => 'ENS_OperationUnsupported_KeyPairName', - 'errorMessage' => 'The KeyPairNameis not available or image not support ssh key.', - ], - [ - 'errorCode' => 'ENS_DependencyViolation_WindowsInstance', - 'errorMessage' => 'The instance creating is window, only user password to login.', - ], - [ - 'errorCode' => 'ENS_PASSWORDORKEYPAIRNAME_MODULE_NOT_CHOOSEN', - 'errorMessage' => 'The required module pwd or keyPairName is not inputed', - ], - [ - 'errorCode' => 'InvalidPrivateIpAddress', - 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'Specified virtual switch does not exist.', - ], - [ - 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', - 'errorMessage' => 'Specified private IP address is duplicated.', - ], - [ - 'errorCode' => 'InvalidPasswordParam.Mismatch', - 'errorMessage' => 'The input password should be null when passwordInherit is true.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4A431388-2D4B-46F4-A96B-D4E6BD0688C1\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]\\"\\n ]\\n },\\n \\"Code\\": 0\\n}","errorExample":""},{"type":"xml","example":"\\n 4A431388-2D4B-46F4-A96B-D4E6BD0688C1\\n [i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]\\n 0\\n","errorExample":""}]', - 'title' => 'CreateInstance', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* We recommend that you increase the request time because instance creation is an asynchronous operation. If the return code of the API operation is 0, it indicates that the request is successful, but does not indicate that the instance is created. If the request is successful, an instance ID is returned. You can check whether the instance is created based on the instance ID.'."\n" - .'* InvalidUserData.NotInWhiteList operation restriction: You can create an instance only if you are in the whitelist in which members have the purchase permissions. Otherwise, an error is returned.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ReleasePostPaidInstance' => [ - 'summary' => 'Deletes a pay-as-you-go instance.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'AttachKeyPair', + 'description' => 'You can only attach a key pair to stopped instances.'."\n" + ."\n" + .'- Specify up to 30 instances per call.'."\n" + ."\n" + .'- Specify either `KeyPairName` or `KeyPairId`.'."\n" + ."\n" + .'- We recommend using `KeyPairId`, as `KeyPairName` will be deprecated.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens: AttachKeyPair', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairId}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' Instance', 'arn' => 'acs:ens::{#accountId}:instance/{#InstanceIds}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairName}'], + ], + ], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '4383', - 'abilityTreeNodes' => [ - 'FEATUREens43DFLD', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xx-xx-xx-xx\\",\\n \\"KeyPairName\\": \\"ssh-xxx\\",\\n \\"FailCount\\": 1,\\n \\"TotalCount\\": 3,\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"InstanceId\\": \\"i-xxx\\",\\n \\"Message\\": \\"successful\\",\\n \\"Success\\": true\\n }\\n ],\\n \\"KeyPairId\\": \\"ssh-xxx\\"\\n}","type":"json"}]', + ], + 'AttachNetworkInterface' => [ + 'summary' => 'Attaches an Elastic Network Interface (ENI) to an Edge Node Service (ECS) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], - 'tenantRelevance' => 'tenant', ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance to be deleted. You can specify only one instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-instance****', - ], + 'schema' => ['description' => 'The ID of the instance', 'type' => 'string', 'required' => true, 'example' => 'i-5p67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => true, 'example' => 'eni-58z57orgmt6d1****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'DependencyViolation.Snapshot', - 'errorMessage' => 'This Instance has dependent Snapshot and cannot be deleted. Please Delete all Snapshot first.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'InvalidEniId.NotFound', 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniServiceManaged', 'errorMessage' => 'The eni is managed by service.', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEniStatus', 'errorMessage' => 'Current eni status does not support this operation. ', 'description' => ''], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEnsStatus', 'errorMessage' => 'Current instance status does not support this operation. ', 'description' => ''], + ['errorCode' => 'InvalidOperation.InstanceNotSupport', 'errorMessage' => 'The specified instance does not support this operation.', 'description' => ''], + ['errorCode' => 'InvalidOperation.NetworkMismatch', 'errorMessage' => 'Specified eni and instance are not in the same network.', 'description' => ''], + ['errorCode' => 'EniPerInstanceLimitExceeded', 'errorMessage' => 'EniPerInstanceLimitExceeded.', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEniType', 'errorMessage' => 'The type of eni does not support this operation. ', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","errorExample":""},{"type":"xml","example":" \\r\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\r\\n \\r\\n ","errorExample":""}]', - 'title' => 'ReleasePostPaidInstance', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ReleasePrePaidInstance' => [ - 'summary' => 'Call ReleasePrePaidInstance to delete a subscription instance.', - 'methods' => [ - 'post', - 'get', + 'title' => 'AttachNetworkInterface', + 'description' => 'When you call this operation, take note of the following limits:'."\n" + ."\n" + .'- The ENI must be in the Available state.'."\n" + ."\n" + .'- An ENI can be attached to only one instance that is the same zone and the same Virtual Private Cloud (VPC).'."\n" + ."\n" + .'- The instance must be in the Stopped state.'."\n" + ."\n" + .'- A maximum of 10 ENIs can be attached to an instance.'."\n" + ."\n" + .'- This operation is an asynchronous operation. After you To attach an ENI, you can view the status of the ENI to check whether the ENI is attached.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachNetworkInterface'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AttachNetworkInterface', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AuthorizeSecurityGroup' => [ + 'summary' => 'Creates an inbound security group rule. This operation allows or denies the inbound traffic from other devices to instances in the security group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '4387', - 'abilityTreeNodes' => [ - 'FEATUREensH8K8NI', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '951', + 'abilityTreeNodes' => ['FEATUREens73ZR6V'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'IpProtocol', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the instance to be deleted. You can specify only one instance ID.'."\n", + 'description' => 'The transport layer protocol. The values of this parameter are case-sensitive. Valid values:'."\n" + ."\n" + .'- tcp'."\n" + ."\n" + .'- udp'."\n" + ."\n" + .'- icmp'."\n" + ."\n" + .'- gre'."\n" + ."\n" + .'- all: All protocols are supported.', 'type' => 'string', 'required' => true, - 'example' => 'i-instance****', + 'enum' => ['tcp', 'udp', 'icmp', 'gre', 'all'], + 'example' => 'all', + 'title' => '', + ], + ], + [ + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => ['description' => 'The range of destination ports that correspond to the transport layer protocol for security group rule N. Valid values:'."\n" + ."\n" + .'- When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => true, 'example' => '22/22', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4ph***', 'title' => ''], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The action of security group rule N that determines whether to allow inbound access. Valid values:'."\n" + ."\n" + .'- accept: allows access.'."\n" + ."\n" + .'- drop: denies access and returns no responses.'."\n" + ."\n" + .'Default value: accept.', + 'type' => 'string', + 'required' => false, + 'default' => 'accept', + 'enum' => ['accept', 'drop'], + 'example' => 'accept', + 'title' => '', ], ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => ['description' => 'The priority of security group rule N. Valid values: **1** to **100**.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => ['description' => 'The source IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.'."\n" + ."\n" + .'This parameter is empty by default.', 'type' => 'string', 'required' => true, 'example' => '10.0.XX.XX/8', 'title' => ''], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => ['description' => 'The range of port numbers that correspond to the transport layer protocol for the source security group. Valid values:'."\n" + ."\n" + .'- When the IpProtocol parameter is set to tcp or udp, the port number range is **1 to 65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => false, 'example' => '22/22', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\r\\n\\r\\n","errorExample":""}]', - 'title' => 'ReleasePrePaidInstance', + 'title' => 'AuthorizeSecurityGroup', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RenewInstance' => [ - 'summary' => 'Renews a subscription instance.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AuthorizeSecurityGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AuthorizeSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AuthorizeSecurityGroupEgress' => [ + 'summary' => 'Creates an outbound security group rule. This operation allows or denies the outbound traffic from the instances in the security group to other devices.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'IpProtocol', 'in' => 'query', 'schema' => [ - 'title' => '需要续费的实例ID。', - 'description' => 'The ID of the instance.'."\n", + 'description' => 'The transport layer protocol. The value of this parameter is case-sensitive. Valid values:'."\n" + ."\n" + .'- tcp'."\n" + ."\n" + .'- udp'."\n" + ."\n" + .'- icmp'."\n" + ."\n" + .'- gre'."\n" + ."\n" + .'- all: All protocols are supported.', 'type' => 'string', 'required' => true, - 'example' => 'i-56789acfmxazb4p****', + 'enum' => ['tcp', 'udp', 'icmp', 'gre', 'all'], + 'example' => 'all', + 'title' => '', ], ], [ - 'name' => 'Period', + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => ['description' => 'The range of destination ports that correspond to the transport layer protocol for security group rule N. Valid values:'."\n" + ."\n" + .'- When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => true, 'example' => '22/22', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4p**** ', 'title' => ''], + ], + [ + 'name' => 'Policy', 'in' => 'query', 'schema' => [ - 'title' => '包年包月续费时长。', - 'description' => 'The renewal duration of the subscription instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - 'enum' => [ - '1', - '2', - '3', - '4', - '5', - '6', - '7', - '8', - '9', - '12', - ], + 'description' => 'The action of the security group rule. Valid values:'."\n" + ."\n" + .'- accept: allows access. This is the default value.'."\n" + ."\n" + .'- drop: denies access and does not return responses.', + 'type' => 'string', + 'required' => false, + 'default' => 'accept', + 'enum' => ['accept', 'drop'], + 'example' => 'accept', + 'title' => '', ], ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => ['description' => 'The priority of security group rule N. Valid values: **1 to 100**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'DestCidrIp', + 'in' => 'query', + 'schema' => ['description' => 'The destination IP addresses. CIDR blocks and IPv4 addresses are supported.'."\n" + ."\n" + .'This parameter is empty by default.', 'type' => 'string', 'required' => true, 'example' => '10.0.XX.XX/8', 'title' => ''], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => ['description' => 'The range of port numbers that correspond to the transport layer protocol for the source security group. Valid values:'."\n" + ."\n" + .'- When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => false, 'example' => '22/22', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => '86A6D421-A0C7-4C01-8648-47377CA6A2CE', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'Interface call error, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86A6D421-A0C7-4C01-8648-47377CA6A2CE\\"\\n}","type":"json"}]', - 'title' => 'RenewInstance', - ], - 'ReinitInstance' => [ - 'summary' => 'Resets an instance based on specific parameters.', - 'methods' => [ - 'post', + 'title' => 'AuthorizeSecurityGroupEgress', + 'description' => 'In the security group-related API documents, outbound traffic refers to the traffic that is sent by the source device and received at the destination device.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AuthorizeSecurityGroupEgress'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AuthorizeSecurityGroupEgress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'BatchEventMigrateInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3343,47 +1844,69 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', + 'operationType' => 'none', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '141090', - 'abilityTreeNodes' => [ - 'FEATUREensD5O7XG', - 'FEATUREens3ELWPT', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '259539', + 'abilityTreeNodes' => ['FEATUREensVRRV1Q'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5vn4n3y4laeb2ii9zxxltlvzi', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the image file that is used to reset the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-5wn1dhz5syoo9b48f440ntvad', - ], - ], - [ - 'name' => 'Password', - 'in' => 'formData', + 'name' => 'EventInfos', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The password of the instance.'."\n" - ."\n" - .'It must be 8 to 30 characters in length. It must include at least three of the following characters types: uppercase letters, lowercase letters, digits, and special characters. The following special character are supported: `()\'~! @#$%^&*-_+={}[]:;\'<>,.?/`'."\n", - 'type' => 'string', + 'description' => 'A list of events.', + 'type' => 'array', + 'items' => [ + 'description' => 'An event object.', + 'type' => 'object', + 'properties' => [ + 'EventId' => ['description' => 'The event ID. The ID must be in the `e-*` format.', 'type' => 'string', 'required' => true, 'example' => 'e-d71ff150945b9c02eb6ebc0016328468'."\n", 'title' => ''], + 'ResourceId' => ['description' => 'The resource ID. The ID must be in the `i-*` format.', 'type' => 'string', 'required' => true, 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", 'title' => ''], + 'PlanTime' => ['description' => 'The scheduled execution time as a Unix timestamp in milliseconds. This parameter is required if you set `OpsType` to `scheduled`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1742452232000', 'title' => ''], + 'OpsType' => [ + 'description' => 'The operation type. Valid values:'."\n" + ."\n" + .'- `immediate`: Executes the migration immediately.'."\n" + ."\n" + .'- `scheduled`: Schedules the migration for the time specified by the `PlanTime` parameter.', + 'type' => 'string', + 'required' => true, + 'example' => 'immediate', + 'default' => 'immediate', + 'enum' => ['immediate', 'scheduled'], + 'title' => '', + ], + 'DataPolicy' => [ + 'description' => 'The data migration policy. Valid values:'."\n" + ."\n" + .'- `abandon`: Do not migrate data. This is the default value.'."\n" + ."\n" + .'- `force_transfer`: Forcibly migrates data.'."\n" + ."\n" + .'- `try_transfer`: Attempts to migrate data.', + 'type' => 'string', + 'example' => 'abandon', + 'default' => 'abandon', + 'enum' => ['abandon', 'force_transfer', 'try_transfer'], + 'required' => false, + 'title' => '', + ], + 'Password' => ['description' => 'The instance password. This parameter is optional. If this parameter is omitted, the system generates a random password.'."\n" + ."\n" + .'The password must be 8 to 30 characters long and contain uppercase and lowercase letters, and digits.'."\n" + ."\n" + .'Note: Passwords cannot be specified for scheduled executions.', 'type' => 'string', 'maxLength' => 30, 'minLength' => 8, 'required' => false, 'example' => 'AAaa1234', 'title' => ''], + 'PlanUtcTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '***', + 'title' => '', + 'example' => '', ], ], ], @@ -3391,129 +1914,320 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C46C79B7-0C31-5947-9D86-82207661EADA', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'FF53E96D-3F1A-42F0-8373-1C2B39D72D44'], + 'Results' => [ + 'description' => 'A list of results.', + 'type' => 'array', + 'items' => [ + 'description' => 'A result object.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'EventId' => ['description' => 'The event ID.', 'type' => 'string', 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', 'title' => ''], + 'Message' => ['description' => 'The error message returned if `Code` is not `200`.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46C79B7-0C31-5947-9D86-82207661EADA\\"\\n}","type":"json"}]', - 'title' => 'ReinitInstance', - ], - 'ModifyInstanceAttribute' => [ - 'summary' => 'Changes the attributes of an instance, such as the name and the password.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'BatchEventMigrateInstance', + 'summary' => 'Migrates multiple instances affected by specified events, either immediately or at a scheduled time.', + 'description' => '## Description'."\n" + ."\n" + .'- This operation currently supports only the `Instance:SystemUpgrade.Migrate` event type. This event is triggered when an instance must be migrated due to an underlying system upgrade.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchEventMigrateInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:BatchEventMigrateInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FF53E96D-3F1A-42F0-8373-1C2B39D72D44\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"Message\\": \\"success\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'BatchEventRebootInstance' => [ + 'path' => '/', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '4384', - 'abilityTreeNodes' => [ - 'FEATUREensQTKG0K', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREensVRRV1Q'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance for which you want to modify attributes. You can specify only one ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-instanc****', - ], - ], - [ - 'name' => 'Password', + 'name' => 'EventInfos', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The password of the instance.'."\n", - 'type' => 'string', + 'description' => 'A list of objects, where each object specifies an Event and the associated Resource to reboot.', + 'type' => 'array', + 'items' => [ + 'description' => 'An object that contains the details of a single Event and its associated Resource.', + 'type' => 'object', + 'properties' => [ + 'EventId' => ['description' => 'The ID of the System Event.', 'type' => 'string', 'required' => false, 'example' => 'e-4452cec5a8f8eb9b2879a054207687d6', 'title' => ''], + 'ResourceId' => ['description' => 'The ID of the Resource to be rebooted.', 'type' => 'string', 'required' => false, 'example' => 'n-54hi3ffi63zrjt4wzx9mepeyh', 'title' => ''], + 'PlanTime' => ['description' => 'The scheduled execution time, specified as a Timestamp in milliseconds. This parameter is required when `OpsType` is `scheduled`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1742452232000', 'title' => ''], + 'OpsType' => ['description' => 'The type of Operation. Valid values:'."\n" + ."\n" + .'- `immediate`: Executes the operation immediately.'."\n" + ."\n" + .'- `scheduled`: Executes the Operation at the time specified by `PlanTime`.', 'type' => 'string', 'required' => false, 'example' => 'immediate', 'title' => ''], + 'PlanUtcTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'yourPassword', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InstanceName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the instance.'."\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://`. The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-instanceidname', - ], + 'title' => 'Schema of Response', + 'description' => 'The response object.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'Results' => [ + 'description' => 'The results for each Operation performed on a Resource.', + 'type' => 'array', + 'items' => [ + 'description' => 'The result for a single Resource.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The Status Code for the Operation. A value of `200` indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'EventId' => ['description' => 'The ID of the System Event.', 'type' => 'string', 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', 'title' => ''], + 'Message' => ['description' => 'The returned message. If the Status Code is `200`, the message is `success`.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResourceId' => ['description' => 'The ID of the Resource.', 'type' => 'string', 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'BatchEventRebootInstance', + 'summary' => 'Reboots a batch of specified resources for associated events, either immediately or at a scheduled time.', + 'description' => '- This operation applies only to `Instance:SystemMaintenance.Reboot` events, which are system maintenance events that require an Instance reboot.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'HostName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the Elastic Compute Service (ECS) instance. The value can be 2 to 64 characters in length. You can use periods (.) to separate the value into multiple segments. Each segment can contain letters, digits, hyphens (-), and periods. Consecutive periods or hyphens are not allowed. The name cannot start or end with a period (.) or a hyphen (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testHostName', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:BatchEventRebootInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"Message\\": \\"success\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'BatchEventRedeployInstance' => [ + 'summary' => 'An event to batch redeploy specified resources immediately or on a schedule.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensVRRV1Q'], + ], + 'parameters' => [ [ - 'name' => 'UserData', + 'name' => 'EventInfos', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The user data of the instance. User data must be encoded in Base64.'."\n" - ."\n" - .'The size of your UserData cannot exceed 16 KB. We recommend that you do not pass in confidential information such as passwords and private keys in the plaintext format. If you must pass in confidential information, we recommend that you encrypt and Base64-encode the information before you pass it in. Then you can decode and decrypt the information in the same way within the instance.'."\n", - 'type' => 'string', + 'description' => 'List of events.', + 'type' => 'array', + 'items' => [ + 'description' => 'Event.', + 'type' => 'object', + 'properties' => [ + 'EventId' => ['description' => 'System event ID.', 'type' => 'string', 'required' => false, 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', 'title' => ''], + 'ResourceId' => ['description' => 'Resource ID.', 'type' => 'string', 'required' => false, 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", 'title' => ''], + 'PlanTime' => [ + 'description' => 'Scheduled execution time as a UNIX timestamp in milliseconds. This field is required when OpsType=scheduled.', + 'enumValueTitles' => ['immediate' => 'immediate', 'scheduled' => 'scheduled'], + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => 'immediate', + 'title' => '', + ], + 'OpsType' => ['description' => 'O\\&M task type. Valid values:'."\n" + ."\n" + .'- immediate: Execute immediately.'."\n" + ."\n" + .'- scheduled: Execute at a scheduled time.', 'type' => 'string', 'required' => false, 'example' => '1742452232000', 'title' => ''], + 'PlanUtcTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgK****', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Return value.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + 'Results' => [ + 'description' => 'List of results.', + 'type' => 'array', + 'items' => [ + 'description' => 'Result.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'Status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'EventId' => ['description' => 'System event ID.', 'type' => 'string', 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', 'title' => ''], + 'Message' => ['description' => 'Operation message. When Code=200, Message is "success".', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResourceId' => ['description' => 'Resource ID.', 'type' => 'string', 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Batch Deploy Instances', + 'description' => '- This O\\&M operation currently supports only the following event types: Instance:SystemFailure.Redeploy (instance redeployment due to system failure) and Instance:SystemMaintenance.Redeploy (instance redeployment due to system maintenance).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchEventRedeployInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:BatchEventRedeployInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"Message\\": \\"success\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'CopySDG' => [ + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'DeletionProtection', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ + [ + 'name' => 'SDGId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SDG that you want to copy.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxx', 'title' => ''], + ], + [ + 'name' => 'DestinationRegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'boolean', - 'required' => false, + 'description' => 'The destination nodes.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the destination node.', 'type' => 'string', 'required' => false, 'example' => 'cn-foshan-4', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], ], @@ -3522,95 +2236,146 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'XXX-XXX-XXX', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data object.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details of failed nodes.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ErrorMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'region not found', 'title' => ''], + 'DestinationRegionId' => ['description' => 'The ID of the destination node.', 'type' => 'string', 'example' => 'cn-hangzhou-xxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessCount' => ['description' => 'The number of successful nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- **true**: All tasks are successful.'."\n" + ."\n" + .'- **false**: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter InstanceId that is not found.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidDeletionAppointmentNotSupported', - 'errorMessage' => 'The scheduled release time of the current instance is set to prohibit this operation.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n","errorExample":""}]', - 'title' => 'ModifyInstanceAttribute', - 'description' => '* If an instance is in the Starting state, you cannot reset the password of the instance.'."\n" - .'* When the instance is in the Running state, you cannot change the password of the instance.'."\n" - .'* After resetting the password, you must Restart the instance in the ECS console or call the RebootInstance operation to validate the modifications. The restart operation within the instance does not validate the modifications.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ModifyPrepayInstanceSpec' => [ - 'summary' => 'Upgrades or downgrades the instance type of a subscription Edge Node Service (ENS) instance. The new instance type takes effect for the remaining lifecycle of the instance.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CopySDG', + 'summary' => 'Copies a shared data group (SDG) across nodes.', + 'changeSet' => [ + ['createdAt' => '2024-03-22T07:11:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-02-28T01:27:17.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CopySDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:CopySDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"XXX-XXX-XXX\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrorMessage\\": \\"region not found\\",\\n \\"DestinationRegionId\\": \\"cn-hangzhou-xxx\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'CopySnapshot' => [ + 'summary' => 'Copies a Snapshot across Nodes.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREensTASVEV'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the source Snapshot.', 'type' => 'string', 'required' => true, 'example' => 'sp-bp1c0doj0taqyzzl****', 'title' => ''], + ], + [ + 'name' => 'DestinationRegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '变配实例id', - 'description' => 'The ID of the instance that you want to upgrade or downgrade.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp67acfmxazb4p****', + 'description' => 'The IDs of the destination Nodes.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a destination Node.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou-26,cn-hangzhou-27', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceType', + 'name' => 'DestinationSnapshotName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the destination Snapshot. The name must be 2 to 128 characters long. It must start with a letter or a Chinese character and cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'testSnapshotName', 'title' => ''], + ], + [ + 'name' => 'DestinationSnapshotDescription', + 'in' => 'query', + 'schema' => ['description' => 'The description of the destination Snapshot. The description must be 2 to 256 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testDescription', 'title' => ''], + ], + [ + 'name' => 'InstanceBillingCycle', 'in' => 'query', 'schema' => [ - 'title' => '更新的配置', - 'description' => 'The updated configuration.'."\n", 'type' => 'string', + 'enum' => ['Hour', 'Day', 'Month'], + 'description' => '', 'required' => false, - 'example' => 'ens.sn1.tiny', + 'title' => '', + 'example' => '', ], ], ], @@ -3618,800 +2383,566 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'FD94C8E8-128E-525C-A0C3-60E063B70330', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The unique ID for the request.', 'type' => 'string', 'example' => 'EA3758E0-8899-17D3-9526-5F62CF33A586'], + 'AllocationId' => [ + 'description' => 'A list of Snapshots that were created successfully.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the Node.', 'type' => 'string', 'example' => 'cn-hangzhou-27', 'title' => ''], + 'InstanceId' => [ + 'description' => 'The IDs of the Snapshots created on the Node.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a Snapshot.', 'type' => 'string', 'example' => 'e426409223', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'BizStatusCode' => ['description' => 'The business status of the operation. Valid values:'."\n" + ."\n" + .'- **PartSuccess**: The operation was partially successful.'."\n" + ."\n" + .'- **AllSuccess**: The operation was successful.', 'type' => 'string', 'example' => 'PartSuccess', 'title' => ''], + 'UnAllocationId' => [ + 'description' => 'A list of Nodes where Snapshot creation failed.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the Node.', 'type' => 'string', 'example' => 'cn-chengdu-26', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'ENS_SERVICE_ARREARAGE', 'errorMessage' => '用户欠费', 'description' => ''], + ['errorCode' => 'Order.CreateFailed', 'errorMessage' => 'Failed to create order. Please check your parameters and try it again.', 'description' => 'Failed to create the order.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CopySnapshot', + 'changeSet' => [ + ['createdAt' => '2025-06-04T01:30:54.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-06-28T06:18:30.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-01-24T05:37:07.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CopySnapshot'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CopySnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FD94C8E8-128E-525C-A0C3-60E063B70330\\"\\n}","type":"json"}]', - 'title' => 'ModifyPrepayInstanceSpec', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EA3758E0-8899-17D3-9526-5F62CF33A586\\",\\n \\"AllocationId\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-hangzhou-27\\",\\n \\"InstanceId\\": [\\n \\"e426409223\\"\\n ]\\n }\\n ],\\n \\"BizStatusCode\\": \\"PartSuccess\\",\\n \\"UnAllocationId\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chengdu-26\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'ModifyInstanceAutoRenewAttribute' => [ - 'summary' => 'Configures auto-renewal for instances.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateARMServerInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '1469', - 'abilityTreeNodes' => [ - 'FEATUREensVJ32Z2', - ], - 'tenantRelevance' => 'tenant', + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREensIXQ4JD'], ], 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'PayType', 'in' => 'query', 'schema' => [ - 'description' => 'The IDs of the instances. Separate IDs with semicolons (;).'."\n", + 'description' => 'The payment type. The only valid value is **PrePaid**.'."\n" + ."\n" + .'> This service supports only the subscription (pre-paid) payment type.', 'type' => 'string', 'required' => true, - 'example' => 'instance-test', + 'enum' => ['PrePaid', 'PostPaid'], + 'title' => '', + 'example' => 'PrePaid', ], ], [ - 'name' => 'AutoRenew', + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-guiyang-12'], + ], + [ + 'name' => 'ServerType', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to enable the auto-renewal feature. Valid values: **True and False**. Default value: False.'."\n", + 'description' => 'The server type. Valid values:'."\n" + ."\n" + .'- cas.cf53r'."\n" + ."\n" + .'- cas.cf52r'."\n" + ."\n" + .'- cas.cf52m1r'."\n" + ."\n" + .'- cas.tg52g2'."\n" + ."\n" + .'- ens.afq-c2m3i.medium', 'type' => 'string', 'required' => true, - 'example' => 'false', + 'enum' => [], + 'title' => '', + 'example' => ' cas.cf53r', ], ], [ - 'name' => 'Duration', + 'name' => 'InstanceType', 'in' => 'query', 'schema' => [ - 'description' => 'The auto-renewal period of the instance. Unit: months. Valid values: 1 to 9 and 12. This parameter is required if the AutoRenew parameter is set to true.'."\n", + 'description' => 'The instance type for the AIC. Valid values:'."\n" + ."\n" + .'- aic.cf52r.c1.np'."\n" + ."\n" + .'- aic.cf52r.c2.np'."\n" + ."\n" + .'- aic.cf53r.c2.np'."\n" + ."\n" + .'- aic.cf52r.c4.np'."\n" + ."\n" + .'- aic.cf53r.c3.np'."\n" + ."\n" + .'- aic.cf52r.c3.np'."\n" + ."\n" + .'- aic.cf53r.c1.np'."\n" + ."\n" + .'- aic.cf53r.c5.np'."\n" + ."\n" + .'- aic.cf53r.c6'."\n" + ."\n" + .'- aic.cf53r.c4.np'."\n" + ."\n" + .'- aic.cf53r.c6.np'."\n" + ."\n" + .'- aic.cf53r.c7.np'."\n" + ."\n" + .'- aic.cf52m1r.c5.np'."\n" + ."\n" + .'- aic.cf53r.c8.np'."\n" + ."\n" + .'- aic.cf53r.c7'."\n" + ."\n" + .'- aic.cf52m1r.c2.np'."\n" + ."\n" + .'- aic.cf52m1r.c1.np'."\n" + ."\n" + .'- aic.cf52m1r.c3.np'."\n" + ."\n" + .'- aic.cf52m1r.c4.np'."\n" + ."\n" + .'- aic.cf52m1r.c6'."\n" + ."\n" + .'- ens.a6c2', + 'enumValueTitles' => [], 'type' => 'string', - 'required' => false, - 'example' => '12', + 'required' => true, + 'enum' => [], + 'title' => '', + 'example' => 'aic.cf53r.c6.np', ], ], [ - 'name' => 'RenewalStatus', + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'yourImage ID'], + ], + [ + 'name' => 'Resolution', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to renew the instance. The **RenewalStatus** parameter has a higher priority than the **AutoRenew** parameter. If you do not specify **RenewalStatus**, the **AutoRenew** parameter is used by default.'."\n" + 'description' => 'The resolution. Valid values:'."\n" + ."\n" + .'- 1920\\*864'."\n" ."\n" - .'* AutoRenewal: Auto-renewal is enabled for the instance.'."\n" - .'* Normal: Auto-renewal is disabled for the instance.'."\n" - .'* NotRenewal: The instance is not renewed.'."\n" + .'- 1080\\*1920'."\n" ."\n" - .'The system no longer sends an expiration notification but sends only a renewal notification three days before the instance expires. To renew the instance, you can change the value of this parameter from NotRenewal to Normal and then manually renew the instance, or change the value of this parameter from NotRenewal to AutoRenewal.'."\n", + .'- 1920\\*1080'."\n" + ."\n" + .'- 720\\*1280'."\n" + ."\n" + .'- 2400\\*1080'."\n" + ."\n" + .'- 1080\\*2400'."\n" + ."\n" + .'- 1280\\*720'."\n" + ."\n" + .'- 864\\*1920', + 'enumValueTitles' => [], 'type' => 'string', - 'required' => false, - 'example' => 'Normal', + 'required' => true, + 'enum' => ['1920*1080', '1080*1920', '1280*720', '720*1280', '2400*1080', '1920*864', '1080*2400', '864*1920'], + 'title' => '', + 'example' => '720*1280', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'Frequency', + 'in' => 'query', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4DD66F05-3116-4BAA-B588-52EB2E7F431D', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'description' => 'The refresh rate in hertz (Hz). Valid values: 30 and 60.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + 'default' => '30', + 'enum' => ['30', '60', '120'], + 'required' => false, + 'title' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"EA3758E0-8899-17D3-9526-5F62CF33A586\\"\\n}","type":"json"}]', - 'title' => 'ModifyInstanceAutoRenewAttribute', - ], - 'AttachEnsInstances' => [ - 'summary' => 'Adds an Edge Node Service (ENS) instance to Container Service for Kubernetes (ACK).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'TestKeyPairName'], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'Amount', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance. You can specify only one instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testInstacneId', - ], + 'schema' => ['description' => 'The number of instances to create. Valid range: **1** to **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '10', 'minimum' => '1', 'title' => '', 'example' => '1'], ], [ - 'name' => 'Scripts', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that you want to execute on the instance. The command must be encoded in Base64 or UTF-8.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'wget d2dldCBodHRwOi8vYWxpYWNzLWs4cy1jbxxxx', - ], + 'schema' => ['description' => 'The subscription duration. The valid values for this parameter depend on the `PeriodUnit` parameter.'."\n" + ."\n" + .'- If `PeriodUnit` is `Month`, valid values are 1–9 and 12.'."\n" + ."\n" + .'- If `PeriodUnit` is `Day`, the value must be 3.'."\n" + ."\n" + .'- If PeriodUnit is Month, Period can be a value from 1 to 9, or 12.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - ], - 'description' => '', - ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => ['description' => 'The time unit for the subscription duration. Valid values:'."\n" + ."\n" + .'- `Month` (default)'."\n" + ."\n" + .'- `Day`'."\n" + ."\n" + .'- If PeriodUnit is Monthc, Period can be an integer from 1 to 9, or 12.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Month'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'ServiceConfigInvalid', - 'errorMessage' => 'The specified InstanceType is not support.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'StockNotEnough', - 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', - ], - [ - 'errorCode' => 'IllegalInsatanceSpec', - 'errorMessage' => 'The specified Instance Spec is illegal.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically renew the subscription when it expires. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false (Default)', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\r\\n\\r\\n","errorExample":""}]', - 'title' => 'AttachEnsInstances', - 'description' => '# [](#)Usage notes'."\n" - ."\n" - .'* You can call this operation up to 10 times per second per account.'."\n" - .'* After you execute the command, the instance restarts loading.'."\n" - .'* Limits: The instance has at least two vCPUs and 4 GB memory. An image of CentOS 7.4 or later is required.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RebootInstance' => [ - 'summary' => 'Reboots an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'NameSpace', + 'in' => 'query', + 'schema' => ['description' => 'The namespace of the instance.', 'type' => 'string', 'default' => 'default', 'required' => false, 'example' => 'pre', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '1220', - 'abilityTreeNodes' => [ - 'FEATUREensI1ZRKE', + [ + 'name' => 'ServerName', + 'in' => 'query', + 'schema' => ['description' => 'The server name.', 'type' => 'string', 'maxLength' => 255, 'minLength' => 0, 'required' => false, 'example' => 'AIC-Server', 'title' => ''], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'AutoUseCoupon', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically apply a coupon to the purchase. Valid values:'."\n" + ."\n" + .'- true: A coupon is automatically applied.'."\n" + ."\n" + .'- false (Default): A coupon is not applied.', 'type' => 'boolean', 'default' => 'true', 'title' => '', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'EnvironmentVar', + 'in' => 'query', + 'schema' => ['description' => 'The environment variables for the instance, specified in JSON format.', 'type' => 'string', 'required' => false, 'example' => '[object Object]', 'title' => ''], + ], + [ + 'name' => 'Cidr', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the instance that you want to reboot. You can specify only one instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-instanceid****', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'maxItems' => 100, + 'required' => false, + 'description' => 'The tags to add to the instance. Each tag is a key-value pair.', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ForceStop', + 'name' => 'InstanceBillingCycle', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to forcefully stop the instance before you restart it.'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default)'."\n", 'type' => 'string', 'required' => false, - 'example' => 'true', - 'enum' => [ - 'true', - 'false', - ], + 'enum' => ['Hour', 'Day'], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'OrderId' => ['description' => 'The order ID.', 'type' => 'string', 'example' => '212630314490***', 'title' => ''], + 'InstanceIds' => [ + 'description' => 'The IDs of the ARM server instances that are created.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an ARM server instance.', 'type' => 'string', 'example' => 'cas-instance****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'EnsNodeStockIsNotEnough', 'errorMessage' => 'Insufficient inventory of purchased resources.', 'description' => 'Insufficient inventory of purchased resources'], + ['errorCode' => 'InvalidParameterEnsRegionId', 'errorMessage' => 'The entered node information is invalid. Please enter the correct node information.', 'description' => 'The entered node information is invalid. Please enter the correct node information.'], + ['errorCode' => 'InvalidImageIdNotFound', 'errorMessage' => 'The image information entered is invalid. Please re-enter valid image information.', 'description' => 'The image information entered is invalid. Please re-enter valid image information.'], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidCidr', 'errorMessage' => 'the cidr information filled in is illegal, please re-match.', 'description' => 'the cidr information filled in is illegal, please re-match'], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'CreateARMServerInstances', + 'summary' => 'Creates ARM server instances.', + 'changeSet' => [ + ['createdAt' => '2025-07-02T07:02:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-05-08T08:42:18.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-01T11:21:16.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-11-05T12:12:57.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-19T11:59:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-13T05:42:30.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-05-22T06:50:30.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-11-14T01:37:12.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-10-11T03:32:30.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-08-21T02:12:08.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-08-17T09:41:48.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-26T07:53:19.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-08T01:27:48.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-28T06:18:06.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateARMServerInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateARMServerInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'RebootInstance', - 'description' => '* Only instances that are in the Running state can be restarted.'."\n" - .'* If the operation is successful, the status of the instance becomes Starting.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"OrderId\\": \\"212630314490***\\",\\n \\"InstanceIds\\": [\\n \\"cas-instance****\\"\\n ]\\n}","type":"json"}]', ], - 'StartInstance' => [ - 'summary' => 'Starts an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateApplication' => [ + 'summary' => 'Creates an edge application that allows you to manage Edge Node Service (ENS) nodes in containers, bare metal instances, and virtual machines.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'Template', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance. You can start only one instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-instance****', - ], + 'schema' => ['description' => 'The edge application template. The value must be a JSON string that contains the following information:'."\n" + ."\n" + .'- Basic information such as the name of the application'."\n" + ."\n" + .'- Information such as resource specifications and network security configurations'."\n" + ."\n" + .'- Service specifications'."\n" + ."\n" + .'- Required resources', 'type' => 'string', 'example' => '{\\"appMetaData\\":{        \\"appName\\":\\"nginx\\",        \\"clusterName\\":\\"poc\\",        \\"appType\\":\\"Common\\",        \\"description\\":\\" test service\\"    },    \\"resourceAttribute\\":{        \\"resourceType\\":\\"\\",        \\"instanceSpec\\":\\"ens.sn1.tiny\\",        \\"systemDiskSize\\":20,        \\"dataDiskSize\\":0,        \\"bandwithOut\\":10,        \\"areaLevel\\":\\"National\\",        \\"netSecurityStrategy\\":null,        \\"initConfig\\":null    },    \\"resourceSelector\\":[        {            \\"count\\":1        }    ],    \\"workload\\":[        {            \\"podCount\\":1,            \\"serviceConfig\\":null,            \\"name\\":\\"nginx\\",            \\"podSpec\\":{                \\"containers\\":[                    {                        \\"name\\":\\"android\\",                        \\"image\\":\\"edge-registry.alicdn.com/test/nginx\\"                    }                ]            },            \\"count\\":1        }    ]}', 'required' => true, 'title' => ''], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for asynchronous processing. Unit: seconds. Default value: 1800.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800', 'title' => ''], ], ], 'responses' => [ @@ -4419,10377 +2950,1558 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'AppId' => ['description' => 'The ID of the application. This is the unique identifier of the edge application.', 'type' => 'string', 'example' => 'd0639abf-789a-4527-b420-031d2cd9ad9b', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'StartInstance', - 'description' => '* You can call the operation only when the instance is in the Stopped state.'."\n" - .'* If the operation is successful, the status of the instance becomes Starting.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StopInstance' => [ - 'summary' => 'Stops an instance.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AppId\\": \\"d0639abf-789a-4527-b420-031d2cd9ad9b\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + 'title' => 'CreateApplication', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:44.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateApplication'], + ], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '2289', - 'abilityTreeNodes' => [ - 'FEATUREensI1ZRKE', + 'translator' => 'manual', + ], + 'CreateClassicNetwork' => [ + 'summary' => 'Creates a classic network', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], - 'tenantRelevance' => 'tenant', ], + 'deprecated' => false, + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance that you want to stop. You can specify only one instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-instanceid****', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => true, 'example' => 'cn-chengdu-xxxx-4', 'title' => ''], ], [ - 'name' => 'ForceStop', + 'name' => 'CidrBlock', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly stop the instance.'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - 'enum' => [ - 'true', - 'false', - ], - ], + 'schema' => ['description' => 'The CIDR block of the network. You can use one of the following CIDR blocks or their subnets as the CIDR block of the network:'."\n" + ."\n" + .'- 10.0.0.0/8 (default)'."\n" + ."\n" + .'- 172.16.0.0/12'."\n" + ."\n" + .'- 192.168.0.0/16', 'type' => 'string', 'required' => true, 'example' => '10.0.0.0/16', 'title' => ''], + ], + [ + 'name' => 'NetworkName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the network. The name must meet the following requirements:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + ."\n" + .'- The name must start with a letter but cannot start with http\\:// or https\\://.'."\n" + ."\n" + .'- The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'example', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the network. The name must be 2 to 256 characters in length. It must start with a letter but cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'This is my vswitch.', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '1A004E06-AC1B-5806-BA5E-41AB6B02DE83'], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5s9ayrxsd9hszrlt5fgv2****', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => ''], + ['errorCode' => 'InvalidParameter.CidrBlock', 'errorMessage' => 'The specified parameter CidrBlock is invalid. ', 'description' => ''], + ['errorCode' => 'Network.QuotaExceeded', 'errorMessage' => 'Network quota exceeded', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API. ', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'MissingParameter', 'description' => ''], + ['errorCode' => 'InvalidEnsRegionId.NotFound', 'errorMessage' => 'The input parameter ensRegionId that is not found. ', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'StopInstance', - 'description' => '* You can call this operation to stop instances that are only in the Running state.'."\n" - .'* If the call is successful, the state of the instance becomes Stopping.'."\n" - .'* Once the instance is stopped, the state of the instance becomes Stopped.'."\n" - .'* Force stop is supported, which is equivalent to power-off. Data that is not written to disks on the instance may be lost.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AddNetworkInterfaceToInstance' => [ - 'summary' => 'Adds an IPv6 network interface controller (NIC). A public IP address is automatically assigned at the same time.', - 'methods' => [ - 'post', - 'get', + 'title' => 'CreateClassicNetwork', + 'changeSet' => [ + ['createdAt' => '2022-06-16T02:28:48.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateClassicNetwork'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:CreateClassicNetwork', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1A004E06-AC1B-5806-BA5E-41AB6B02DE83\\",\\n \\"NetworkId\\": \\"n-5s9ayrxsd9hszrlt5fgv2****\\"\\n}","type":"json"}]', + ], + 'CreateCluster' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'abilityTreeCode' => '907', - 'abilityTreeNodes' => [ - 'FEATUREensVJ32Z2', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensWT1XPU'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'yourInstance ID', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The name of the cluster.', 'type' => 'string', 'required' => false, 'example' => 'mycluster-1'], ], [ - 'name' => 'Networks', + 'name' => 'ClusterType', 'in' => 'query', - 'schema' => [ - 'description' => 'The network. The value is a JSON string. Only IPv6 is supported. Sample code of an IPv6 network: \\[{ "ipType": "public", "ipAddressType": "ipv6" }]'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '[{"ipType": "public", "ipAddressType": "ipv6" }]', - ], + 'schema' => ['title' => 'Kubernetes or ManagedKubernetes. The former refers to an ECK cluster, and the latter refers to a serverless VC cluster. This parameter must be used together with the profile parameter.', 'description' => 'Valid values: Kubernetes or ManagedKubernetes. Kubernetes indicates an ECK cluster. ManagedKubernetes indicates a serverless virtual cluster (VC). This parameter must be used with the Profile parameter.', 'type' => 'string', 'required' => true, 'example' => 'Kubernetes'], ], [ - 'name' => 'AutoStart', + 'name' => 'Profile', + 'in' => 'query', + 'schema' => ['title' => 'Default or Serverless. The former refers to an ECK cluster, and the latter refers to a serverless VC. '."\n" + .'This parameter must be used together with the cluster_type parameter.', 'description' => 'Valid values: Default or Serverless. Default indicates an ECK cluster. Serverless indicates a serverless VC. This parameter must be used with the ClusterType parameter.', 'type' => 'string', 'required' => true, 'example' => 'Default'], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['title' => 'The ENS Region ID where the cluster is located. ', 'description' => 'The ID of the ENS region where the cluster is located.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], + ], + [ + 'name' => 'KubernetesVersion', + 'in' => 'query', + 'schema' => ['title' => 'Cluster version, aligned with the Kubernetes community baseline version. We recommend selecting the latest version. If not specified, the latest version is used by default.', 'description' => 'The cluster version. This must be consistent with the Kubernetes community baseline version. Select the latest version. If you do not specify this parameter, the latest version is used by default.', 'type' => 'string', 'required' => false, 'example' => '1.32.1'], + ], + [ + 'name' => 'VpcId', 'in' => 'query', + 'schema' => ['title' => 'The virtual private cloud (VPC) used by the cluster.', 'description' => 'The virtual private cloud (VPC) used by the cluster.', 'type' => 'string', 'example' => 'vpc-xxxx', 'required' => false], + ], + [ + 'name' => 'VswitchIds', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to automatically restart the instance.'."\n", - 'type' => 'boolean', + 'description' => 'The IDs of the virtual switches that contain the cluster nodes. The virtual switches must be in the ENS region specified by \\`ens\\_region\\_id\\`.', + 'title' => 'The IDs of the virtual switches where the cluster nodes are located. The ENS region of the vSwitch IDs must match the ens_region_id.', + 'type' => 'array', + 'items' => ['title' => 'List of virtual switch IDs', 'description' => 'A list of virtual switch IDs.', 'type' => 'string', 'example' => 'vsw-xxxxxxxxx', 'required' => false], 'required' => false, - 'example' => 'true', - 'default' => 'false', + 'example' => '["vsw-xxx", "vsw-yyy"]', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'PodVswitchIds', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', + 'minItems' => 0, + 'maxItems' => 64, + 'docRequired' => false, + 'description' => 'Each pod virtual switch corresponds to a worker node virtual switch. The zones of the pod virtual switches and the worker node virtual switches must be the same. If you do not specify this parameter, the value of VswitchIds is used by default.', + 'title' => 'Each pod virtual switch corresponds to a worker node virtual switch. The zones of the pod virtual switches must match those of the corresponding worker node virtual switches. If this parameter is not specified, the vswitch_ids are used by default.', + 'type' => 'array', + 'items' => ['title' => 'List of virtual switch IDs ', 'description' => 'A list of pod virtual switch IDs.', 'type' => 'string', 'example' => 'vsw-xxxxxxxx', 'required' => false], + 'required' => false, + 'example' => '', ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], + [ + 'name' => 'ContainerCidr', + 'in' => 'query', + 'schema' => ['title' => 'Pod network CIDR block. It must be a valid private CIDR block—specifically, one of the following ranges or their subnets: 10.0.0.0/8, 172.16.0.0–172.31.0.0/12–16, or 192.168.0.0/16. This CIDR block must not overlap with those used by the VPC or any existing Kubernetes clusters within the VPC. It cannot be modified after successful cluster creation.', 'description' => 'The pod CIDR block. It must be a valid private CIDR block, such as 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16, or their subnets. The CIDR block cannot overlap with the VPC CIDR block or the CIDR blocks of existing Kubernetes clusters in the VPC. This parameter cannot be changed after the cluster is created.', 'type' => 'string', 'example' => '172.20.0.0/16', 'required' => false], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\r\\n","errorExample":""}]', - 'title' => 'AddNetworkInterfaceToInstance', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 5 times per second per user.'."\n" - .'* Internal networks and IPv4 addresses are not supported.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeAvailableResource' => [ - 'summary' => 'Queries the resources that can be created.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ServiceCidr', + 'in' => 'query', + 'schema' => ['title' => 'The Service CIDR block. Valid ranges: 10.0.0.0/16–24, 172.16–31.0.0/16–24, and 192.168.0.0/16–24. This CIDR block must not overlap with the VPC CIDR block 10.1.0.0/21 or any CIDR blocks already used by other Kubernetes clusters in the VPC. It cannot be modified after the cluster is created.', 'description' => 'The CIDR block for the service must be within one of the following ranges: 10.0.0.0/16-24, 172.16-31.0.0/16-24, or 192.168.0.0/16-24. The CIDR block cannot overlap with the VPC CIDR block 10.1.0.0/21 or the CIDR blocks of existing Kubernetes clusters in the VPC. This setting cannot be changed after the cluster is created.', 'type' => 'string', 'example' => '172.19.0.0/20', 'required' => false], ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '1519', - 'abilityTreeNodes' => [ - 'FEATUREensRIM251', + [ + 'name' => 'PublicAccess', + 'in' => 'query', + 'schema' => ['title' => 'Specifies whether to enable public network access. The API Server is exposed through elastic IP addresses (EIPs) to enable public network access to the cluster. '."\n" + .'● true: Enables public network access. '."\n" + .'● false: Disables public network access. If disabled, the cluster API Server cannot be accessed from the Internet. '."\n" + .'Default Value: false. ', 'description' => 'Specifies whether to enable public network access. The API server is exposed through elastic IP addresses (EIPs) to allow public network access to the cluster. ● true: Enables public network access. ● false: Disables public network access. If you disable public network access, you cannot access the cluster API server from the internet. Default value: false.', 'type' => 'boolean', 'example' => 'true', 'default' => 'false', 'required' => false], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['title' => 'The CLB instance ID used for API server access. If this parameter is specified, the system will not automatically create a CLB instance for the API server.', 'description' => 'The ID of the Classic Load Balancer (CLB) instance used for API server access. If you specify this parameter, a CLB instance for the API server is not automatically created.', 'type' => 'string', 'example' => 'lb-wz9t256gqa3vbouk****', 'required' => false], + ], + [ + 'name' => 'ControlPlaneConfig', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The control plane configuration.', + 'title' => 'Control plane configuration', + 'type' => 'object', + 'properties' => [ + 'InstanceSpec' => ['title' => 'Instance type of nodes', 'description' => 'Specifies the instance type for the node.', 'type' => 'string', 'example' => 'ens.esk.sn1.medium', 'required' => false], + 'ImageId' => ['title' => 'Virtual machine image ID for the control plane', 'description' => 'The ID of the virtual machine image for the control plane.', 'type' => 'string', 'example' => 'm-5ul335umat4e2y9ynwi84p3f9', 'required' => false], + 'SystemDiskCategory' => ['title' => 'The system disk category of the node. Valid values: "local_ssd", "cloud_ssd", "cloud_efficiency", "local_hdd".', 'description' => 'The type of the system disk for the edge zone. Valid values: "local\\_ssd", "cloud\\_ssd", "cloud\\_efficiency", and "local\\_hdd".', 'type' => 'string', 'example' => 'cloud_efficiency', 'required' => false], + 'SystemDiskSize' => ['title' => 'System disk size of nodes', 'description' => 'The size of the node\'s system disk.', 'type' => 'integer', 'format' => 'int64', 'example' => '120', 'required' => false], + 'Runtime' => ['title' => 'Runtime name of control plane nodes', 'description' => 'The runtime of the control plane node.', 'type' => 'string', 'example' => 'containerd', 'required' => false], + 'NodePortRange' => ['title' => 'Service port range for nodes', 'description' => 'The range of service ports on the nodes.', 'type' => 'string', 'example' => '30000-32767', 'required' => false], + 'Size' => ['title' => 'Number of control plane nodes. Valid values are 3 or 5.', 'description' => 'The number of control plane nodes. Valid values are 3 and 5.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'required' => false], + 'LoginPassword' => ['description' => 'The logon password for the cluster control plane machines.', 'type' => 'string', 'required' => false, 'example' => 'ThisIsAPassword', 'title' => ''], + ], + 'required' => false, + 'example' => '', + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response struct.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Image' => [ - 'description' => 'The details of the images.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_alibase_20171208', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_alibase_****', - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'SupportResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportResource' => [ - 'description' => 'The specifications of resources that you can purchase.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DataDiskSize' => [ - 'description' => 'The size of the data disk. Unit: GB.'."\n", - 'type' => 'string', - 'example' => '500', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-cmcc', - ], - 'InstanceSpec' => [ - 'description' => 'The specifications of the resource plan.'."\n", - 'type' => 'string', - 'example' => 'ens.sn1.stiny', - ], - 'SupportResourcesCount' => [ - 'description' => 'The number of resources that you can purchase.'."\n", - 'type' => 'string', - 'example' => '9', - ], - 'SystemDiskSize' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '20', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c34b69b095f8241c5a91cc2252dceb976', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Create an edge container cluster', + 'summary' => 'Creates an edge container cluster.', + 'description' => '- The call frequency for a single user is limited to 10 calls per second.'."\n" + ."\n" + .'- Creating a cluster is an asynchronous operation. The cluster takes 10 to 20 minutes to initialize after the API call returns a response. During this time, you can call the DescribeClustersV1 operation to query the cluster creation status. After the cluster is created, you can call the DescribeClusterUserKubeconfig operation to retrieve the cluster certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCluster'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_20171208\\",\\n \\"ImageName\\": \\"centos_6_08_64_20G_alibase_****\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"DataDiskSize\\": \\"500\\",\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"InstanceSpec\\": \\"ens.sn1.stiny\\",\\n \\"SupportResourcesCount\\": \\"9\\",\\n \\"SystemDiskSize\\": \\"20\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeAvailableResource', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"ClusterId\\": \\"c34b69b095f8241c5a91cc2252dceb976\\"\\n}","type":"json"}]', ], - 'DescribeInstances' => [ - 'summary' => 'You can call this operation to view the details of one or more instances.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateClusterNodePool' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ9TTQL', - ], + 'abilityTreeNodes' => ['FEATUREensWT1XPU', 'FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-cmcc', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5iqczfxps7csjrxeca****', - ], - ], - [ - 'name' => 'EnsRegionIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the regions. The value is a JSON array that consists of up to 100 IDs. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["cn-suzhou-telecom","cn-chengdu-telecom"]', - ], - ], - [ - 'name' => 'InstanceIds', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the instances. The value is a JSON array that consists of up to 100 IDs. Separate IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["i-5iqczfxps7csjrxeca07****", "i-5iqczfxps7csjrxeca07****"]]', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'InstanceName', + 'name' => 'NodepoolInfo', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The name of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestName', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the node pool.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'test1'], + ], + 'required' => true, + 'description' => 'The node pool configuration.', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ImageId', + 'name' => 'ScalingGroup', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_6_08_64_20G_alibase_****', + 'type' => 'object', + 'properties' => [ + 'DesiredSize' => ['description' => 'The desired number of instances in the node pool.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '3'], + 'KeyPairName' => ['description' => 'The name of the key pair for the instances. You must specify either this parameter or `Password`.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'key-pair-name'], + 'VswitchIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of a vSwitch for the cluster nodes. The vSwitch must be in the ENS region specified by `ens_region_id`.', 'type' => 'string', 'required' => false, 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', 'title' => ''], + 'required' => true, + 'title' => '', + 'description' => 'The IDs of the vSwitches used by the instances.', + 'example' => '', + ], + 'InstanceChargeType' => [ + 'description' => 'The billing method for the instances.', + 'type' => 'string', + 'default' => 'PrePaid', + 'enum' => ['PostPaid', 'PrePaid'], + 'title' => '', + 'required' => false, + 'example' => 'PostPaid', + ], + 'InstanceTypes' => [ + 'type' => 'array', + 'items' => ['description' => 'The instance type.', 'type' => 'string', 'required' => false, 'example' => 'ens.sn1.small', 'title' => ''], + 'required' => true, + 'title' => '', + 'description' => 'The instance types for the node pool.', + 'example' => '', + ], + 'SystemDiskCategory' => [ + 'description' => 'The category of the system disk. Valid values: `local_ssd`, `local_hdd`, `cloud_efficiency`, and `cloud_ssd`.', + 'type' => 'string', + 'required' => false, + 'enum' => ['local_ssd', 'local_hdd', 'cloud_efficiency', 'cloud_ssd'], + 'title' => '', + 'example' => 'cloud_efficiency', + ], + 'SystemDiskSize' => ['description' => 'The size of the system disk, in GB. The value must be at least 20 and a multiple of 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '80'], + 'ImageId' => ['description' => 'The ID of the image for the instances.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'm-6734fzvcwcv2o8jj201cpa7ox'], + 'DataDisks' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Category' => [ + 'description' => 'The category of the data disk.', + 'type' => 'string', + 'enum' => ['local_ssd', 'local_hdd', 'cloud_efficiency', 'cloud_ssd'], + 'required' => false, + 'example' => 'cloud_efficiency', + 'title' => '', + ], + 'Size' => ['description' => 'The size of the data disk, in GB. The value must be at least 20 and a multiple of 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '80'], + ], + 'description' => 'The configuration of a data disk.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'description' => 'The data disks to attach to the instances.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Password' => ['description' => 'The password for the instances in the node pool. You must specify either this parameter or `KeyPairName`.', 'type' => 'string', 'required' => false, 'example' => 'some-test-password', 'title' => ''], + ], + 'required' => true, + 'title' => '', + 'description' => 'The scaling group configuration.', + 'example' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'KubernetesConfig', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The page number. Pages start from page **1**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'type' => 'object', + 'properties' => [ + 'PreUserData' => ['description' => 'A Base64-encoded script to run on an instance after it is created but before it joins the cluster.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'ZWNobyBvawo='], + 'UserData' => ['description' => 'A Base64-encoded script to run on an instance after it joins the cluster.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'ZWNobyBvawo='], + ], + 'description' => 'The Kubernetes configuration.', 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of entries to return on each page. The maximum value is **100**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], + 'type' => 'object', + 'properties' => [ + 'Nodepool' => [ + 'type' => 'object', + 'properties' => [ + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'eck-d2666c5f', 'title' => ''], + 'NodepoolInfo' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the node pool.', 'type' => 'string', 'example' => 'test1', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS region where the cluster is located.', 'type' => 'string', 'example' => 'cn-guiyang-14', 'title' => ''], + 'NodepoolId' => ['description' => 'The ID of the node pool.', 'type' => 'string', 'example' => 'np1176939548ac49e59febe82dcbf1ad56', 'title' => ''], + ], + 'description' => 'Information about the node pool.', + 'title' => '', + 'example' => '', + ], + 'ScalingGroup' => [ + 'type' => 'object', + 'properties' => [ + 'VswitchIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of the VSwitch.', 'type' => 'string', 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', 'title' => ''], + 'description' => 'The IDs of the VSwitches for the cluster nodes.', + 'title' => '', + 'example' => '', + ], + 'DataDisks' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Category' => ['description' => 'The category of the data disk.', 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'Size' => ['description' => 'The size of the data disk, in GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'description' => 'Information about a data disk.', + 'title' => '', + 'example' => '', + ], + 'description' => 'Information about the data disks for the nodes.', + 'title' => '', + 'example' => '', + ], + 'InstanceChargeType' => ['description' => 'The billing method for the instances.', 'type' => 'string', 'example' => 'PrePaid', 'title' => ''], + 'InstanceTypes' => [ + 'type' => 'array', + 'items' => ['description' => 'An instance type.', 'type' => 'string', 'example' => 'ens.sn1.small', 'title' => ''], + 'description' => 'The instance types for the nodes in the node pool.', + 'title' => '', + 'example' => '', + ], + 'SystemDiskCategory' => ['description' => 'The category of the system disk.', 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system disk, in GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image used for the nodes.', 'type' => 'string', 'example' => 'm-67bdk1kpu1ylmt7k33h5dbiov', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair.', 'type' => 'string', 'example' => 'key-pair-name', 'title' => ''], + 'Password' => ['description' => 'The login password for the instances.', 'type' => 'string', 'example' => '**********', 'title' => ''], + ], + 'description' => 'The configuration of the associated scaling group.'."\n" + ."\n" + .'> The scaling group is assigned to a specified resource group. If one is not specified during creation, the default resource group is used.', + 'title' => '', + 'example' => '', + ], + 'KubernetesConfig' => [ + 'type' => 'object', + 'properties' => [ + 'PreUserData' => ['description' => 'A Base64-encoded script that executes on an instance after creation but before the node joins the cluster.', 'type' => 'string', 'example' => 'ZWNobyBvawo=', 'title' => ''], + 'UserData' => ['description' => 'A Base64-encoded script that is executed on an instance after it joins the cluster.', 'type' => 'string', 'example' => 'ZWNobyBvawo=', 'title' => ''], + ], + 'description' => 'The Kubernetes-related configuration.', + 'title' => '', + 'example' => '', + ], + 'Status' => [ + 'type' => 'object', + 'properties' => [ + 'State' => ['description' => 'The state of the node pool. Valid values:'."\n" + ."\n" + .'- `active`: The node pool is active.'."\n" + ."\n" + .'- `scaling`: The node pool is scaling out.'."\n" + ."\n" + .'- `removing_nodes`: The node pool is scaling in.', 'type' => 'string', 'example' => 'active', 'title' => ''], + 'TotalNodes' => ['description' => 'The total number of instances in the node pool. This includes instances that are being created, are in service, or are being removed.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'DesiredNodes' => ['description' => 'The desired number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ServingNodes' => ['description' => 'The number of instances that are in service.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InitialNodes' => ['description' => 'The number of instances that are being created.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RemovingNodes' => ['description' => 'The number of instances that are being removed.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'FailedNodes' => ['description' => 'The number of failed instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'description' => 'The status of the node pool.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The configuration of the node pool.', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], + ], + 'title' => '', + 'description' => 'The response data.', + 'example' => '', + ], + ], + ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'CreateClusterNodePool', + 'summary' => 'A node pool is a logical group of nodes with the same properties, enabling unified management and operations such as node upgrades and autoscaling. A node pool\'s automated features also reduce operations costs. For example, it can automatically remediate OS CVE vulnerabilities, recover failed nodes, and upgrade the kubelet and containerd. Call `CreateClusterNodePool` to create a node pool.', + 'description' => '- Single-user call rate: 10 calls per second.'."\n" + ."\n" + .'- Creating a cluster is an asynchronous operation. After the API call returns, cluster initialization takes 10 to 20 minutes. During this process, you can call DescribeClustersV1 to query the cluster creation status. Once the cluster is created, call DescribeClusterUserKubeconfig to retrieve the cluster certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateClusterNodePool'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the instance. Valid values:'."\n" - ."\n" - .'* Running'."\n" - .'* Stopped'."\n" - .'* Expired'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Running', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Nodepool\\": {\\n \\"ClusterId\\": \\"eck-d2666c5f\\",\\n \\"NodepoolInfo\\": {\\n \\"Name\\": \\"test1\\",\\n \\"EnsRegionId\\": \\"cn-guiyang-14\\",\\n \\"NodepoolId\\": \\"np1176939548ac49e59febe82dcbf1ad56\\"\\n },\\n \\"ScalingGroup\\": {\\n \\"VswitchIds\\": [\\n \\"vsw-58eu2p6v64qw8ihhit1wz7wgv\\"\\n ],\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_efficiency\\",\\n \\"Size\\": 80\\n }\\n ],\\n \\"InstanceChargeType\\": \\"PrePaid\\",\\n \\"InstanceTypes\\": [\\n \\"ens.sn1.small\\"\\n ],\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SystemDiskSize\\": 80,\\n \\"ImageId\\": \\"m-67bdk1kpu1ylmt7k33h5dbiov\\",\\n \\"KeyPairName\\": \\"key-pair-name\\",\\n \\"Password\\": \\"**********\\"\\n },\\n \\"KubernetesConfig\\": {\\n \\"PreUserData\\": \\"ZWNobyBvawo=\\",\\n \\"UserData\\": \\"ZWNobyBvawo=\\"\\n },\\n \\"Status\\": {\\n \\"State\\": \\"active\\",\\n \\"TotalNodes\\": 10,\\n \\"DesiredNodes\\": 10,\\n \\"ServingNodes\\": 10,\\n \\"InitialNodes\\": 0,\\n \\"RemovingNodes\\": 0,\\n \\"FailedNodes\\": 0\\n }\\n },\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'CreateDisk' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OrderByParams', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '101931', + 'abilityTreeNodes' => ['FEATUREensA8B7J7'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => [ - 'description' => 'The method that you want to use to sort instances. The value of this parameter is in the JSON format.'."\n" - ."\n" - .'You can sort instances by name, expiration time, node ID, or creation time. You can specify one or more methods.'."\n", + 'title' => '', + 'description' => 'The billing method of the instance. Currently, only **PostPaid** (pay-as-you-go) is supported.', + 'enumValueTitles' => ['PostPaid' => 'pay-as-you-go.'], 'type' => 'string', - 'required' => false, - 'example' => '{"InstanceNameSort":"asc","ExpireTimeSort":"asc","CreationTimeSort":"desc"}}', + 'required' => true, + 'example' => 'PostPaid', + 'enum' => ['PostPaid'], ], ], [ - 'name' => 'EnsServiceId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge service. You can use the ID to query information about the instances that are created in the edge service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens-20190730202316s****', - ], + 'schema' => ['title' => '', 'description' => 'The edge zone ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-chengdu-telecom'], ], [ - 'name' => 'InstanceResourceType', + 'name' => 'Category', 'in' => 'query', 'schema' => [ - 'description' => 'The condition that you want to use to filter instances by category. Valid values:'."\n" + 'title' => '', + 'description' => 'The type of the cloud disk. Valid values:'."\n" ."\n" - .'* EnsInstance: ENS instances that you purchase.'."\n" - .'* EnsService: ENS instances that belong to edge services.'."\n" - .'* BuildMachine: ENS instances that are configured with image builders.'."\n" - .'* EnsPostPaidInstance: Pay-as-you-go ENS instances that you purchase.'."\n", + .'- cloud_efficiency: ultra cloud disk'."\n" + .'- cloud_ssd: all-flash cloud disk', + 'enumValueTitles' => ['cloud_efficiency' => 'ultra cloud disk.', 'cloud_ssd' => 'all-flash cloud disk.', 'local_hdd' => 'local HDD.', 'ssd:local_ssd' => 'local SSD.'], 'type' => 'string', - 'required' => false, - 'example' => 'EnsService', + 'required' => true, + 'example' => 'cloud_efficiency', ], ], [ - 'name' => 'SearchKey', + 'name' => 'Size', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The size of the cloud disk. Unit: GiB.', 'type' => 'string', 'required' => false, 'example' => '20'], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The snapshot used to create the cloud disk.'."\n" + ."\n" + .'The **SnapshotId** and **Size** parameters have the following restrictions:'."\n" + ."\n" + .'- If the snapshot specified by **SnapshotId** is larger than the specified **Size** value, the snapshot size of the created cloud disk equals the size of the specified snapshot.'."\n" + ."\n" + .'- If the snapshot specified by **SnapshotId** is smaller than the specified **Size** value, the snapshot size of the created cloud disk equals the specified **Size** value.', 'type' => 'string', 'required' => false, 'example' => 's-897654321****'], + ], + [ + 'name' => 'Encrypted', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to encrypt the cloud disk. Valid values:'."\n" + ."\n" + .'- **true**: encrypts the cloud disk.'."\n" + ."\n" + .'- **false** (default): does not encrypt the cloud disk.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The ID of the KMS key used by the cloud disk.'."\n" + ."\n" + .'> If **Encrypted** is set to **true** and **KMSKeyId** is empty, the default service key is used.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fxxxxx'], + ], + [ + 'name' => 'DiskName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'yourDiskName', 'title' => ''], + ], + [ + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The keyword that you use to query the logs of the service. You can specify the values of parameters such as **ip**, **InstanceName**, and **InstanceId** as the keyword.'."\n", - 'type' => 'string', + 'description' => 'The list of tags. You can add up to 20 tags in a single call.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags.'."\n" + ."\n" + .'You can specify up to 20 tags in a single call.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the instance. Valid values of N: **1** to **20**.'."\n" + ."\n" + .'- The tag key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" + .'- The tag key can be up to 64 characters in length.'."\n" + .'- The tag key cannot be an empty string.', 'type' => 'string', 'required' => false, 'example' => 'pro', 'title' => ''], + 'Value' => ['description' => 'The tag value of the topic. The **Key** and **Value** parameters must be specified or left empty at the same time. If both parameters are specified, topics are filtered by tag. If neither parameter is specified, all topics are queried.'."\n" + ."\n" + .'- Valid values of N: 1 to 20.'."\n" + .'- The tag value can be an empty string.'."\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' => 'tagValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'Joshua', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NetworkId', + 'name' => 'InstanceBillingCycle', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the network.'."\n", 'type' => 'string', + 'enum' => ['Hour', 'Day', 'Month'], + 'description' => '', 'required' => false, - 'example' => 'n-2zeuphj08tt7q3brd****', + 'title' => '', + 'example' => '', ], ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'The response struct.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '7030AB96-57CF-1C68-9FEE-D60E547FD79C'], + 'OrderId' => ['title' => '', 'description' => 'The order ID. Multiple IDs are separated by commas (,).'."\n" + ."\n" + .'> Order IDs are returned only for subscription orders. Pay-as-you-go orders do not return order IDs.', 'type' => 'string', 'example' => '21127020370****'], + 'InstanceIds' => [ + 'title' => '', + 'description' => 'The set of instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The list of instance IDs.', 'type' => 'string', 'example' => 'd-5rpvziragkacvop665m3h****', 'title' => ''], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Stock.NotEnough', 'errorMessage' => 'The inventory of the specified zone is insufficient.Please contact the product.', 'description' => 'Insufficient resource inventory in the specified zone.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'ens.buy.store.empty', 'errorMessage' => 'Insufficient inventory of purchased resources.', 'description' => 'Insufficient inventory of purchased resources.'], + ['errorCode' => 'SaleControlVerificationFailedDiskSpec', 'errorMessage' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product'], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'Create a data cloud disk', + 'summary' => 'Creates a pay-as-you-go or subscription data cloud disk by calling CreateDisk.', + 'changeSet' => [ + ['createdAt' => '2025-05-08T09:48:34.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T12:07:10.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-08-19T11:59:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-07-19T07:45:38.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-28T06:18:30.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-11-21T08:59:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '25', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDisk'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7030AB96-57CF-1C68-9FEE-D60E547FD79C\\",\\n \\"OrderId\\": \\"21127020370****\\",\\n \\"InstanceIds\\": [\\n \\"d-5rpvziragkacvop665m3h****\\"\\n ]\\n}","type":"json"}]', + ], + 'CreateEipInstance' => [ + 'summary' => 'Allocates an Elastic IP Address (EIP) to your account.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VSwitchId', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '20153', + 'abilityTreeNodes' => ['FEATUREensZ9TTQL'], + ], + 'parameters' => [ + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => true, 'example' => 'cn-suzhou-telecom', 'title' => ''], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The peak bandwidth of the EIP. Default value: 5. Unit: Mbit/s. Valid values: 5 to 10000.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '10000', 'minimum' => '5', 'example' => '5', 'default' => '5', 'title' => ''], + ], + [ + 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", + 'description' => 'The billing method of the EIP. The value is set to **PostPaid**, which is the pay-as-you-go billing method.', 'type' => 'string', - 'required' => false, - 'example' => 'vsw-2zeh0r1pabwtg6wcs****', + 'required' => true, + 'example' => 'PostPaid', + 'enum' => ['PostPaid'], + 'title' => '', ], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the security group.'."\n", + 'description' => 'The metering method of the EIP. The value is set to **95BandwidthByMonth**, which indicates the monthly 95th percentile bandwidth metering method.', 'type' => 'string', - 'required' => false, - 'example' => 'sg-5kyicq2kfcapxrdds6tar7jqb', + 'required' => true, + 'example' => '95BandwidthByMonth', + 'enum' => ['95BandwidthByMonth', 'FlowoutByDay', 'AverageDayBandwidthByMonth'], + 'title' => '', ], ], [ - 'name' => 'IntranetIp', + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the EIP instance.', 'type' => 'string', 'example' => 'EIP1', 'title' => '', 'required' => false], + ], + [ + 'name' => 'Isp', 'in' => 'query', 'schema' => [ - 'description' => 'The internal IP address of the instance.'."\n", + 'description' => 'The ISP. Valid values:'."\n" + ."\n" + .'- **cmcc**: China Mobile'."\n" + ."\n" + .'- **unicom**: China Unicom'."\n" + ."\n" + .'- **telecom**: China Telecom', 'type' => 'string', + 'example' => 'cmcc', + 'enum' => ['cmcc', 'unicom', 'telecom', 'overseas'], + 'title' => '', 'required' => false, - 'example' => '47.100.XX.XX', ], ], [ - 'name' => 'Tags', + 'name' => 'Description', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The description.', 'type' => 'string', 'required' => false, 'example' => 'yourDescription', 'title' => ''], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that are added to the resource. This operation does not return tag information. You can call this operation in combination with the tag-related operations.'."\n", + 'description' => 'The resource tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tags of the instance. This operation does not return tag information. You can call this operation in combination with the tag-related operations.'."\n", + 'description' => 'The information of the tags.'."\n" + ."\n" + .'You can specify up to 20 tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => '实例的标签键。N的取值范围为1~20。', - 'description' => 'The key of the tag that are to add to the instance. Valid values: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tag', - ], - 'Value' => [ - 'title' => '实例的标签值。N的取值范围:1~20。', - 'description' => 'The tag value of the instance. Valid values: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], + 'Key' => ['description' => 'The key of tag N that is added to the instance. Valid values of N: **1** to **20**.'."\n" + ."\n" + .'- The tag key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" + ."\n" + .'- The tag key can be up to 64 characters in length.'."\n" + ."\n" + .'- The tag key cannot be an empty string.', 'type' => 'string', 'required' => false, 'example' => 'team', 'title' => ''], + 'Value' => ['description' => 'The tag value. The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'tagValue', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens.se1.tiny', - ], + 'schema' => ['description' => 'A client-generated token that ensures the idempotence of the request. This prevents duplicate operations if you retry the request.'."\n" + ."\n" + .'- You can generate a unique, case-sensitive string that contains only ASCII characters and is no more than 64 characters in length.'."\n" + ."\n" + .'- If you use a previously used client token with the same request parameters, the server returns the same result as the original request without changing its state.'."\n" + ."\n" + .'- You can safely retry requests that time out or return a `PROCESSING` error code. Idempotence is guaranteed if the original request was successful (HTTP status code `200`). However, it is not guaranteed if the original request failed with an HTTP `4xx` error code other than `PROCESSING`.'."\n" + ."\n" + .'- The token is valid for 10 minutes.', 'type' => 'string', 'required' => false, 'example' => '26C28756-2586-17AF-B802-0DC50D8FDEBB', 'title' => ''], ], [ - 'name' => 'ServiceStatus', + 'name' => 'IpAddress', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The status of the service. Valid values.', - 'type' => 'array', - 'items' => [ - 'description' => 'The status of the service. Valid values:'."\n" - ."\n" - .'* Enabled: The service is activated.'."\n" - .'* Disabled: The service is deactivated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Enabled', - ], - 'required' => false, - ], + 'schema' => ['title' => 'IP address', 'description' => 'The IP address. If you do not specify this parameter, the system automatically allocates an available IP address.', 'type' => 'string', 'required' => false, 'example' => ''], ], [ - 'name' => 'EipAddresses', + 'name' => 'InstanceId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 1, - ], + 'schema' => ['title' => 'The instance ID of the EIP.', 'description' => 'The ID of the EIP instance.', 'type' => 'string', 'required' => false, 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Instances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Instance' => [ - 'description' => 'The information about the instance is returned in an array of InstanceAttributesType.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the instance 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' => '2019-07-26T06:40:43Z', - ], - 'Status' => [ - 'description' => 'The status of the instance. Valid values:'."\n" - ."\n" - .'* Running'."\n" - .'* Expired'."\n" - .'* Stopped'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'SpecName' => [ - 'description' => 'The instance type.'."\n", - 'type' => 'string', - 'example' => 'ens.sn1.stiny', - ], - 'InstanceTypeFamily' => [ - 'description' => 'The instance family. Valid values:'."\n" - ."\n" - .'* x86\\_vm: x86-based computing instance.'."\n" - .'* x86\\_pm: x86-based physical machine.'."\n" - .'* x86\\_bmi: x86-based bare metal instance.'."\n" - .'* x86\\_bm: bare metal instance with the SmartNIC.'."\n" - .'* pc_bmi: heterogeneous bare metal instance.'."\n" - .'* pc_vm: heterogeneous virtual machine.'."\n" - .'* arm_bmi: Arm-based computing instance.'."\n", - 'type' => 'string', - 'example' => 'x86_vm', - ], - 'InstanceResourceType' => [ - 'description' => 'The category of the instance. Valid values:'."\n" - ."\n" - .'* EnsInstance: ENS instances that you purchase.'."\n" - .'* EnsService: ENS instances that belong to edge services.'."\n" - .'* BuildMachine: ENS instances that are configured with image builders.'."\n" - .'* EnsPostPaidInstance: pay-as-you-go ENS instances that you purchase.'."\n", - 'type' => 'string', - 'example' => 'EnsService', - ], - 'HostName' => [ - 'description' => 'The hostname of the instance.'."\n" - ."\n" - .'* The hostname cannot start or end with a period (.) or hyphen (-). It cannot contain consecutive periods (.) or hyphens (-).'."\n" - .'* For a Windows instance, the hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or contain only digits.'."\n" - .'* For an instance that runs another operating system such as Linux, the hostname must be 2 to 64 characters in length. You can use periods (.) to separate the hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'example' => 'testHostName', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-instanc****', - ], - 'InternetMaxBandwidthIn' => [ - 'description' => 'The maximum outbound bandwidth. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'InternetMaxBandwidthOut' => [ - 'description' => 'The minimum inbound bandwidth. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'EnsRegionId' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-telecom', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'ExpiredTime' => [ - 'description' => 'The expiration time. 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' => '2119-07-13T02:38:57Z', - ], - 'InstanceName' => [ - 'description' => 'The name of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-5itef0f28t17bcdw9deu6meub', - ], - 'Disk' => [ - 'description' => 'The total size of the disk. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '71680', - ], - 'OSName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'centos 6.8 x86_64', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'm-****', - ], - 'DataDisk' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataDisk' => [ - 'description' => 'Details of the data disk.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'device_type' => [ - 'description' => 'The extended field of the disk category. Valid values:'."\n" - ."\n" - .'* **file**: local disk.'."\n" - .'* **pangu**: ultra disk.'."\n" - .'* **local_hdd**: local HDD.'."\n", - 'type' => 'string', - 'example' => 'pangu', - ], - 'disk_type' => [ - 'description' => 'The type of the cloud disk or local disk. Valid values:'."\n" - ."\n" - .'**system**: system disk. **data**: data disk.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Size' => [ - 'description' => 'The size of the disk. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '51200', - ], - 'DiskName' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => 'DiskName', - ], - 'uuid' => [ - 'description' => 'The UUID of the disk.'."\n", - 'type' => 'string', - 'example' => 'd-5itef1wtxj961mbff8xe9****', - ], - 'storage' => [ - 'description' => 'The size of the disk. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20480', - ], - 'DiskId' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'example' => 'd-5ip4c2dhmas0vjd5u1r****', - ], - 'Category' => [ - 'description' => 'The category of the cloud disk or local disk. Valid values:'."\n" - ."\n" - .'* **file**: local disk.'."\n" - .'* **pangu**: ultra disk.'."\n" - .'* **local_hdd**: local HDD.'."\n", - 'type' => 'string', - 'example' => 'file', - ], - 'name' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'DiskSize' => [ - 'description' => 'The size of the disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'EncryptKeyId' => [ - 'description' => 'The KMS key ID used by the cloud drive.', - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fxxxxx'."\n", - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt the disk.'."\n", - 'type' => 'boolean', - 'example' => 'true', - 'default' => 'false', - ], - ], - ], - ], - ], - ], - 'PublicIpAddresses' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PublicIpAddress' => [ - 'description' => 'Details of the public IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address.'."\n", - 'type' => 'string', - 'example' => '119.147.xx.xx', - ], - 'GateWay' => [ - 'description' => 'The gateway.'."\n", - 'type' => 'string', - 'example' => '119.147.xx.xx', - ], - 'Isp' => [ - 'description' => 'The Internet service provider (ISP).'."\n", - 'type' => 'string', - 'example' => 'unicom', - ], - ], - ], - ], - ], - ], - 'PrivateIpAddresses' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PrivateIpAddress' => [ - 'description' => 'Details of the private IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address.'."\n", - 'type' => 'string', - 'example' => '119.147.xx.xx', - ], - 'GateWay' => [ - 'description' => 'The gateway.'."\n", - 'type' => 'string', - 'example' => '119.147.xx.xx', - ], - 'Isp' => [ - 'description' => 'The ISP.'."\n", - 'type' => 'string', - 'example' => 'cmcc', - ], - ], - 'description' => 'Schema of Response', - ], - ], - ], - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroupId' => [ - 'description' => 'The IDs of the security groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-5kyicq2kfcapxrdds6ta****', - ], - ], - ], - ], - 'InnerIpAddress' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'IpAddress' => [ - 'description' => 'The private IP addresses of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The private IP address of the instance.'."\n", - 'type' => 'string', - 'example' => '10.170.xx.xx', - ], - ], - ], - ], - 'PublicIpAddress' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'IpAddress' => [ - 'description' => 'The public IP addresses of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The public IP address of the instance.'."\n", - 'type' => 'string', - 'example' => '119.147.xx.xx', - ], - ], - ], - ], - 'SystemDisk' => [ - 'description' => 'Details of the system disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'device_type' => [ - 'description' => 'The extended field of the disk category. Valid values:'."\n" - ."\n" - .'* **file**: local disk.'."\n" - .'* **pangu**: ultra disk.'."\n" - .'* **local_hdd**: local HDD.'."\n", - 'type' => 'string', - 'example' => 'pangu', - ], - 'disk_type' => [ - 'description' => 'The type of the cloud disk or local disk. Valid values:'."\n" - ."\n" - .'* **system**: system disk.'."\n" - .'* **data**: data disk.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Size' => [ - 'description' => 'The size of the disk. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '51200', - ], - 'DiskName' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => 'DiskName', - ], - 'uuid' => [ - 'description' => 'The UUID of the disk.'."\n", - 'type' => 'string', - 'example' => 'd-5ip4c2dhmas0rn7rt0p96****', - ], - 'storage' => [ - 'description' => 'The size of the disk. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20480', - ], - 'DiskId' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'example' => 'd-5ip4c2dhmas0rn7rt0p9****', - ], - 'Category' => [ - 'description' => 'The category of the cloud disk or local disk. Valid values:'."\n" - ."\n" - .'* **file**: local disk.'."\n" - .'* **pangu**: ultra disk.'."\n" - .'* **local_hdd**: local HDD.'."\n", - 'type' => 'string', - 'example' => 'file', - ], - 'name' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => 'DiskName', - ], - ], - ], - 'NetworkAttributes' => [ - 'description' => 'Details of the network.'."\n", - 'type' => 'object', - 'properties' => [ - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-2zeuphj08tt7q3brd****', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-2zeh0r1pabwtg6wcs****', - ], - 'PrivateIpAddress' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'IpAddress' => [ - 'description' => 'Details of the private IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The private IP address of the instance. If a private IP address is specified, the number of private IP addresses must be 1. The private IP address must be an available IP address in the CIDR block of the vSwitch.'."\n", - 'type' => 'string', - 'example' => '172.17.**.**', - ], - ], - ], - ], - ], - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tags' => [ - 'description' => 'The tags of the instance.'."\n" - ."\n" - .'> This operation does not return tag information. You can call this operation in combination with the tag-related operations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag.'."\n" - ."\n" - .'> This operation does not return tag information. You can call this operation in combination with the tag-related operations.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'value1', - ], - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'key1', - ], - ], - ], - ], - ], - ], - 'AutoReleaseTime' => [ - 'title' => '自动释放时间。', - 'description' => 'The automatic release time of the instance.'."\n", - 'type' => 'string', - 'example' => '2023-06-28T14:38:52Z', - ], - 'SpotStrategy' => [ - 'title' => '抢占式实例策略。', - 'description' => 'The bidding policy of the preemptible instance.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'KeyPairName' => [ - 'description' => 'The name of the SSH key pair.'."\n", - 'type' => 'string', - 'example' => 'terraform-example', - ], - 'NetworkInterfaces' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NetworkInterfaces' => [ - 'description' => 'The ENI attached to the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ENI attached to the instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the disk. Valid values:'."\n" - ."\n" - .'* system: system disk.'."\n" - .'* data: data disk.'."\n", - 'type' => 'string', - 'example' => 'Secondary', - ], - 'MacAddress' => [ - 'description' => 'The MAC address of the ENI.'."\n", - 'type' => 'string', - 'example' => '00:16:3e:4f:5f:ca', - ], - 'PrimaryIpAddress' => [ - 'description' => 'The primary IP address of the ENI.'."\n", - 'type' => 'string', - 'example' => '***************', - ], - 'NetworkInterfaceId' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'example' => 'eni-0wlonoy6jo8532gfzuama****', - ], - 'PrivateIpSets' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PrivateIpSet' => [ - 'description' => 'The private IP addresses of the ENI.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The private IP addresses of the ENI.'."\n", - 'type' => 'object', - 'properties' => [ - 'PrivateIpAddress' => [ - 'description' => 'The private IP address.'."\n" - ."\n" - .'> This parameter is available only if ScheduleAreaLevel is set to Region and cannot be configured if ScheduleAreaLevel is set to other values. Otherwise, an error occurs. If you specify a private IP address, the number of instances must be 1. The private IP address takes effect only when the private IP address and the vSwitch ID are not empty.'."\n", - 'type' => 'string', - 'example' => '10.75.66.***', - ], - 'Primary' => [ - 'description' => 'Indicates whether the IP address is the primary private IP address. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - ], - 'Ipv6Sets' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Ipv6Set' => [ - 'description' => 'The IPv6 addresses of the ENI. This parameter has a value only when `AdditionalAttributes.N` is set to `NETWORK_PRIMARY_ENI_IP`.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IPv6 addresses of the ENI. This parameter has a value only when `AdditionalAttributes.N` is set to `NETWORK_PRIMARY_ENI_IP`.'."\n", - 'type' => 'object', - 'properties' => [ - 'Ipv6Address' => [ - 'description' => 'IPv6 addresses N of the ENI. You can specify multiple IPv6 addresses. Valid values of N: 1 to 100.'."\n", - 'type' => 'string', - 'example' => '2408:4005:396:3200:****:6609:821e:df7a', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'ServiceStatus' => [ - 'description' => 'The ID of your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'Deleting', - ], - 'DeletionProtection' => [ - 'type' => 'boolean', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"PageSize\\": 60,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 2,\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"CreationTime\\": \\"2019-07-26T06:40:43Z\\",\\n \\"Status\\": \\"Running\\",\\n \\"SpecName\\": \\"ens.sn1.stiny\\",\\n \\"InstanceTypeFamily\\": \\"x86_vm\\",\\n \\"InstanceResourceType\\": \\"EnsService\\",\\n \\"HostName\\": \\"testHostName\\",\\n \\"InstanceId\\": \\"i-instanc****\\",\\n \\"InternetMaxBandwidthIn\\": 40,\\n \\"InternetMaxBandwidthOut\\": 100,\\n \\"EnsRegionId\\": \\"cn-hangzhou-telecom\\",\\n \\"Cpu\\": \\"2\\",\\n \\"ExpiredTime\\": \\"2119-07-13T02:38:57Z\\",\\n \\"InstanceName\\": \\"i-5itef0f28t17bcdw9deu6meub\\",\\n \\"Disk\\": 71680,\\n \\"OSName\\": \\"centos 6.8 x86_64\\",\\n \\"Memory\\": 2048,\\n \\"ImageId\\": \\"m-****\\",\\n \\"DataDisk\\": {\\n \\"DataDisk\\": [\\n {\\n \\"device_type\\": \\"pangu\\",\\n \\"disk_type\\": \\"system\\",\\n \\"Size\\": 51200,\\n \\"DiskName\\": \\"DiskName\\",\\n \\"uuid\\": \\"5431f898-1323-4e64-8ce1-6cad50ed****\\",\\n \\"storage\\": 20480,\\n \\"DiskId\\": \\"d-5ip4c2dhmas0vjd5u1r****\\",\\n \\"Category\\": \\"file\\",\\n \\"name\\": \\"name\\",\\n \\"DiskSize\\": 100,\\n \\"EncryptKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fxxxxx\\",\\n \\"Encrypted\\": true\\n }\\n ]\\n },\\n \\"PublicIpAddresses\\": {\\n \\"PublicIpAddress\\": [\\n {\\n \\"Ip\\": \\"119.147.xx.xx\\",\\n \\"GateWay\\": \\"119.147.xx.xx\\",\\n \\"Isp\\": \\"unicom\\"\\n }\\n ]\\n },\\n \\"PrivateIpAddresses\\": {\\n \\"PrivateIpAddress\\": [\\n {\\n \\"Ip\\": \\"119.147.xx.xx\\",\\n \\"GateWay\\": \\"119.147.xx.xx\\",\\n \\"Isp\\": \\"cmcc\\"\\n }\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-5kyicq2kfcapxrdds6ta****\\"\\n ]\\n },\\n \\"InnerIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"10.170.xx.xx\\"\\n ]\\n },\\n \\"PublicIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"119.147.xx.xx\\"\\n ]\\n },\\n \\"SystemDisk\\": {\\n \\"device_type\\": \\"pangu\\",\\n \\"disk_type\\": \\"system\\",\\n \\"Size\\": 51200,\\n \\"DiskName\\": \\"DiskName\\",\\n \\"uuid\\": \\"5431f898-1323-4e64-8ce1-6cad50ed****\\",\\n \\"storage\\": 20480,\\n \\"DiskId\\": \\"d-5ip4c2dhmas0rn7rt0p9****\\",\\n \\"Category\\": \\"file\\",\\n \\"name\\": \\"DiskName\\"\\n },\\n \\"NetworkAttributes\\": {\\n \\"NetworkId\\": \\"n-2zeuphj08tt7q3brd****\\",\\n \\"VSwitchId\\": \\"vsw-2zeh0r1pabwtg6wcs****\\",\\n \\"PrivateIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"172.17.**.**\\"\\n ]\\n }\\n },\\n \\"Tags\\": {\\n \\"Tags\\": [\\n {\\n \\"TagValue\\": \\"value1\\",\\n \\"TagKey\\": \\"key1\\"\\n }\\n ]\\n },\\n \\"AutoReleaseTime\\": \\"2023-06-28T14:38:52Z\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterfaces\\": [\\n {\\n \\"Type\\": \\"Primary\\",\\n \\"MacAddress\\": \\"00:16:XXX:XXX:60:0a\\",\\n \\"PrimaryIpAddress\\": \\"10.XXX.XXX.25\\",\\n \\"NetworkInterfaceId\\": \\"eni-53afk8a0t5lklbi8m7j8iczdg\\",\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"192.XXX.XXX.130\\",\\n \\"Primary\\": true\\n }\\n ]\\n },\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"ServiceStatus\\": \\"Expired\\",\\n \\"DeletionProtection\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n 60\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 2\\n \\n 2019-07-26T06:40:43Z\\n Running\\n ens.sn1.stiny\\n x86_vm\\n EnsService\\n testHostName\\n i-instanc****\\n 40\\n 100\\n cn-hangzhou-telecom\\n 2\\n 2119-07-13T02:38:57Z\\n i-5itef0f28t17bcdw9deu6meub\\n 71680\\n centos 6.8 x86_64\\n 2048\\n m-****\\n \\n pangu\\n system\\n 51200\\n DiskName\\n d-5itef1wtxj961mbff8xe9****\\n 20480\\n d-5ip4c2dhmas0vjd5u1r****\\n file\\n name\\n \\n \\n 119.147.xx.xx\\n 119.147.xx.xx\\n unicom\\n \\n \\n 119.147.xx.xx\\n 119.147.xx.xx\\n cmcc\\n \\n sg-5kyicq2kfcapxrdds6ta****\\n 10.170.xx.xx\\n 119.147.xx.xx\\n \\n pangu\\n system\\n 51200\\n DiskName\\n d-5ip4c2dhmas0rn7rt0p96****\\n 20480\\n d-5ip4c2dhmas0rn7rt0p9****\\n file\\n DiskName\\n \\n \\n n-2zeuphj08tt7q3brd****\\n vsw-2zeh0r1pabwtg6wcs****\\n 172.17.**.**\\n \\n \\n","errorExample":""}]', - 'title' => 'DescribeInstances', - 'description' => '* You can call this operation up to 800 times per second per account.'."\n" - .'* You can call this operation up to 100 times per second per user.'."\n" - .'* You can specify multiple request parameters to be queried. Specified parameters are evaluated by using the AND operator. Only the specified parameters are included in the filter conditions. However, if InstanceIds is set to an empty JSON array, it is regarded as a valid filter condition and an empty result is returned.'."\n", - ], - 'DescribeAvailableResourceInfo' => [ - 'summary' => 'Queries the specifications of resources that you can purchase when you create an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '18008', - 'abilityTreeNodes' => [ - 'FEATUREensRIM251', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8629F679-B51D-4194-A1CC-5D8F504C362B', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Image' => [ - 'description' => 'The information about the image.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ImageSize' => [ - 'description' => 'The size of the image. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_a****', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_a****', - ], - ], - ], - ], - ], - ], - 'SupportResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportResource' => [ - 'description' => 'The specifications of resources that you can purchase.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DataDiskMaxSize' => [ - 'description' => 'The maximum capacity of a data disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'BandwidthTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BandwidthType' => [ - 'description' => 'Bandwidth billing method.', - 'type' => 'array', - 'items' => [ - 'description' => 'The metering method.'."\n" - ."\n" - .'* **BandwidthByDay**: Pay by daily peak bandwidth.'."\n" - .'* **95BandwidthByMonth**: Pay by monthly 95th percentile bandwidth.'."\n", - 'type' => 'string', - 'example' => '95BandwidthByMonth', - ], - ], - ], - ], - 'SystemDiskMinSize' => [ - 'description' => 'The minimum capacity of a system disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'EnsRegionIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'node ID', - 'type' => 'array', - 'items' => [ - 'description' => 'The edge nodes.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-telecom-4', - ], - ], - ], - ], - 'EnsRegionIdsExtends' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The supplementary information about the edge nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-telecom-4', - ], - 'EnName' => [ - 'description' => 'The name. This parameter is empty by default.'."\n", - 'type' => 'string', - 'example' => 'EnName', - ], - 'Area' => [ - 'description' => 'The region.'."\n", - 'type' => 'string', - 'example' => 'EastChina', - ], - 'Name' => [ - 'description' => 'The name of the edge node.'."\n", - 'type' => 'string', - 'example' => 'Taizhou Telecom, China Unicom, and China Mobile'."\n", - ], - 'Province' => [ - 'description' => 'The province.'."\n", - 'type' => 'string', - 'example' => 'Zhejiang Province'."\n", - ], - 'Isp' => [ - 'description' => 'The information about the Internet service provider (ISP).'."\n", - 'type' => 'string', - 'example' => 'unicom', - ], - ], - ], - ], - ], - ], - 'InstanceSpeces' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceSpec' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => 'The specifications of instances.'."\n", - 'type' => 'string', - 'example' => 'ens.se1.tiny', - ], - ], - ], - ], - 'SystemDiskMaxSize' => [ - 'description' => 'The maximum size of the system disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'DataDiskMinSize' => [ - 'description' => 'The minimum data disk size. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Isp' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Isp' => [ - 'description' => 'Operator', - 'type' => 'array', - 'items' => [ - 'description' => 'The Internet service provider (ISP). Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile'."\n" - .'* telecom: China Telecom'."\n" - .'* unicom: China Unicom'."\n" - .'* multiCarrier: multi-line ISP', - 'type' => 'string', - 'example' => 'unicom', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8629F679-B51D-4194-A1CC-5D8F504C362B\\",\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"ImageSize\\": 20,\\n \\"ImageName\\": \\"centos_6_08_64_20G_a****\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_a****\\"\\n }\\n ]\\n },\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"DataDiskMaxSize\\": 200,\\n \\"BandwidthTypes\\": {\\n \\"BandwidthType\\": [\\n \\"95BandwidthByMonth\\"\\n ]\\n },\\n \\"SystemDiskMinSize\\": 20,\\n \\"EnsRegionIds\\": {\\n \\"EnsRegionId\\": [\\n \\"cn-chengdu-telecom-4\\"\\n ]\\n },\\n \\"EnsRegionIdsExtends\\": {\\n \\"EnsRegionId\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom-4\\",\\n \\"EnName\\": \\"EnName\\",\\n \\"Area\\": \\"EastChina\\",\\n \\"Name\\": \\"台州电信联通移动\\",\\n \\"Province\\": \\"浙江省\\",\\n \\"Isp\\": \\"unicom\\"\\n }\\n ]\\n },\\n \\"InstanceSpeces\\": {\\n \\"InstanceSpec\\": [\\n \\"ens.se1.tiny\\"\\n ]\\n },\\n \\"SystemDiskMaxSize\\": 100,\\n \\"DataDiskMinSize\\": 100,\\n \\"Isp\\": {\\n \\"Isp\\": [\\n \\"{\\\\n \\\\\\"Isp\\\\\\": [\\\\n \\\\\\"telecom\\\\\\"\\\\n ]\\\\n}\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nA331CA96-3948-4BD2-B067-F6174F5C17EA\\n\\n \\n 20\\n 30\\n \\n ens.sn1.large\\n ens.sn1.small\\n ens.se1.tiny\\n \\n \\n 95BandwidthByMonth\\n \\n 200\\n 300\\n \\n \\n SouthWestChina\\n \\n cn-chengdu-telecom-4\\n 四川省\\n 成都电信POC\\n \\n \\n EastChina\\n \\n cn-taizhou-telecom_unicom_cmcc\\n 浙江省\\n 台州电信联通移动\\n \\n \\n \\n cn-chengdu-telecom-4\\n cn-suzhou-cmcc\\n cn-taizhou-telecom_unicom_cmcc\\n \\n \\n\\n\\n \\n centos_6_08_64_20G_alibase****\\n 20\\n centos_6_08_64_20G_alibase****\\n \\n\\n\\n","errorExample":""}]', - 'title' => 'DescribeAvailableResourceInfo', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeEnsNetSaleDistrict' => [ - 'summary' => 'Queries the information about ISPs and number of ISPs in an area.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'NetLevelCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The network level. Valid values:'."\n" - ."\n" - .'* **Big**: area'."\n" - .'* **Middle**: province'."\n" - .'* **Small**: city'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Big', - ], - ], - [ - 'name' => 'NetDistrictCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region code.'."\n" - ."\n" - .'* If you do not specify this parameter, only nodes under the area level that is specified by NetLevelCode are queried.'."\n" - .'* If you specify this parameter, only child nodes in the area that is specified by NetDistrictCode are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100105', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'EnsNetDistricts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnsNetDistrict' => [ - 'description' => 'The information about the ISPs in the area.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsRegionIdCount' => [ - 'description' => 'The information about the ISP.'."\n", - 'type' => 'string', - 'example' => '{ "count":2, "name":"telecommunication", "code":"telecom", "country":"cn" }'."\n", - ], - 'InstanceCount' => [ - 'description' => 'The information about the instance.'."\n", - 'type' => 'string', - 'example' => '{ "count":2, "code":"multiCarrier" }', - ], - 'NetDistrictCode' => [ - 'description' => 'The region code.'."\n", - 'type' => 'string', - 'example' => '100101', - ], - 'NetDistrictEnName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'northEast', - ], - 'NetDistrictFatherCode' => [ - 'description' => 'The parent code of the region.'."\n", - 'type' => 'string', - 'example' => '100000', - ], - 'NetDistrictLevel' => [ - 'description' => 'The region level. Valid values:'."\n" - ."\n" - .'* **Big**: area'."\n" - .'* **Middle**: province'."\n" - .'* **Small**: city'."\n", - 'type' => 'string', - 'example' => 'Big', - ], - 'NetDistrictName' => [ - 'description' => 'The Chinese name of the region.'."\n", - 'type' => 'string', - 'example' => 'Northeast China'."\n", - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1707B55C-A12F-43EF-BC66-14FFDB9253C3', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"EnsNetDistricts\\": {\\n \\"EnsNetDistrict\\": [\\n {\\n \\"EnsRegionIdCount\\": \\"{ \\\\\\"count\\\\\\":2, \\\\\\"name\\\\\\":\\\\\\"电信\\\\\\", \\\\\\"code\\\\\\":\\\\\\"telecom\\\\\\", \\\\\\"country\\\\\\":\\\\\\"cn\\\\\\" }\\",\\n \\"InstanceCount\\": \\"{ \\\\\\"count\\\\\\":2, \\\\\\"code\\\\\\":\\\\\\"multiCarrier\\\\\\" }\\",\\n \\"NetDistrictCode\\": \\"100101\\",\\n \\"NetDistrictEnName\\": \\"northEast\\",\\n \\"NetDistrictFatherCode\\": \\"100000\\",\\n \\"NetDistrictLevel\\": \\"Big\\",\\n \\"NetDistrictName\\": \\"东北\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"1707B55C-A12F-43EF-BC66-14FFDB9253C3\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n \\n 1\\n cmcc\\n \\n \\n 3\\n telecom\\n \\n \\n 2\\n unicom\\n \\n \\n 2\\n multiCarrier\\n \\n 100101\\n 100000\\n Big\\n northEast\\n \\n 2\\n 电信\\n telecom\\n cn\\n \\n \\n 3\\n 联通\\n unicom\\n cn\\n \\n \\n 1\\n 移动\\n cmcc\\n cn\\n \\n 东北\\n \\n \\n \\n 1\\n cmcc\\n \\n \\n 1\\n telecom\\n \\n \\n 2\\n unicom\\n \\n 100107\\n 100000\\n Big\\n northWest\\n \\n 2\\n 电信\\n telecom\\n cn\\n \\n \\n 2\\n 联通\\n unicom\\n cn\\n \\n \\n 1\\n 移动\\n cmcc\\n cn\\n \\n 西北\\n \\n\\n1707B55C-A12F-43EF-BC66-14FFDB9253C3\\n0\\n\\n","errorExample":""}]', - 'title' => 'DescribeEnsNetSaleDistrict', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeEnsNetLevel' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'EnsNetLevels' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnsNetLevel' => [ - 'description' => 'The network levels.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsNetLevelCode' => [ - 'description' => 'The network level. Valid values:'."\n" - ."\n" - .'* Big: greater area.'."\n" - .'* Middle: province.'."\n" - .'* Small: city.'."\n", - 'type' => 'string', - 'example' => 'Big', - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '86A6D421-A0C7-4C01-8648-47377CA6A2CE', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"EnsNetLevels\\": {\\n \\"EnsNetLevel\\": [\\n {\\n \\"EnsNetLevelCode\\": \\"Big\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"86A6D421-A0C7-4C01-8648-47377CA6A2CE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n86A6D421-A0C7-4C01-8648-47377CA6A2CE\\n\\n \\n Big\\n \\n \\n Small\\n \\n \\n Middle\\n \\n\\n0\\n\\n","errorExample":""}]', - 'title' => 'DescribeEnsNetLevel', - 'summary' => 'Queries the supported network levels.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeBandWithdChargeType' => [ - 'summary' => 'Queries available bandwidth metering methods.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '1411', - 'abilityTreeNodes' => [ - 'FEATUREensRIM251', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'BandWithTypeInfo' => [ - 'description' => 'The information about the metering method.'."\n", - 'type' => 'string', - 'example' => '{ "BandWidthName": "Monthly peak bandwidth of 95", "BandWidthType": "95BandwidthByMonth" }', - ], - 'ChargeContractType' => [ - 'description' => 'The metering type.'."\n" - ."\n" - .'* ChargeByUnified: unified metering.'."\n" - .'* ChargeByGrade: differential metering.'."\n", - 'type' => 'string', - 'example' => 'ChargeByGrade', - ], - 'ChargeCycleInfo' => [ - 'description' => 'The metering cycle. Currently, this parameter is empty in the response.'."\n", - 'type' => 'string', - 'example' => '{null}', - ], - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '791049FD-49CE-4667-BD6C-F23094DEDA7A', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"BandWithTypeInfo\\": \\"{ \\\\\\"BandWidthName\\\\\\": \\\\\\"月95峰值带宽\\\\\\", \\\\t\\\\t\\\\t\\\\\\"BandWidthType\\\\\\": \\\\\\"95BandwidthByMonth\\\\\\" \\\\t\\\\t}\\",\\n \\"ChargeContractType\\": \\"ChargeByGrade\\",\\n \\"ChargeCycleInfo\\": \\"{null}\\",\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"791049FD-49CE-4667-BD6C-F23094DEDA7A\\"\\n}","errorExample":""},{"type":"xml","example":"\\n { \\"BandWidthName\\": \\"月95峰值带宽\\", \\t\\t\\t\\"BandWidthType\\": \\"95BandwidthByMonth\\" \\t\\t}\\n ChargeByGrade\\n {null}\\n 0\\n 791049FD-49CE-4667-BD6C-F23094DEDA7A\\n","errorExample":""}]', - 'title' => 'DescribeBandWithdChargeType', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeInstanceSpec' => [ - 'summary' => 'Queries the instance specifications that you can purchase.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'BandwidthLimit' => [ - 'description' => 'The bandwidth limit for a single instance. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DataDiskMaxSize' => [ - 'description' => 'The maximum capacity of a data disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20015', - ], - 'DataDiskMinSize' => [ - 'description' => 'The minimum capacity of a data disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InstanceSpecs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceSpec' => [ - 'description' => 'The information about instance specifications.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Core' => [ - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'DisplayName' => [ - 'description' => 'The display name of the instance type.'."\n", - 'type' => 'string', - 'example' => 'Computational 1C2G'."\n", - ], - 'InstanceType' => [ - 'description' => 'The type of the instance.'."\n", - 'type' => 'string', - 'example' => 'ens.sn1.stiny', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: MB.'."\n", - 'type' => 'string', - 'example' => '2048', - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1ECC937A-AE0E-4626-BE51-DED1D6D1C888', - ], - 'SystemDiskMaxSize' => [ - 'description' => 'The maximum capacity of the system disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"BandwidthLimit\\": 0,\\n \\"Code\\": 0,\\n \\"DataDiskMaxSize\\": 20015,\\n \\"DataDiskMinSize\\": 0,\\n \\"InstanceSpecs\\": {\\n \\"InstanceSpec\\": [\\n {\\n \\"Core\\": \\"1\\",\\n \\"DisplayName\\": \\"计算型1C2G\\",\\n \\"InstanceType\\": \\"ens.sn1.stiny\\",\\n \\"Memory\\": \\"2048\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\",\\n \\"SystemDiskMaxSize\\": 80\\n}","errorExample":""},{"type":"xml","example":"\\n0\\n1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\n80\\n20015\\n0\\n\\n \\n 2048\\n 计算型1C2G\\n ens.sn1.stiny\\n 1\\n \\n \\n 4096\\n 计算型2C4G\\n ens.sn1.tiny\\n 2\\n \\n\\n100\\n\\n","errorExample":""}]', - 'title' => 'DescribeInstanceSpec', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeEnsRegionIdIpv6Info' => [ - 'summary' => 'Queries whether a node supports IPv6.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the node. You can specify only one node ID in a call.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-chengdu-xxxx-4', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3703C4AC-9396-458C-8F25-1D701334D309', - ], - 'SupportIpv6Info' => [ - 'description' => 'IPv6 support information.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-xxxx-4', - ], - 'SupportIpv6' => [ - 'description' => 'Specifies whether IPv6 is supported. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The input parameter is Invalid.', - ], - [ - 'errorCode' => 'StockNotEnough', - 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3703C4AC-9396-458C-8F25-1D701334D309\\",\\n \\"SupportIpv6Info\\": {\\n \\"EnsRegionId\\": \\"cn-chengdu-****-4\\",\\n \\"SupportIpv6\\": true\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 3703C4AC-9396-458C-8F25-1D701334D309\\n \\n cn-chengdu-****-4\\n true\\n \\n","errorExample":""}]', - 'title' => 'DescribeEnsRegionIdIpv6Info', - ], - 'DescribeRegionIsps' => [ - 'summary' => 'Queries information about the Internet service providers (ISPs) of edge nodes.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '104087', - 'abilityTreeNodes' => [ - 'FEATUREensDHOSNR', - ], - ], - 'parameters' => [ - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the node. You can specify only one node ID in a call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-dalian-unicom', - ], - ], - ], - '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' => 'DC90CC7E-23B6-5A90-9097-A17CE4A161C4', - ], - 'Isps' => [ - 'description' => 'The list of ISPs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'List of operators.', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The code of the ISP.'."\n", - 'type' => 'string', - 'example' => 'cmcc', - ], - 'Name' => [ - 'description' => 'The name of the ISP.'."\n", - 'type' => 'string', - 'example' => 'move'."\n", - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC90CC7E-23B6-5A90-9097-A17CE4A161C4\\",\\n \\"Isps\\": [\\n {\\n \\"Code\\": \\"cmcc\\",\\n \\"Name\\": \\"移动\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeRegionIsps', - ], - 'DescribeInstanceAutoRenewAttribute' => [ - 'summary' => 'You can call this operation to query whether auto-renewal is enabled for an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of an instance. Separate multiple IDs with semicolons (;).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5ci7l7k1m9m2zmhp4iw3o****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InstanceRenewAttributes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceRenewAttribute' => [ - 'description' => 'The renewal status of the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AutoRenewal' => [ - 'description' => 'The renewal type of the instance.'."\n" - ."\n" - .'* **true**: enables auto-renewal.'."\n" - .'* **false**: disables auto-renewal.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Duration' => [ - 'description' => 'The unit of the auto-renewal period.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-5ci7l7k1m9m2zmhp4iw3o****', - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4DD66F05-3116-4BAA-B588-52EB2E7F431D', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"InstanceRenewAttributes\\": {\\n \\"InstanceRenewAttribute\\": [\\n {\\n \\"AutoRenewal\\": false,\\n \\"Duration\\": \\"0\\",\\n \\"InstanceId\\": \\"i-5ci7l7k1m9m2zmhp4iw3o****\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"4DD66F05-3116-4BAA-B588-52EB2E7F431D\\"\\n}","errorExample":""},{"type":"xml","example":"\\n \\n false\\n i-5ci7l7k1m9m2zmhp4iw3o****\\n 0\\n \\n\\n4DD66F05-3116-4BAA-B588-52EB2E7F431D\\n0","errorExample":""}]', - 'title' => 'DescribeInstanceAutoRenewAttribute', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeInstanceMonitorData' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance. You can specify only one instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourInstance ID', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-10-29T23:00:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-10-30T08:00:00Z', - ], - ], - [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The precision of the monitoring data that you want to obtain. Valid values: 60, 300, 1200, 3600, and 14400. Default value: 60. Unit: seconds.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '60', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'MonitorData' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceMonitorData' => [ - 'description' => 'The set of InstanceMonitorDataType data.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'description' => 'The vCPU usage of the instance, which is raw data. For example, a value of 0.02 indicates that the usage is 2%.'."\n", - 'type' => 'string', - 'example' => '0.02', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'yourInstance ID', - ], - 'Memory' => [ - 'description' => 'This parameter is not yet supported.'."\n", - 'type' => 'string', - 'example' => 'Not currently supported'."\n", - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"MonitorData\\": {\\n \\"InstanceMonitorData\\": [\\n {\\n \\"CPU\\": \\"0.02\\",\\n \\"InstanceId\\": \\"yourInstance ID\\",\\n \\"Memory\\": \\"暂不支持\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\"\\n}","errorExample":""},{"type":"xml","example":"C8B26B44-0189-443E-9816-D951F59623A9\\n\\n \\n yourInstance ID\\n 暂不支持\\n 0.02\\n \\n\\n0","errorExample":""}]', - 'title' => 'DescribeInstanceMonitorData', - 'summary' => 'Queries the vCPU and memory usage of an instance.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeInstanceTypes' => [ - 'summary' => 'Queries the specifications of instance types.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The status code. If the request is successful, 0 is returned. If the request fails, a non-zero error code is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceType' => [ - 'description' => 'Details about the instance types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Specification list information.', - 'type' => 'object', - 'properties' => [ - 'CpuCoreCount' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InstanceTypeId' => [ - 'description' => 'This parameter is unavailable.'."\n", - 'type' => 'string', - 'example' => 'This parameter is not needed temporarily.'."\n", - ], - 'InstanceTypeName' => [ - 'description' => 'The name of the instance type.'."\n", - 'type' => 'string', - 'example' => 'ens.xxx.small', - ], - 'MemorySize' => [ - 'description' => 'The memory size. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8192', - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D452D190-BADF-5D09-910D-599B96D42AAA', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n {\\n \\"CpuCoreCount\\": 2,\\n \\"InstanceTypeId\\": \\"此参数暂时不用。\\",\\n \\"InstanceTypeName\\": \\"ens.xxx.small\\",\\n \\"MemorySize\\": 8192\\n }\\n ]\\n },\\n \\"RequestId\\": \\"D452D190-BADF-5D09-910D-599B96D42AAA\\"\\n}","type":"json"}]', - 'title' => 'DescribeInstanceTypes', - ], - 'DescribeInstanceVncUrl' => [ - 'summary' => 'Queries the Virtual Network Computing (VNC) URL of an Edge Node Service (ENS) instance.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => '实例ID。', - 'description' => 'The ID of the instance'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5bp1hzoinajzkh91h****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID。', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'VncUrl' => [ - 'title' => '管理终端Url。', - 'description' => 'The URL of the VNC management terminal.'."\n", - 'type' => 'string', - 'example' => 'wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidInstanceType.NotSupported', - 'errorMessage' => 'The specified InstanceType is not Supported.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"VncUrl\\": \\"wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996\\"\\n}","type":"json"}]', - 'title' => 'DescribeInstanceVncUrl', - ], - 'DescribeCreatePrePaidInstanceResult' => [ - 'summary' => 'Queries the results of creating an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance. You can call the CreateIntance operation to create an instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-6ecpqvkicnchxccozrp****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceCreateResult' => [ - 'description' => 'Returned results of creating an instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceCreateStatus' => [ - 'description' => 'The status of the instance creation.'."\n" - ."\n" - .'* Accepted'."\n" - .'* Creating'."\n" - .'* Failed'."\n" - .'* Successed'."\n", - 'type' => 'string', - 'example' => 'Successed', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-6ecpqvkicnchxccozrpxxxx', - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The input parameter is Invalid.', - ], - [ - 'errorCode' => 'StockNotEnough', - 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceCreateResult\\": {\\n \\"InstanceCreateStatus\\": \\"Successed\\",\\n \\"InstanceId\\": \\"i-6ecpqvkicnchxccozrpxxxx\\"\\n },\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\n i-6ecpqvkicnchxccozrpxxxx\\n Successed\\n\\nAAE90880-4970-4D81-A534-A6C0F3631F74\\n\\n","errorExample":""}]', - 'title' => 'DescribeCreatePrePaidInstanceResult', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateImage' => [ - 'summary' => 'Creates an image from an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '921', - 'abilityTreeNodes' => [ - 'FEATUREens10C7IY', - ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5rr1bnyrc4tswr8cq3w6y****', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. The name must be 2 to 128 characters in length. The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter but cannot start with `http://` or `https://`. The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ImageName', - ], - ], - [ - 'name' => 'DeleteAfterImageUpload', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically release the instance after the image is packaged and uploaded. Only image builders are supported. Default value: false. Valid values:'."\n" - ."\n" - .'* true: The image is released when the instance is released.'."\n" - .'* false: The image is retained when the instance is released.'."\n" - .'* If you leave this property empty, false is used by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - 'default' => 'true', - 'enum' => [ - 'true', - 'false', - ], - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-bp67acfmxazb4p****', - ], - ], - [ - 'name' => 'TargetOSSRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region of the destination OSS bucket where the image is to be stored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - 'enum' => [ - 'cn-beijing', - 'ap-southeast-1', - 'vietnam', - 'thailand', - ], - ], - ], - [ - 'name' => 'WithDataDisks', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to include data disk snapshots in the custom image.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'Value true false (default)'."\n", - 'default' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8BEF0D72-9901-5D43-B7D3-8B42AC26C516', - ], - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ImageId' => [ - 'title' => '镜像ID', - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'm-5xxgg', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'QuotaExceed', - 'errorMessage' => 'The custom image quota has been used up.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8BEF0D72-9901-5D43-B7D3-8B42AC26C516\\",\\n \\"Code\\": 0,\\n \\"ImageId\\": \\"m-5xxgg\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8BEF0D72-9901-5D43-B7D3-8B42AC26C516\\n 0\\n m-5xxgg\\n","errorExample":""}]', - 'title' => 'CreateImage', - ], - 'ExportImage' => [ - 'summary' => 'Exports a custom image to an Object Storage Service (OSS) bucket in the same region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '3679', - 'abilityTreeNodes' => [ - 'FEATUREensU96TR9', - ], - ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-5ragaz3s74b7go8ks7jp9****', - ], - ], - [ - 'name' => 'OSSBucket', - 'in' => 'query', - 'schema' => [ - 'description' => 'The OSS bucket to which you want to export the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'whxyl****', - ], - ], - [ - 'name' => 'OSSRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing', - 'enum' => [ - 'cn-beijing', - ], - ], - ], - [ - 'name' => 'OSSPrefix', - 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of the object as which you want to store the image in the OSS bucket. The prefix must be 1 to 30 characters in length and can contain digits and letters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dataCenter/972****/', - 'maxLength' => 30, - ], - ], - [ - 'name' => 'RoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Resource Access Management (RAM) role.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AliyunMNSLoggingRole', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ExportedImageURL' => [ - 'description' => 'The URL that points to the exported image.'."\n", - 'type' => 'string', - 'example' => 'http://oss.url', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '43A426AD-3F2E-5DD9-9C08-D4DBDCA48D85', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidImageType.NotSupported', - 'errorMessage' => 'The specified image type is not supported.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ExportedImageURL\\": \\"http://oss.url\\",\\n \\"RequestId\\": \\"43A426AD-3F2E-5DD9-9C08-D4DBDCA48D85\\"\\n}","errorExample":""},{"type":"xml","example":"\\n http://oss.url\\n 43A426AD-3F2E-5DD9-9C08-D4DBDCA48D85\\n","errorExample":""}]', - 'title' => 'ExportImage', - ], - 'DescribeSelfImages' => [ - 'summary' => 'Queries custom images.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '2061', - 'abilityTreeNodes' => [ - 'FEATUREens10C7IY', - ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number to return. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像ID,支持模糊查询。', - 'description' => 'The ID of the image. Fuzzy search is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_6_08_64_20G_a****', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像名称,支持模糊查询。', - 'description' => 'The name of the image. Fuzzy search is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_6_08_64_20G_a****', - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-5xg63dmojc1oaa3pk****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Image' => [ - 'description' => 'The image information.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Architecture' => [ - 'description' => 'The image architecture. Valid values:'."\n" - ."\n" - .'* i386'."\n" - .'* x86\\_64'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - 'CreationTime' => [ - 'description' => 'The image creation time. 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' => '2017-12-08T12:10:03Z', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_a****', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_a****', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The source of the image. Valid values:'."\n" - ."\n" - .'* **others**: a custom image that is shared by other Alibaba Cloud accounts.'."\n" - .'* **self**: your own custom image.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'ImageSize' => [ - 'description' => 'The size of the image. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-5iqczfxps7csjrxeca****', - ], - 'OsVersion' => [ - 'description' => 'The operating system version.'."\n", - 'type' => 'string', - 'example' => '7.2', - ], - 'Platform' => [ - 'description' => 'The platform.'."\n" - ."\n" - .'* centos'."\n" - .'* ubuntu'."\n" - .'* alios'."\n" - .'* debian'."\n" - .'* rhel'."\n" - .'* windows'."\n", - 'type' => 'string', - 'example' => 'centos', - ], - 'Status' => [ - 'description' => 'The state of the image.'."\n" - ."\n" - .'* Creating.'."\n" - .'* Packing.'."\n" - .'* Uploading.'."\n" - .'* Pack_failed.'."\n" - .'* Upload_failed.'."\n" - .'* Available: Only images in the Available state can be used and operated.'."\n" - .'* Unavailable.'."\n" - .'* Copying.'."\n", - 'type' => 'string', - 'example' => 'Creating', - ], - 'ComputeType' => [ - 'description' => 'Computing type. ens_vm/ens: x86 computing. bare_metal: x86 bare machine or x86 bare metal. arm_vm: ARM computing. arm_bare_metal: ARM bare machine or ARM bare metal. pcfarm: heterogeneous computing.'."\n", - 'type' => 'string', - 'example' => 'ens_vm', - ], - 'SnapshotId' => [ - 'description' => 'The snapshot ID.'."\n", - 'type' => 'string', - 'example' => 'sp-5yt3bdedxzdz6t6uuw****', - ], - 'DiskDeviceMappings' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DiskDeviceMapping' => [ - 'description' => 'The mappings between the disk and the snapshot in the image.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The mappings between the disk and the snapshot in the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the disk. Valid values:'."\n" - ."\n" - .'* system: system disk.'."\n" - .'* data: data disk.'."\n", - 'type' => 'string', - 'example' => 'Data', - ], - 'Size' => [ - 'description' => 'The size of the disk. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Format' => [ - 'description' => 'The format of the image.'."\n", - 'type' => 'string', - 'example' => 'The format of the image.'."\n" - .'raw'."\n" - .'qcow2', - ], - 'imageId' => [ - 'description' => 'The ID of image.', - 'type' => 'string', - 'example' => 'i-test', - ], - ], - ], - ], - ], - ], - 'ImageStorageSize' => [ - 'description' => 'The size of the image storage.'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - ], - 'description' => '', - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A8B8EB73-B4FD-4262-8EF6-680DF39C9BA0', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page. Maximum value: 50. Default value: 10.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Architecture\\": \\"x86_64\\",\\n \\"CreationTime\\": \\"2017-12-08T12:10:03Z\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_a****\\",\\n \\"ImageName\\": \\"centos_6_08_64_20G_a****\\",\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"ImageSize\\": \\"20\\",\\n \\"InstanceId\\": \\"i-5iqczfxps7csjrxeca****\\",\\n \\"OsVersion\\": \\"7.2\\",\\n \\"Platform\\": \\"centos\\",\\n \\"Status\\": \\"Creating\\",\\n \\"ComputeType\\": \\"ens_vm\\",\\n \\"SnapshotId\\": \\"sp-5yt3bdedxzdz6t6uuw****\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"Data\\",\\n \\"Size\\": \\"100\\",\\n \\"Format\\": \\"镜像格式。\\\\nraw\\\\nqcow2\\",\\n \\"imageId\\": \\"i-test\\"\\n }\\n ]\\n },\\n \\"ImageStorageSize\\": \\"400\\",\\n \\"RegionId\\": \\"cn-wulanchabu\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A8B8EB73-B4FD-4262-8EF6-680DF39C9BA0\\",\\n \\"PageSize\\": \\"10\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"TotalCount\\": \\"1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n \\n x86_64\\n 2017-12-08T12:10:03Z\\n centos_6_08_64_20G_a****\\n centos_6_08_64_20G_a****\\n system\\n 20\\n i-5iqczfxps7csjrxeca****\\n 7.2\\n centos\\n Creating\\n \\n A8B8EB73-B4FD-4262-8EF6-680DF39C9BA0\\n","errorExample":""}]', - 'title' => 'DescribeSelfImages', - ], - 'DeleteImage' => [ - 'summary' => 'Deletes a custom image.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '2550', - 'abilityTreeNodes' => [ - 'FEATUREens10C7IY', - ], - ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image. You can specify only one image ID.'."\n" - ."\n" - .'You can delete only custom images that you created.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-5taesrgwpo9zqj9cjqu792****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0D94920B-0349-5097-A57F-31876405F2E5', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'Forbidden.DelerrorteImage', - 'errorMessage' => 'The image cannot be deleted when used by instance.', - ], - [ - 'errorCode' => 'Error.DeleteImage', - 'errorMessage' => 'The image cannot be deleted when used by instance.', - ], - [ - 'errorCode' => 'IncorrectStatus.Image', - 'errorMessage' => 'The current status of the image does not support this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"0D94920B-0349-5097-A57F-31876405F2E5\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n 0D94920B-0349-5097-A57F-31876405F2E5\\n","errorExample":""}]', - 'title' => 'DeleteImage', - ], - 'ModifyImageAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-5t4xwkfkbs0uxv0kymdb6uip7', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Image Name'."\n", - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The service code. 0 is returned for a successful request. An error code is returned for a failed request.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AC66B8F3-0B0A-5FB1-9EA2-DC03B2CD5B04', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"AC66B8F3-0B0A-5FB1-9EA2-DC03B2CD5B04\\"\\n}","type":"json"}]', - 'title' => 'ModifyImageAttribute', - 'summary' => 'Modifies the image attributes.', - ], - 'ModifyImageSharePermission' => [ - 'summary' => 'Shares or unshares an image.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '4386', - 'abilityTreeNodes' => [ - 'FEATUREensW6UXP8', - ], - ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image. You can specify only one image ID. Custom images and public images are supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-5s7qotzavwbrnzaqh4unm****', - ], - ], - [ - 'name' => 'AddAccounts', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Alibaba Cloud account with which you want to share the image. You can specify multiple Alibaba Cloud IDs. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1122334455**', - ], - ], - [ - 'name' => 'RemoveAccounts', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Alibaba Cloud account from which you want to unshare the image. You can specify only one Alibaba Cloud account ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '113355**', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '701B3BB9-9190-544D-90D1-328B0527380C', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidImageType.NotSupported', - 'errorMessage' => 'The specified image type is not supported.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"701B3BB9-9190-544D-90D1-328B0527380C\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 701B3BB9-9190-544D-90D1-328B0527380C\\n","errorExample":""}]', - 'title' => 'ModifyImageSharePermission', - ], - 'DescribeImages' => [ - 'summary' => 'Queries available images.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '3619', - 'abilityTreeNodes' => [ - 'FEATUREensU96TR9', - ], - ], - 'parameters' => [ - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-dalian-unicom', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image. You can specify only one image ID.'."\n" - ."\n" - .'Custom images and public images are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'm-5qm2r6xo7njrpdkx04q1o****', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is unavailable.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'This parameter is not currently in use.'."\n", - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the custom image. The name must be 2 to 128 characters in length The name must start with a letter and cannot start with `acs:` or `aliyun`. The name cannot contain `http://` or `https://`. The name can contain letters, digits, periods (.), colons (:), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'By default, this parameter is left empty, which indicates that the original name is retained.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_6_08_64_20G_a****', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: **50**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '50', - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mock-clone_snapshot_id', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Image' => [ - 'description' => 'The information about the images.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'Architecture' => [ - 'description' => 'The architecture of the image. Example: **x86\\_64**.'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - 'CreationTime' => [ - 'description' => 'The time when the image was created. The time follows the ISO 8601 standard.'."\n", - 'type' => 'string', - 'example' => '2017-12-08T12:10:03Z', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_alibase_2017****', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'Ubuntu_16.04', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The source of the image. Valid values:'."\n" - ."\n" - .'* system: Alibaba Cloud public images'."\n" - .'* self: your custom images'."\n" - .'* others: shared images from other Alibaba Cloud accounts, or community images published by other Alibaba Cloud accounts'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'ImageSize' => [ - 'description' => 'The size of the image. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '40', - ], - 'Platform' => [ - 'description' => 'The operating system type of the image. Valid values:'."\n" - ."\n" - .'* Linux'."\n" - .'* Windows'."\n", - 'type' => 'string', - 'example' => 'centos', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'example' => 'mock-clone_snapshot_id', - ], - 'DiskDeviceMappings' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DiskDeviceMapping' => [ - 'description' => 'The mappings between the disk and the snapshot in the image.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The mappings between the disk and the snapshot in the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the disk. Valid values:'."\n" - ."\n" - .'* system: system disk.'."\n" - .'* data: data disk.'."\n", - 'type' => 'string', - 'example' => 'Data', - ], - 'Size' => [ - 'description' => 'The size of the disk. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Format' => [ - 'description' => 'The format of the image.'."\n", - 'type' => 'string', - 'example' => 'The format of the image.'."\n" - .'raw'."\n" - .'qcow2', - ], - 'imageId' => [ - 'description' => 'The ID of image.', - 'type' => 'string', - 'example' => 'i-test', - ], - ], - ], - ], - ], - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '8331AA01-C16D-5481-BB47-D19CEBAA811E', - ], - 'TotalCount' => [ - 'description' => 'The total number of images.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Architecture\\": \\"x86_64\\",\\n \\"CreationTime\\": \\"2017-12-08T12:10:03Z\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_2017****\\",\\n \\"ImageName\\": \\"Ubuntu_16.04\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"ImageSize\\": \\"40\\",\\n \\"Platform\\": \\"centos\\",\\n \\"SnapshotId\\": \\"mock-clone_snapshot_id\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"Data\\",\\n \\"Size\\": \\"100\\",\\n \\"Format\\": \\"镜像格式。\\\\nraw\\\\nqcow2\\",\\n \\"imageId\\": \\"i-test\\"\\n }\\n ]\\n },\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"8331AA01-C16D-5481-BB47-D19CEBAA811E\\",\\n \\"TotalCount\\": 4\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n \\n x86_64\\n 2017-12-08T12:10:03Z\\n centos_6_08_64_20G_alibase_2017****\\n Ubuntu_16.04\\n system\\n 40\\n centos\\n mock-clone_snapshot_id\\n \\n 1\\n 10\\n 8331AA01-C16D-5481-BB47-D19CEBAA811E\\n 4\\n","errorExample":""}]', - 'title' => 'DescribeImages', - ], - 'DescribeImageInfos' => [ - 'summary' => 'Queries available images.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '4371', - 'abilityTreeNodes' => [ - 'FEATUREens10C7IY', - ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'OsType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The operating system (OS). You can specify only one OS in a request. If you do not specify a value for this parameter, images for all supported OSs are queried. Valid values:'."\n" - ."\n" - .'* linux'."\n" - .'* windows'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'linux', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code that is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Image' => [ - 'description' => 'The information about images.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'description' => 'The description of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_alibase_2017****', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_alibase_2017****', - ], - 'ImageSize' => [ - 'description' => 'The size of the image. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'ImageVersion' => [ - 'description' => 'The version of the image.'."\n", - 'type' => 'string', - 'example' => '6.8', - ], - 'OSName' => [ - 'description' => 'The type of the image. Valid values: **centos**, **debian**, **ubuntu**, and **windows**.'."\n", - 'type' => 'string', - 'example' => 'centos', - ], - 'OSType' => [ - 'description' => 'The type of the operating system.'."\n", - 'type' => 'string', - 'example' => 'linux', - ], - 'ComputeType' => [ - 'description' => 'The computing type of the image. Valid values:'."\n" - ."\n" - .'* ens_vm: x86 computing.'."\n" - .'* arm_vm: ARM computing.'."\n" - .'* bare_metal: x86 bare machine.'."\n" - .'* pcfarm: heterogeneous computing.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'ens_vm' => '', - 'arm_vm' => '', - 'bare_metal' => '', - 'pcfarm' => '', - ], - 'example' => 'ens_vm', - ], - 'DiskDeviceMappings' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DiskDeviceMapping' => [ - 'description' => 'The mappings between disks and snapshots in the image.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The mappings between the disk and the snapshot in the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the disk. Valid values: System and Data.'."\n", - 'type' => 'string', - 'example' => 'Data', - ], - 'Size' => [ - 'description' => 'The size of the image. Unit: GB.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Format' => [ - 'description' => 'The format of the image.'."\n", - 'type' => 'string', - 'example' => 'The format of the image.'."\n" - .'raw'."\n" - .'qcow2', - ], - 'imageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'i-test', - ], - ], - ], - ], - ], - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '5568A08C-10A9-47F3-902F-647298B463FB', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Description\\": \\"centos_6_08_64_20G_alibase_2017****\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_2017****\\",\\n \\"ImageSize\\": \\"20\\",\\n \\"ImageVersion\\": \\"6.8\\",\\n \\"OSName\\": \\"centos\\",\\n \\"OSType\\": \\"linux\\",\\n \\"ComputeType\\": \\"ens_vm\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"Data\\",\\n \\"Size\\": \\"100\\",\\n \\"Format\\": \\"镜像格式,取值\\\\nraw\\\\nqcow2\\",\\n \\"imageId\\": \\"i-test\\"\\n }\\n ]\\n },\\n \\"RegionId\\": \\"cn-wulanchabu\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"5568A08C-10A9-47F3-902F-647298B463FB\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n \\n centos_6_08_64_20G_alibase_2017****\\n centos_6_08_64_20G_alibase_2017****\\n 20\\n 6.8\\n centos\\n linux\\n StreamCompute\\n \\n 5568A08C-10A9-47F3-902F-647298B463FB\\n","errorExample":""}]', - 'title' => 'DescribeImageInfos', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeImageSharePermission' => [ - 'summary' => 'Queries the accounts with which you share an image specified by the ImageId parameter.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '18007', - 'abilityTreeNodes' => [ - 'FEATUREensW6UXP8', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-5s7qotzavwbrnzaqh4unm****', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: **100**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'string', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'AliyunId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '171710408091****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of Alibaba Cloud accounts with which you share the image.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A44EE357-6174-5E37-A801-48F5790F9ACE', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'm-5qkf6jv9a0tzd5ipwx5fi****', - ], - 'Accounts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Account' => [ - 'description' => 'The account information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The registered Alibaba Cloud accounts with which you share the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'AliyunUid' => [ - 'description' => 'The Alibaba Cloud account with which you share the image.'."\n", - 'type' => 'string', - 'example' => '1515285523xxxx', - ], - ], - 'example' => '[{"AliyunId": 197265348438****},]', - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 100,\\n \\"RequestId\\": \\"A44EE357-6174-5E37-A801-48F5790F9ACE\\",\\n \\"PageNumber\\": 1,\\n \\"ImageId\\": \\"m-5qkf6jv9a0tzd5ipwx5fi****\\",\\n \\"Accounts\\": {\\n \\"Account\\": [\\n {\\n \\"AliyunUid\\": \\"151528552xxxxx\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2\\n 100\\n A44EE357-6174-5E37-A801-48F5790F9ACE\\n 1\\n m-5qkf6jv9a0tzd5ipwx5fi****\\n [{\\"AliyunId\\": 197265348438****},]\\n","errorExample":""}]', - 'title' => 'DescribeImageSharePermission', - ], - 'DescribeExportImageStatus' => [ - 'summary' => 'Queries the export status of an image.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'centos_6_08_64_20G_alibase_****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ImageExportStatus' => [ - 'description' => 'The export status of the image. Valid values:'."\n" - ."\n" - .'* Exporting'."\n" - .'* Exported'."\n" - .'* ExportError'."\n" - .'* Unexported'."\n", - 'type' => 'string', - 'example' => 'Exporting', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14BBB3A0-3DBE-54F5-AEC8-01D3F6B1EBE2', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ImageExportStatus\\": \\"Exporting\\",\\n \\"RequestId\\": \\"14BBB3A0-3DBE-54F5-AEC8-01D3F6B1EBE2\\"\\n}","type":"json"}]', - 'title' => 'DescribeExportImageStatus', - ], - 'DescribeExportImageInfo' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'm-xxxxx', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testImageName', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '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' => '50', - 'example' => '10', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Image' => [ - 'description' => 'The returned result. For more information, see the Images parameter described in the JSON-formatted sample success response.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Architecture' => [ - 'description' => 'The architecture of the image. Example: **x86\\_64**.'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - 'CreationTime' => [ - 'description' => 'The time when the image was created.'."\n", - 'type' => 'string', - 'example' => '2017-12-08T12:10:03Z', - ], - 'ExportedImageURL' => [ - 'description' => 'The URL of the exported image.'."\n", - 'type' => 'string', - 'example' => 'https://user_defined_bucket.oss-cn-beijing.aliyuncs.com/m-xxxxxxxxx1.qcow2', - ], - 'ImageExportStatus' => [ - 'description' => 'The export status of the image. Valid values:'."\n" - ."\n" - .'* Exporting'."\n" - .'* Exported'."\n" - .'* ExportError'."\n" - .'* Unexported'."\n", - 'type' => 'string', - 'example' => 'Exported', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'm-xxxxxxxxx1', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'm-xxxxxxxxx1', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The source of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Platform' => [ - 'description' => 'The OS.'."\n", - 'type' => 'string', - 'example' => 'centos', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '13', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Architecture\\": \\"x86_64\\",\\n \\"CreationTime\\": \\"2017-12-08T12:10:03Z\\",\\n \\"ExportedImageURL\\": \\"https://user_defined_bucket.oss-cn-beijing.aliyuncs.com/m-xxxxxxxxx1.qcow2\\",\\n \\"ImageExportStatus\\": \\"Exported\\",\\n \\"ImageId\\": \\"m-xxxxxxxxx1\\",\\n \\"ImageName\\": \\"m-xxxxxxxxx1\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"Platform\\": \\"centos\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 13\\n}","errorExample":""},{"type":"xml","example":"\\n1\\n13\\n10\\nA46DCC5B-FABC-46A2-B551-7D9CDA0637AD\\n\\n \\n 2017-12-08T12:10:03Z\\n m-xxxxxxxxx1\\n m-xxxxxxxxx1\\n x86_64\\n system\\n centos\\n Exported\\n https://user_defined_bucket.oss-cn-beijing.aliyuncs.com/m-xxxxxxxxx1.qcow2\\n \\n \\n 2017-12-08T12:10:03Z\\n m-xxxxxxxxx2\\n m-xxxxxxxxx2\\n x86_64\\n system\\n centos\\n Exported\\n https://user_defined_bucket.oss-cn-beijing.aliyuncs.com/m-xxxxxxxxx2.qcow2\\n \\n\\n","errorExample":""}]', - 'title' => 'DescribeExportImageInfo', - 'summary' => 'Queries the export result of an image.', - 'description' => '* You can call this operation to query information about all custom images in your account. The information include the image properties, image export status, and the Object Storage Service (OSS) download links.'."\n" - .'* Empty strings are returned for images that are not exported.'."\n" - .'* The download links may become invalid if you delete objects in OSS.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateKeyPair' => [ - 'summary' => 'Creates an SSH key pair.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '914', - 'abilityTreeNodes' => [ - 'FEATUREensCT6YHH', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair. The name must conform to the following naming conventions:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" - .'* It must start with a letter but cannot start with `http://` or `https://`.', - 'type' => 'string', - 'required' => true, - 'example' => 'TestKeyPairName', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'KeyPairFingerPrint' => [ - 'description' => 'The fingerprint of the key pair. The message-digest algorithm 5 (MD5) is used based on the public key fingerprint format defined in RFC 4716. For more information, see [RFC 4716](https://tools.ietf.org/html/rfc4716).'."\n", - 'type' => 'string', - 'example' => '7880c1ad4687fdbf7a6da2131****', - ], - 'KeyPairId' => [ - 'description' => 'The ID of the SSH key pair.'."\n", - 'type' => 'string', - 'example' => 'ssh-5lywanlkih1zo9yl8eg****', - ], - 'KeyPairName' => [ - 'description' => 'The name of the key pair.'."\n", - 'type' => 'string', - 'example' => 'TestKeyPairName', - ], - 'PrivateKeyBody' => [ - 'description' => 'The private key of the key pair. The private key is encoded with PEM in the PKCS#8 format.'."\n", - 'type' => 'string', - 'example' => '-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQE****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"KeyPairFingerPrint\\": \\"7880c1ad4687fdbf7a6da2131****\\",\\n \\"KeyPairId\\": \\"ssh-5lywanlkih1zo9yl8eg****\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"PrivateKeyBody\\": \\"-----BEGIN RSA PRIVATE KEY-----\\\\\\\\nMIIEogIBAAKCAQE****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n7880c1ad4687fdbf7a6da2131****\\nTestKeyPairName\\n473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\nssh-5lywanlkih1zo9yl8eg****\\n-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQE****\\n\\n","errorExample":""}]', - 'title' => 'CreateKeyPair', - 'description' => 'An SSH key pair consists of a public key and a private key. ENS stores the public key and returns the unencrypted private key that is PEM-encoded in the PKCS#8 format. You must securely lock away the private key.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteKeyPairs' => [ - 'summary' => 'Deletes SSH key pairs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '1152', - 'abilityTreeNodes' => [ - 'FEATUREensCT6YHH', - ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair. The name must conform to the following naming conventions:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name must start with a letter and cannot start with `http://` or `https://`.'."\n" - .'* The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'Before you delete a key pair, you can call the DescribeKeyPairs operation to query existing key pairs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKeyPairName', - ], - ], - [ - 'name' => 'KeyPairId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SSH key pair.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ssh-5lywanlkih1zo9yl8eg****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E ', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'PubKeyNameExisted', - 'errorMessage' => 'Public Key Pair Name Existed.', - ], - [ - 'errorCode' => 'PubKeyAttachedWithInstance', - 'errorMessage' => 'Public Key Attached With Instance.', - ], - [ - 'errorCode' => 'InvalidPubKeyBody', - 'errorMessage' => 'Invalid Public Key Body.', - ], - [ - 'errorCode' => 'PubKeyNameNotExist', - 'errorMessage' => 'Public Key Pair Name Not Exist.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n\\r\\n","errorExample":""}]', - 'title' => 'DeleteKeyPairs', - 'description' => '* After you delete an SSH key pair, you can no longer query the key pair by calling the DescribeKeyPairs operation.'."\n" - .'* If you delete an SSH key pair that is bound to an Edge Node Service (ENS) instance, ENS no longer stores the SSH key pair. However, you can still use the key pair to access the instance. When you call the DescribeInstance operation to query instance information, no other information but the name of the key pair (**KeyPairName**) is returned.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ImportKeyPair' => [ - 'summary' => 'Imports the public key of a Rivest–Shamir–Adleman (RSA)-encrypted key pair that is generated by a third-party tool.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '1334', - 'abilityTreeNodes' => [ - 'FEATUREensCT6YHH', - ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair. The name must conform to the following naming conventions:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name must start with a letter but cannot start with `http://` or `https://`.'."\n" - .'* The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'You can specify the name of only one key pair.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TestKeyPairName', - ], - ], - [ - 'name' => 'PublicKeyBody', - 'in' => 'query', - 'schema' => [ - 'description' => 'The public key of the key pair. You can specify only one public key.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ssh-rsa AAAAB****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'KeyPairFingerPrint' => [ - 'description' => 'The fingerprint of the key pair. The message-digest algorithm 5 (MD5) is used based on the public key fingerprint format defined in RFC 4716.'."\n", - 'type' => 'string', - 'example' => 'fdaf8ff7a756ef843814fc****', - ], - 'KeyPairName' => [ - 'description' => 'The name of the key pair.'."\n", - 'type' => 'string', - 'example' => 'TestKeyPairName', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidPublicKeyBody.Malformed', - 'errorMessage' => 'The PublicKeyBody format is not supported.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"KeyPairFingerPrint\\": \\"fdaf8ff7a756ef843814fc****\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\nTestKeyPairName\\nb2389cc0763ac8c342b08334****\\n\\n","errorExample":""}]', - 'title' => 'ImportKeyPair', - 'description' => '* After the key pair is imported, ENS stores the public key. You must securely store the private key.'."\n" - .'* The key pair can be only in the ssh-rsa format.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeKeyPairs' => [ - 'summary' => 'Queries one or more key pairs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair that you want to bind to the simple application server. The name must be 2 to 128 characters in length. The name must start with a letter but cannot start with `http://` or `https://`. The name can contain the following characters:'."\n" - ."\n" - .'* Numbers.'."\n" - .'* :'."\n" - .'* \\_'."\n" - .'* .'."\n" - ."\n" - .'You can specify only one name. By default, all key pairs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKeyPairName', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the returned page. Valid values: integers that are greater than 0. Default value: 1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: integers that are greater than 0. Default value: 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'KeyPairId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the key pair.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' '."\n" - .'ssh-50cynkq42sgj4ej1tn78t4***'."\n", - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'KeyPairs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'KeyPair' => [ - 'description' => 'Details about the key pairs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the key pair 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' => '2020-04-26T15:38:27Z', - ], - 'KeyPairFingerPrint' => [ - 'description' => 'The fingerprint of the key pair.'."\n", - 'type' => 'string', - 'example' => 'fdaf8ff7a756ef843814fc****', - ], - 'KeyPairName' => [ - 'description' => 'The name of the SSH key pair.'."\n", - 'type' => 'string', - 'example' => 'TestKeyPairName', - ], - 'KeyPairId' => [ - 'description' => 'The ID of the key pair.'."\n", - 'type' => 'string', - 'example' => 'ssh-50cynkq42sgj4ej1tn78t4***', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - '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' => '37B52F33-6879-49D0-A39B-22966B01449E', - ], - 'TotalCount' => [ - 'description' => 'The total number of key pairs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"KeyPairs\\": {\\n \\"KeyPair\\": [\\n {\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\",\\n \\"KeyPairFingerPrint\\": \\"fdaf8ff7a756ef843814fc****\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"KeyPairId\\": \\"ssh-50cynkq42sgj4ej1tn78t4***\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"37B52F33-6879-49D0-A39B-22966B01449E\\",\\n \\"TotalCount\\": 7\\n}","errorExample":""},{"type":"xml","example":"\\n7\\n37B52F33-6879-49D0-A39B-22966B01449E\\n10\\n1\\n\\n \\n fdaf8ff7a756ef843814fc****\\n TestKeyPairName\\n 2020-04-26T15:38:27Z\\n \\n\\n\\n","errorExample":""}]', - 'title' => 'DescribeKeyPairs', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateDisk' => [ - 'summary' => 'Creates a pay-as-you-go or subscription data disk.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '101931', - 'abilityTreeNodes' => [ - 'FEATUREensA8B7J7', - ], - ], - 'parameters' => [ - [ - 'name' => 'InstanceChargeType', - 'in' => 'query', - 'schema' => [ - 'title' => '实例付费方式,取值 PrePaid:预付费,包年包月 PostPaid:按量付费。目前只支持:PostPaid', - 'description' => 'The billing method of the instance. Set the value to **PostPaid**.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'PostPaid' => '', - ], - 'example' => 'PostPaid', - 'enum' => [ - 'PostPaid', - ], - ], - ], - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'title' => '节点ID', - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-chengdu-telecom', - ], - ], - [ - 'name' => 'Category', - 'in' => 'query', - 'schema' => [ - 'title' => '磁盘种类 高效云盘:cloud_efficiency 全闪云盘:cloud_ssd', - 'description' => 'The category of the disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: all-flash disk.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'cloud_efficiency' => '', - 'cloud_ssd' => '', - 'local_hdd' => '', - 'ssd:local_ssd' => '', - ], - 'example' => 'cloud_efficiency', - ], - ], - [ - 'name' => 'Size', - 'in' => 'query', - 'schema' => [ - 'title' => '磁盘大小,单位GB', - 'description' => 'The size of the disk. Unit: GiB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'title' => '快照ID。', - 'description' => 'The ID of the snapshot that you want to use to create the disk.'."\n" - ."\n" - .'The following limits apply to the **SnapshotId** and **Size** parameters:'."\n" - ."\n" - .'* If the size of the snapshot specified by **SnapshotId** is greater than the specified **Size** value, the size of the created disk is equal to the specified snapshot size.'."\n" - .'* If the size of the snapshot specified by **SnapshotId** is smaller than the specified **Size** value, the size of the created disk is equal to the specified **Size** value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-897654321****', - ], - ], - [ - 'name' => 'Encrypted', - 'in' => 'query', - 'schema' => [ - 'title' => '云盘是否加密,如果Encrypted=true,KMSKeyId不输入时则采用服务默认密钥。', - 'description' => 'Specifies whether to encrypt the new system disk. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default): no'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'KMSKeyId', - 'in' => 'query', - 'schema' => [ - 'title' => '用户云盘加密的KMS ID。', - 'description' => 'The ID of the Key Management Service (KMS) key that is used by the cloud disk.'."\n" - ."\n" - .'> If you set the **Encrypted** parameter to **true**, the default service key is used when the **KMSKeyId** parameter is empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fxxxxx', - ], - ], - [ - 'name' => 'DiskName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourDiskName', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags of the instance. You can specify at most 20 tags in each call.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag keys.'."\n" - ."\n" - .'You can specify at most 20 tags in each call.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. Valid values of N: **1** to **20**.'."\n" - ."\n" - .'* The key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" - .'* The key must be up to 64 characters in length.'."\n" - .'* The tag key cannot be an empty string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pro', - ], - 'Value' => [ - 'description' => 'The value of a tag that is attached to the topics you want to query. This parameter is not required. If you configure this parameter, you must also configure the **Key** parameter.**** If you include the Key and Value parameters in a request, this operation queries only the topics that use the specified tags. If you do not include these parameters in a request, this operation queries all topics that you can access.'."\n" - ."\n" - .'* Valid values: 1 to 20.'."\n" - .'* The value of this parameter can be an empty string.'."\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' => 'tagValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'InstanceBillingCycle', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'enum' => [ - 'Hour', - 'Day', - 'Month', - ], - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => '返回结构体', - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求唯一ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '7030AB96-57CF-1C68-9FEE-D60E547FD79C', - ], - 'OrderId' => [ - 'title' => '订单id,多个以逗号分割,可以直接跳转到收银行台 只有预付费返回订单号,后付费不返回', - 'description' => 'The ID of the order. Multiple IDs are separated by commas (,).'."\n" - ."\n" - .'> This parameter is not returned for the pay-as-you-go billing method.'."\n", - 'type' => 'string', - 'example' => '21127020370****', - ], - 'InstanceIds' => [ - 'title' => '实列ID集合', - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of an instance.'."\n", - 'type' => 'string', - 'example' => 'd-5rpvziragkacvop665m3h****', - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Stock.NotEnough', - 'errorMessage' => 'The inventory of the specified zone is insufficient.Please contact the product.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'ens.buy.store.empty', - 'errorMessage' => 'Insufficient inventory of purchased resources.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedDiskSpec', - 'errorMessage' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7030AB96-57CF-1C68-9FEE-D60E547FD79C\\",\\n \\"OrderId\\": \\"21127020370****\\",\\n \\"InstanceIds\\": [\\n \\"d-5rpvziragkacvop665m3h****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 7030AB96-57CF-1C68-9FEE-D60E547FD79C\\n 21127020370****\\n d-5rpvziragkacvop665m3h****\\n","errorExample":""}]', - 'title' => 'CreateDisk', - ], - 'DeleteDisk' => [ - 'summary' => 'Deletes a disk.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '4360', - 'abilityTreeNodes' => [ - 'FEATUREensA8B7J7', - ], - ], - 'parameters' => [ - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd-5va95bg6i5f44kgkeuazyfcxm', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3ABEEB76-1976-55AB-B884-3D65CA6A4743', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"3ABEEB76-1976-55AB-B884-3D65CA6A4743\\"\\n}","type":"json"}]', - 'title' => 'DeleteDisk', - 'description' => 'When you release a disk, the disk must be in the Available state.'."\n", - ], - 'AttachDisk' => [ - 'summary' => 'Attaches a disk to an Edge Node Service (ENS) instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '4358', - 'abilityTreeNodes' => [ - 'FEATUREensCBRG04', - ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk to be attached. The cloud disk and the instance must belong to the same node.', - 'type' => 'string', - 'required' => true, - 'example' => 'd-5saf13yy6sopmmg88mzsg****', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5rr19av7tkpgi9os52ag1****', - ], - ], - [ - 'name' => 'DeleteWithInstance', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the disk to be attached is released with the instance. Valid values:'."\n" - ."\n" - .'* true: The disk will be released when the ECS instance is released.'."\n" - .'* false: The disk will be retained when the ECS instance is released.'."\n" - .'* If you leave this parameter empty, the default value is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '916777D9-42D3-5928-92CE-373B1874B674', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'NotAllowMixed', - 'errorMessage' => 'NOT ALLOW MIX ATTACH.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Target.IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"916777D9-42D3-5928-92CE-373B1874B674\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n 916777D9-42D3-5928-92CE-373B1874B674\\n","errorExample":""}]', - 'title' => 'AttachDisk', - ], - 'DetachDisk' => [ - 'summary' => 'Detaches a pay-as-you-go disk from an Edge Node Service (ENS) instance. You cannot call this operation to detach a disk that is created together with an instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '1751', - 'abilityTreeNodes' => [ - 'FEATUREensCBRG04', - ], - ], - 'parameters' => [ - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd-5r7v69e0bejrnzger09w7****', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5inkeimcipxk26yqtzm4q****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DetachDisk', - ], - 'ResizeDisk' => [ - 'summary' => 'Resizes a pay-as-you-go disk that you purchase.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREensPTDMDF', - ], - ], - 'parameters' => [ - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk that you want to resize.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd-5tzm9wnhzlhjzcbtxo465****', - ], - ], - [ - 'name' => 'NewSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the disk that you want to resize. Unit: GiB.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '100', - ], - ], - ], - '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' => '689412F2-8402-181E-8C87-1EF62331DCC4', - ], - 'OrderId' => [ - 'description' => 'The order ID.'."\n", - 'type' => 'string', - 'example' => '21522202681****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'PARAM_NOT_ENOUGH', - 'errorMessage' => 'Insufficient parameters entered', - ], - [ - 'errorCode' => 'INSTANCE_ID_NOT_FOUND', - 'errorMessage' => 'Instance information not found', - ], - [ - 'errorCode' => 'ENS_BUY_USER_ILLEGAL', - 'errorMessage' => 'User is illegal', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Insufficient parameters entered', - ], - [ - 'errorCode' => 'ENS_BUY_COUNT_LESS', - 'errorMessage' => 'Too many resources purchased', - ], - [ - 'errorCode' => 'SIZE_ILLEGAL', - 'errorMessage' => 'The purchased capacity is illegal', - ], - [ - 'errorCode' => 'ENS_BUY_STORE_ENOUGH', - 'errorMessage' => 'Insufficient inventory of purchased resources', - ], - [ - 'errorCode' => 'ENS_BUY_DISK_STATUS_ILLEGAL', - 'errorMessage' => 'The disk status is invalid', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedDiskSpec', - 'errorMessage' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedDiskType', - 'errorMessage' => 'Cloud disk type sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceSystemDiskSpec', - 'errorMessage' => 'The system disk capacity sales constraint verification failed, please re-match or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedRegion', - 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedInstanceDataDiskType', - 'errorMessage' => 'Data disk type sales constraint verification failed, please re-select, or contact the product.', - ], - [ - 'errorCode' => 'CONFIGURATION_ALLOW_UPGRADE', - 'errorMessage' => 'The order type of this commodity only supports upgrade.', - ], - [ - 'errorCode' => 'InvalidInstancebillingCycleStatus', - 'errorMessage' => 'The contract status of the current instance is incorrect.', - ], - [ - 'errorCode' => 'PendingEffectiveContract', - 'errorMessage' => 'The contract of the current instance to take effect. Operation is prohibited.', - ], - [ - 'errorCode' => 'InstanceForbidOperate', - 'errorMessage' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"689412F2-8402-181E-8C87-1EF62331DCC4\\",\\n \\"OrderId\\": \\"21522202681****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 689412F2-8402-181E-8C87-1EF62331DCC4\\n 21522202681****\\n","errorExample":""}]', - 'title' => 'ResizeDisk', - ], - 'DescribeDisks' => [ - 'summary' => 'Queries the information about one or more disks.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '882', - 'abilityTreeNodes' => [ - 'FEATUREensFV3GVR', - ], - ], - 'parameters' => [ - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-kunming-telecom', - ], - ], - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-5soak1gqa507lyfzvz0xo****', - ], - ], - [ - 'name' => 'DiskName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DiskName', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page **1**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: **50**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the disk. Valid values:'."\n" - ."\n" - .'* In-use: The disk is in use.'."\n" - .'* Available: The disk can be attached.'."\n" - .'* Attaching: The disk is being attached.'."\n" - .'* Detaching: The disk is being detached.'."\n" - .'* Creating: The disk is being created.'."\n" - .'* ReIniting: The disk is being reset.'."\n" - .'* Deleting: The disk is being released.'."\n" - .'* Deleted: The disk is released.'."\n" - .'* Expiring: The disk is about to expire.', - 'type' => 'string', - 'required' => false, - 'example' => 'Available', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the disk. Valid values:'."\n" - ."\n" - .'* system: system disk.'."\n" - .'* data: data disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - ], - ], - [ - 'name' => 'Category', - 'in' => 'query', - 'schema' => [ - 'description' => 'The category of the disk.'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: all-flash disk.'."\n" - .'* local_hdd: local HDD.'."\n" - .'* local_ssd: local SSD.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'local_ssd', - ], - ], - [ - 'name' => 'DiskChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method.'."\n" - ."\n" - .'* prePay: subscription.'."\n" - .'* postpay: pay-as-you-go.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'prepay', - ], - ], - [ - 'name' => 'EnsRegionIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The node information.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["cn-suzhou-telecom","cn-chengdu-telecom"]', - ], - ], - [ - 'name' => 'DiskIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[\\"d-wz99njena32z90ki****\\"]', - ], - ], - [ - 'name' => 'OrderByParams', - 'in' => 'query', - 'schema' => [ - 'description' => 'The order in which you want to sort the returned data. Example: {"EnsRegionId":"desc"}. By default, the nodes are sorted by IDs in descending order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{ "DiskNameSort":"desc","EnsRegionIdSort":"asc" }', - ], - ], - [ - 'name' => 'DiskType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The purchase method of the disk. Valid values:'."\n" - ."\n" - .'* ServiceDisk: The disk is purchased when ENS is activated.'."\n" - .'* ResoureDisk: The disk is purchased when the instance is created.'."\n" - .'* PostPayDisk: The disk is separately purchased.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PostPayDisk', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => '云盘所挂载的实列。', - 'description' => 'The ID of the instance to which the disk is attached.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5t77rb0yoz79m28ku60sx****', - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-897654321****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Disks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Disks' => [ - 'description' => 'The information about the disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'description' => 'The category of the disk.'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: all-flash disk.'."\n" - .'* local_hdd: local HDD.'."\n" - .'* local_ssd: local SSD.'."\n", - 'type' => 'string', - 'example' => 'local_ssd', - ], - 'CreationTime' => [ - 'description' => 'The time when the disk 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-11-11T14:34:55+08:00', - ], - 'DiskChargeType' => [ - 'description' => 'The billing method of the cloud disk or local disk. Valid values:'."\n" - ."\n" - .'* **prepaid**: subscription.'."\n" - .'* **postpaid**: pay-as-you-go.'."\n", - 'type' => 'string', - 'example' => 'prepaid', - ], - 'DiskId' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'example' => 'd-5svum1dx1w4a4spr54lgr****', - ], - 'DiskName' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => 'fvt-ecs-5cf0****', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-guangzhou-10', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-5t77rb0yoz79m28ku60sx****', - ], - 'InstanceName' => [ - 'description' => 'The name of the instance.'."\n", - 'type' => 'string', - 'example' => 'Edge Prod Environment Streaming Machine -1063'."\n", - ], - 'Description' => [ - 'description' => 'The namespace description.'."\n", - 'type' => 'string', - 'example' => 'disk-description', - ], - 'Size' => [ - 'description' => 'The size of the disk. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Status' => [ - 'description' => 'The status of the disk. Valid values:'."\n" - ."\n" - .'* In-use: The disk is in use.'."\n" - .'* Available: The disk can be attached.'."\n" - .'* Attaching: The disk is being attached.'."\n" - .'* Detaching: The disk is being detached.'."\n" - .'* Creating: The disk is being created.'."\n" - .'* ReIniting: The disk is being reset.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'Type' => [ - 'description' => 'The type of the cloud disk or local disk. Valid values:'."\n" - ."\n" - .'* 1: system disk.'."\n" - .'* 2: data disk.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Portable' => [ - 'description' => 'Indicates whether the cloud disk or local disk is removable. Valid values:'."\n" - ."\n" - .'* true: The disk is removable. A removable disk can independently exist and can be attached to or detached from an instance within the same zone.'."\n" - .'* false: The disk is not removable. A disk that is not removable cannot independently exist or be attached to or detached from an instance within the same zone.'."\n" - ."\n" - .'If disks are of the following categories or types, the **Portable** value is **false** and the disks have the same lifecycle as their attached instances:'."\n" - ."\n" - .'* Local HDDs'."\n" - .'* Local SSDs'."\n" - .'* Data disks that use the subscription billing method'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'example' => 's-bp67acfmxazb4p****', - ], - 'SerialId' => [ - 'description' => 'The serial number.'."\n", - 'type' => 'string', - 'example' => '123', - ], - 'Encrypted' => [ - 'title' => '云盘是否加密', - 'description' => 'Indicates whether the cloud disk is encrypted. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'False', - ], - 'EncryptedKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used for the cloud disk.'."\n", - 'type' => 'string', - 'example' => '05467897a-4262-4802-b8cb-00d3fb40****', - ], - 'DeleteWithInstance' => [ - 'description' => 'Indicates whether the disk is released when the instance to which the disk is attached is released. Valid values:'."\n" - ."\n" - .'* true: The disk is released when the associated instance is released.'."\n" - .'* false: The disk is retained when the associated instance is released.'."\n", - 'type' => 'boolean', - 'example' => 'false', - 'default' => 'false', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tags' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - '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. Maximum value: **50**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned pages.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '13', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"Disks\\": {\\n \\"Disks\\": [\\n {\\n \\"Category\\": \\"local_ssd\\",\\n \\"CreationTime\\": \\"2021-11-11T14:34:55+08:00\\",\\n \\"DiskChargeType\\": \\"prepaid\\",\\n \\"DiskId\\": \\"d-5svum1dx1w4a4spr54lgr****\\",\\n \\"DiskName\\": \\"fvt-ecs-5cf0****\\",\\n \\"EnsRegionId\\": \\"cn-guangzhou-10\\",\\n \\"InstanceId\\": \\"i-5t77rb0yoz79m28ku60sx****\\",\\n \\"InstanceName\\": \\"边缘prod环境串流机器-1063\\",\\n \\"Description\\": \\"disk-description\\",\\n \\"Size\\": 20,\\n \\"Status\\": \\"Available\\",\\n \\"Type\\": \\"1\\",\\n \\"Portable\\": true,\\n \\"SnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"SerialId\\": \\"123\\",\\n \\"Encrypted\\": false,\\n \\"EncryptedKeyId\\": \\"05467897a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": false,\\n \\"Tags\\": {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"TotalCount\\": 13\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n \\n local_ssd\\n 2021-11-11T14:34:55+08:00\\n prepaid\\n d-5svum1dx1w4a4spr54lgr****\\n fvt-ecs-5cf0****\\n cn-guangzhou-10\\n i-5t77rb0yoz79m28ku60sx****\\n 边缘prod环境串流机器-1063\\n 20\\n Available\\n 1\\n true\\n s-bp67acfmxazb4p****\\n 123\\n \\n 1\\n 50\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n 13\\n","errorExample":""}]', - 'title' => 'DescribeDisks', - ], - 'ReInitDisk' => [ - 'summary' => 'Initializes a disk.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '1227', - 'abilityTreeNodes' => [ - 'FEATUREensM9G454', - ], - ], - 'parameters' => [ - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk to be initialized. You can initialize only one disk at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd-5r7v69e0bejrnzger09w71yjv', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image to use to create the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-5rz3i231o531s4p4ozanxmgx7', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4DD66F05-3116-4BAA-B588-52EB2E7F431D', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"4DD66F05-3116-4BAA-B588-52EB2E7F431D\\"\\n}","type":"json"}]', - 'title' => 'ReInitDisk', - ], - 'ResetDisk' => [ - 'summary' => 'Rolls back a disk by using a snapshot.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '163879', - 'abilityTreeNodes' => [ - 'FEATUREensM9G454', - ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk that you want to roll back.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd-bp199lyny9b3****', - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot that you want to use to roll back the disk.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sp-bp199lyny9b3****', - ], - ], - ], - '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' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'IncorrectStatus.Disk', - 'errorMessage' => 'The status of the disk is incorrect.', - ], - [ - 'errorCode' => 'DISK_SNAPSHOT_STATUS_NOT_MATCH', - 'errorMessage' => 'Snapshot status mismatch.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\n","errorExample":""}]', - 'title' => 'ResetDisk', - 'description' => 'When you call this operation, take note of the following items:'."\n" - ."\n" - .'* The disk must be in the In Use (In_Use) or Unattached (Available) state.'."\n" - .'* The instance to which the disk is attached must be in the Stopped (Stopped) state. You can call the [StopInstance](~~StopInstance~~) operation to stop an instance.'."\n" - .'* The specified snapshot must be created from the disk specified by the DiskId parameter.'."\n" - .'* If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an ENS instance by calling the [DescribeInstances](~~DescribeInstances~~) operation, the instance is locked for security reasons and no operations are allowed on the instance.'."\n", - ], - 'DescribeDiskIopsList' => [ - 'summary' => 'Queries the disk IOPS monitoring data.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], - 'parameters' => [ - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'title' => '开始时间,格式: yyyy-MM-dd HH:mm:ss.', - 'description' => 'The beginning of the time range to query. Specify the time in the format of yyyy-MM-dd HH:mm:ss.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2023-12-14 00:00:00', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'title' => '截止时间,和开始时间跨度不可超过1天,格式: yyyy-MM-dd HH:mm:ss.', - 'description' => 'The beginning of the time range to query. Specify the time in the format of yyyy-MM-dd HH:mm:ss. The time range specified by the StartTime and EndTime parameters cannot exceed one day for a query.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2023-12-14 23:59:59', - ], - ], - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'title' => '磁盘ID,格式: d-***********', - 'description' => 'The ID of the disk. Format: d-\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd-5tzm9wnhzlhjzcbtxo465****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => 'A7814CAB-DB4E-140A-9D6F-7C8210C1DAC3', - ], - 'DiskIopsList' => [ - 'description' => 'The IOPS monitoring data of the cloud disk.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DiskId' => [ - 'title' => '磁盘ID', - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'example' => 'd-5tzm9wnhzlhjzcbtxo465****', - ], - 'RegionId' => [ - 'title' => '节点ID', - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-3', - ], - 'ReadBytes' => [ - 'title' => '读吞吐(单位Byte)', - 'description' => 'The read throughput. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10054', - ], - 'ReadLatency' => [ - 'title' => '读延迟(单位微秒)', - 'description' => 'The read latency. Unit: ms.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15646532', - ], - 'ReadOps' => [ - 'title' => '读IOPS', - 'description' => 'The read IOPS.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'WriteBytes' => [ - 'title' => '写吞吐(单位Byte)', - 'description' => 'The write throughput. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'WriteLatency' => [ - 'title' => '写延迟(单位微秒)', - 'description' => 'The write latency. Unit: microseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'WriteOps' => [ - 'title' => '写IOPS', - 'description' => 'The write IOPS.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'BizTime' => [ - 'title' => '业务时间,格式: yyyy-MM-dd HH:mm:ss.', - 'description' => 'The business time . The time is displayed in the yyyy-MM-dd HH:mm:ss.'."\n", - 'type' => 'string', - 'example' => '2023-12-14 00:00:00', - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A7814CAB-DB4E-140A-9D6F-7C8210C1DAC3\\",\\n \\"DiskIopsList\\": [\\n {\\n \\"DiskId\\": \\"d-5tzm9wnhzlhjzcbtxo465****\\",\\n \\"RegionId\\": \\"cn-hangzhou-3\\",\\n \\"ReadBytes\\": 10054,\\n \\"ReadLatency\\": 15646532,\\n \\"ReadOps\\": 4,\\n \\"WriteBytes\\": 0,\\n \\"WriteLatency\\": 0,\\n \\"WriteOps\\": 0,\\n \\"BizTime\\": \\"2023-12-14 00:00:00\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeDiskIopsList', - ], - 'CreateSnapshot' => [ - 'summary' => 'Creates a snapshot.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREensOS1TQY', - ], - ], - 'parameters' => [ - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cloud disk.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd-bp1s5fnvk4gn2tws0****', - ], - ], - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shenzhen-3', - ], - ], - [ - 'name' => 'SnapshotName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the snapshot. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testSnapshotName', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the snapshot. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.'."\n" - ."\n" - .'By default, this parameter is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - ], - ], - [ - 'name' => 'InstanceBillingCycle', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'enum' => [ - 'Hour', - 'Day', - 'Month', - ], - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'SnapShotId' => [ - 'description' => 'The IDs of the snapshots.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The snapshot ID.'."\n", - 'type' => 'string', - 'example' => '["sp-5w1x1nxsmkhdgval1h5l****"]', - ], - 'example' => 's-bp17441ohwka0yuh****', - ], - 'OrderId' => [ - 'description' => 'The ID of the order.'."\n", - 'type' => 'string', - 'example' => '21969183547****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedStock', - 'errorMessage' => 'Inventory sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedRegion', - 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"SnapShotId\\": [\\n \\"sp-5w1x1nxsmkhdgval1h5l****\\"\\n ],\\n \\"OrderId\\": \\"21969183547****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 853D6E71-E087-1557-B65C-32BFBEE5CD97\\n sp-5w1x1nxsmkhdgval1h5l****\\n 21969183547****\\n","errorExample":""}]', - 'title' => 'CreateSnapshot', - ], - 'DeleteSnapshot' => [ - 'summary' => 'Deletes a snapshot.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], - 'parameters' => [ - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sp-bp1c0doj0taqyzzl****', - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'INSTANCE_ID_NOT_FOUND', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation', - ], - [ - 'errorCode' => 'ERROR_SNAPSHOT_COPY_IN_PROGRESS', - 'errorMessage' => 'Destination site has incomplete snapshot copy or delete sequence.', - ], - [ - 'errorCode' => 'DISK_SNAPSHOT_STATUS_NOT_MATCH', - 'errorMessage' => 'Snapshot status mismatch.', - ], - [ - 'errorCode' => 'ERROR_SNAPSHOT_NOT_FOUND', - 'errorMessage' => 'The specified snapshot does not exist.', - ], - [ - 'errorCode' => 'SNAPSHOT_CLONE_DISK_NOT_NULL', - 'errorMessage' => 'Clone disk exists for this snapshot.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DeleteSnapshot', - ], - 'ModifySnapshotAttribute' => [ - 'summary' => 'Modifies the information about a snapshot.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sp-bp199lyny9bb47pa****', - ], - ], - [ - 'name' => 'SnapshotName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the snapshot. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'The name cannot start with **auto** because snapshots whose names start with auto are recognized as automatic snapshots.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testSnapshotName', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the snapshot. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter SnapshotId that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'SnapshotIdNotFound', - 'errorMessage' => 'The input parameter SnapshotId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'ModifySnapshotAttribute', - ], - 'DescribeSnapshots' => [ - 'summary' => 'Queries information about snapshots.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '163788', - 'abilityTreeNodes' => [ - 'FEATUREensDKRRMB', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ENS node. You can query the node ID by calling the [DescribeEnsRegions](~~2637662~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DiskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-bp67acfmxazb4p****', - ], - ], - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the snapshot. The value can be a JSON array that consists of up to 100 snapshot IDs. Separate the snapshot IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp67acfmxazb4p****', - ], - ], - [ - 'name' => 'EnsRegionIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The node information.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["cn-suzhou-telecom","cn-chengdu-telecom"]', - ], - ], - [ - 'name' => 'SnapshotName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the snapshot. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testSnapshotName', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp67acfmxazb4p****', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'Snapshots' => [ - 'description' => 'The information about the snapshots.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'example' => 's-bp67acfmxazb4p****', - ], - 'CreationTime' => [ - 'description' => 'The creation time. The time follows the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2020-08-20T14:52:28Z', - ], - 'Status' => [ - 'description' => 'The status of the snapshot. Valid value:'."\n" - ."\n" - .'* creating: The snapshot is being created.'."\n" - .'* Available: The snapshot is available.'."\n" - .'* deleting: The snapshot is being deleted.'."\n" - .'* error: An error occurred on the snapshot.'."\n", - 'type' => 'string', - 'example' => 'available', - ], - 'Size' => [ - 'description' => 'The capacity of the disk. Unit: MiB.'."\n", - 'type' => 'string', - 'example' => '40', - ], - 'SourceDiskId' => [ - 'description' => 'The ID of the source disk. This parameter is retained even after the source disk for which the snapshot was created is released.'."\n", - 'type' => 'string', - 'example' => 'd-bp67acfmxazb4ph****', - ], - 'SourceDiskType' => [ - 'description' => 'The type of the disk. Valid value:'."\n" - ."\n" - .'* 1: system disk'."\n" - .'* 2: data disk'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'SourceDiskCategory' => [ - 'description' => 'The type of the disk. Valid value:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: all-flash disk'."\n" - .'* local_hdd: local HDD'."\n" - .'* local_ssd: local SSD'."\n", - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'SnapshotName' => [ - 'description' => 'The name of the snapshot. This parameter is returned only if a snapshot name was specified when the snapshot was created.'."\n", - 'type' => 'string', - 'example' => 'testSnapshotName', - ], - 'Description' => [ - 'description' => 'The description of the snapshot.'."\n", - 'type' => 'string', - 'example' => 'testDescription', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-15', - ], - 'SourceSnapshotId' => [ - 'description' => 'The ID of the source snapshot.'."\n", - 'type' => 'string', - 'example' => 's-bpdfer893jfkdqe****', - ], - 'SourceEnsRegionId' => [ - 'description' => 'The ID of the source edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-27', - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of snapshots.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9635ED2E-3103-1606-84D4-9F8E816B19F9', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Snapshots\\": [\\n {\\n \\"SnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"CreationTime\\": \\"2020-08-20 14:52:28\\",\\n \\"Status\\": \\"available\\",\\n \\"Size\\": \\"40\\",\\n \\"SourceDiskId\\": \\"d-bp67acfmxazb4ph****\\",\\n \\"SourceDiskType\\": \\"1\\",\\n \\"SourceDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SnapshotName\\": \\"testSnapshotName\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"EnsRegionId\\": \\"cn-beijing-15\\",\\n \\"SourceSnapshotId\\": \\"s-bpdfer893jfkdqe****\\",\\n \\"SourceEnsRegionId\\": \\"cn-hangzhou-27\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"9635ED2E-3103-1606-84D4-9F8E816B19F9\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n \\n s-bp67acfmxazb4p****\\n 2020-08-20T14:52:28Z\\n available\\n 40\\n d-bp67acfmxazb4ph****\\n 1\\n cloud_efficiency\\n testSnapshotName\\n testDescription\\n \\n 1\\n 10\\n 1\\n 9635ED2E-3103-1606-84D4-9F8E816B19F9\\n","errorExample":""}]', - 'title' => 'DescribeSnapshots', - ], - 'CopySnapshot' => [ - 'summary' => 'Copies a snapshot across nodes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREensTASVEV', - ], - ], - 'parameters' => [ - [ - 'name' => 'SnapshotId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the source snapshot.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sp-bp1c0doj0taqyzzl****', - ], - ], - [ - 'name' => 'DestinationRegionIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of destination nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the destination node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou-26', - ], - 'required' => true, - ], - ], - [ - 'name' => 'DestinationSnapshotName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the snapshot. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testSnapshotName', - ], - ], - [ - 'name' => 'DestinationSnapshotDescription', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the snapshot. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - ], - ], - [ - 'name' => 'InstanceBillingCycle', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'enum' => [ - 'Hour', - 'Day', - 'Month', - ], - ], - ], - ], - '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' => 'EA3758E0-8899-17D3-9526-5F62CF33A586', - ], - 'AllocationId' => [ - 'description' => 'The list of created snapshots.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-telecom-4', - ], - 'InstanceId' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => '["e426409223"]', - ], - ], - ], - ], - ], - 'BizStatusCode' => [ - 'description' => 'The success status code.'."\n" - ."\n" - .'* **PartSuccess**: partially succeeded.'."\n" - .'* **AllSuccess**: all succeeded.'."\n", - 'type' => 'string', - 'example' => 'AllSuccess', - ], - 'UnAllocationId' => [ - 'description' => 'The list of nodes that are not created.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-26', - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'ENS_SERVICE_ARREARAGE', - 'errorMessage' => '用户欠费', - ], - [ - 'errorCode' => 'Order.CreateFailed', - 'errorMessage' => 'Failed to create order. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EA3758E0-8899-17D3-9526-5F62CF33A586\\",\\n \\"AllocationId\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-hangzhou-27\\",\\n \\"InstanceId\\": [\\n \\"e426409223\\"\\n ]\\n }\\n ],\\n \\"BizStatusCode\\": \\"PartSuccess\\",\\n \\"UnAllocationId\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chengdu-26\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n EA3758E0-8899-17D3-9526-5F62CF33A586\\n AllSuccess\\n \\n e426409223\\n e42640922s\\n cn-chengdu-telecom-4\\n \\n \\n cn-chengdu-26\\n \\n","errorExample":""}]', - 'title' => 'CopySnapshot', - ], - 'CreateNetwork' => [ - 'summary' => 'Creates a virtual private cloud (VPC).', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '15352', - 'abilityTreeNodes' => [ - 'FEATUREensGMWJSM', - ], - ], - 'parameters' => [ - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing-telecom', - ], - ], - [ - 'name' => 'CidrBlock', - 'in' => 'query', - 'schema' => [ - 'description' => 'The CIDR block of the network. You can use one of the following CIDR blocks or their subnets as the CIDR block of the network:'."\n" - ."\n" - .'* 10.0.0.0/8 (default)'."\n" - .'* 172.16.0.0/12'."\n" - .'* 192.168.0.0/16'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '192.168.0.0/24', - ], - ], - [ - 'name' => 'NetworkName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the network. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name must start with a letter but cannot start with http:// or https://.'."\n" - .'* The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abc', - 'maxLength' => 128, - 'minLength' => 2, - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the network.'."\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' => 'this is my first network', - 'maxLength' => 256, - 'minLength' => 2, - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resource tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag that are to add to the instance. Valid values of N: **1** to **20**.'."\n" - ."\n" - .'* The key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" - .'* The key must be up to 64 characters in length.'."\n" - .'* The tag key cannot be an empty string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'key1', - ], - 'Value' => [ - 'description' => 'The value of tag N that is added to the resource. You can specify up to 20 tag values. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with acs: or contain http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tagValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5***', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - [ - 'errorCode' => 'InvalidParameter.CidrBlock', - 'errorMessage' => 'The specified parameter CidrBlock is invalid. ', - ], - [ - 'errorCode' => 'Network.QuotaExceeded', - 'errorMessage' => 'Network quota exceeded', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'MissingParameter', - ], - [ - 'errorCode' => 'InvalidEnsRegionId.NotFound', - 'errorMessage' => 'The input parameter ensRegionId that is not found. ', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NetworkId\\": \\"n-5***\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n n-5***\\n","errorExample":""}]', - 'title' => 'CreateNetwork', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 5 times per second per user.'."\n", - ], - 'CreateClassicNetwork' => [ - 'summary' => 'Creates a classic network', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-chengdu-xxxx-4', - ], - ], - [ - 'name' => 'CidrBlock', - 'in' => 'query', - 'schema' => [ - 'description' => 'The CIDR block of the network. You can use one of the following CIDR blocks or their subnets as the CIDR block of the network:'."\n" - ."\n" - .'* 10.0.0.0/8 (default)'."\n" - .'* 172.16.0.0/12'."\n" - .'* 192.168.0.0/16'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10.0.0.0/16', - ], - ], - [ - 'name' => 'NetworkName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the network. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name must start with a letter but cannot start with http:// or https://.'."\n" - .'* The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the network. The name must be 2 to 256 characters in length. It must start with a letter but cannot start with http:// or https://.', - 'type' => 'string', - 'required' => false, - 'example' => 'This is my vswitch.', - ], - ], - ], - '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' => '1A004E06-AC1B-5806-BA5E-41AB6B02DE83', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5s9ayrxsd9hszrlt5fgv2****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - [ - 'errorCode' => 'InvalidParameter.CidrBlock', - 'errorMessage' => 'The specified parameter CidrBlock is invalid. ', - ], - [ - 'errorCode' => 'Network.QuotaExceeded', - 'errorMessage' => 'Network quota exceeded', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API. ', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'MissingParameter', - ], - [ - 'errorCode' => 'InvalidEnsRegionId.NotFound', - 'errorMessage' => 'The input parameter ensRegionId that is not found. ', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1A004E06-AC1B-5806-BA5E-41AB6B02DE83\\",\\n \\"NetworkId\\": \\"n-5s9ayrxsd9hszrlt5fgv2****\\"\\n}","type":"json"}]', - 'title' => 'CreateClassicNetwork', - ], - 'DeleteNetwork' => [ - 'summary' => 'Deletes a virtual private cloud (VPC).', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'NetworkId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-5***', - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidNetworkId.NotFound', - 'errorMessage' => 'Network not found', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'DependencyViolation.VSwitch', - 'errorMessage' => 'Specified network has vswitch.', - ], - [ - 'errorCode' => 'DependencyViolation.RouteEntry', - 'errorMessage' => 'Specified network has route entry.', - ], - [ - 'errorCode' => 'DependencyViolation.CloudInstance', - 'errorMessage' => 'Specified network has nat cloud instance.', - ], - [ - 'errorCode' => 'DependencyViolation.NAT', - 'errorMessage' => 'Specified network has nat instance.', - ], - [ - 'errorCode' => 'DependencyViolation.NetworkAcl', - 'errorMessage' => 'Specified network has network acl.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DeleteNetwork', - ], - 'ModifyNetworkAttribute' => [ - 'summary' => 'Modifies the network information.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ - [ - 'name' => 'NetworkId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-****', - ], - ], - [ - 'name' => 'NetworkName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the network. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length'."\n" - .'* It must start with a letter but cannot start with http:// or https://.'."\n" - .'* The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abc', - 'maxLength' => 128, - 'minLength' => 2, - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the network.'."\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' => 'this is my first network', - 'maxLength' => 256, - 'minLength' => 2, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - [ - 'errorCode' => 'InvalidNetworkId.NotFound', - 'errorMessage' => 'Network not found', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'ModifyNetworkAttribute', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 5 times per second per user.'."\n", - ], - 'DescribeNetworkInterfaces' => [ - 'summary' => 'Queries Elastic Network Interfaces (ENIs).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '4378', - 'abilityTreeNodes' => [ - 'FEATUREensOTSUQL', - ], - ], - 'parameters' => [ - [ - 'name' => 'NetworkInterfaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eni-58z57orgmt6d1****', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5t7z99n32gplriv', - ], - ], - [ - 'name' => 'NetworkId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-2zeuphj08tt7q3brd****', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-12345', - ], - ], - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-tianjin-cmcc', - ], - ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which the secondary ENI belongs. To query the details of secondary ENIs based on the ID of a security group, specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-5p1fg655nh68xyz9i***', - ], - ], - [ - 'name' => 'PrimaryIpAddress', - 'in' => 'query', - 'schema' => [ - 'description' => 'The primary IP address of the ENI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '***', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the ENI. Valid values:'."\n" - ."\n" - .'* Primary: the primary ENI.'."\n" - .'* Secondary: the secondary ENI.'."\n" - ."\n" - .'This parameter is empty by default, which indicates that both primary and secondary ENIs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Secondary', - 'enum' => [ - 'Primary', - 'Secondary', - ], - ], - ], - [ - 'name' => 'NetworkInterfaceName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ENI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-01', - 'maxLength' => 128, - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the ENI. Valid values:'."\n" - ."\n" - .'* Available: The ENI is available.'."\n" - .'* Attaching: The ENI is being attached to an instance.'."\n" - .'* InUse: The ENI is attached to an instance.'."\n" - .'* Detaching: The ENI is being detached from an instance.'."\n" - .'* Deleting: The ENI is being deleted.'."\n" - ."\n" - .'This parameter is empty by default, which indicates that ENIs in all states are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Available', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the returned page. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 100. Default value: 50.'."\n", - 'type' => 'string', - 'required' => false, - 'maximum' => '100', - 'example' => '50', - 'default' => '50', - ], - ], - [ - 'name' => 'Ipv6Address', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'IPv6 addresses N of the ENI. You can specify multiple IPv6 addresses. Valid values of N: 1 to 100.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'IPv6 address N of the ENI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6', - ], - 'required' => false, - ], - ], - [ - 'name' => 'EnsRegionIds', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of edge nodes. N indicates the number of edge node IDs that you can specify at the same time. Valid values of N: 1 to 100.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-fuzhou-1', - ], - 'required' => false, - ], - ], - [ - 'name' => 'NetworkInterfaceIds', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of the elastic network interfaces (ENIs). N indicates the number of ENI IDs that you can specify at the same time. Valid values of N: 1 to 100.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eni-5****', - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'Details about the ENIs.'."\n", - 'type' => 'object', - 'properties' => [ - 'NetworkInterfaceSets' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NetworkInterfaceSet' => [ - 'description' => 'Details about the ENIs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the ENI.'."\n", - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the ENI was created. Specify the time in the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-02-22T03:53:25Z', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'id-jakarta-1', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance to which the ENI is bound.'."\n", - 'type' => 'string', - 'example' => 'i-5siavnr3', - ], - 'MacAddress' => [ - 'description' => 'The MAC address of the ENI.'."\n", - 'type' => 'string', - 'example' => '00:16:3e:08:60:0a', - ], - 'NetworkInterfaceId' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'example' => 'eni-uf686a5', - ], - 'PrimaryIp' => [ - 'description' => 'The private IP address of the server.'."\n", - 'type' => 'string', - 'example' => '12.23.3.4', - ], - 'PrimaryIpType' => [ - 'description' => 'The primary private IP address. Valid values:'."\n" - ."\n" - .'* **Public**: public IP address.'."\n" - .'* **Private**: internal IP address.'."\n", - 'type' => 'string', - 'example' => 'private', - ], - 'Status' => [ - 'description' => 'The status of the ENI. Valid values:'."\n" - ."\n" - .'* Available: The ENI is available.'."\n" - .'* Attaching: The ENI is being attached to an instance.'."\n" - .'* InUse: The ENI is attached to an instance.'."\n" - .'* Detaching: The ENI is being detached from an instance.'."\n" - .'* Deleting: The ENI is being deleted.'."\n", - 'type' => 'string', - 'example' => 'In_use', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5w0qd03adw****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-5rqswx1trlsj9', - ], - 'PrivateIpSets' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PrivateIpSet' => [ - 'description' => 'Details about the private IP address.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PrivateIpAddress' => [ - 'description' => 'The private IP address.'."\n", - 'type' => 'string', - 'example' => '192.168.0.130', - ], - 'Primary' => [ - 'description' => 'Specifies whether the private IP address is the primary private IP address. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'PrivateIpStatus' => [ - 'title' => '私有IP状态,取值:'."\n" - .'- Available:可用。'."\n" - .'- Creating:创建中。'."\n" - .'- Deleting:删除中。', - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'NetworkInterfaceName' => [ - 'description' => 'The ENI name.'."\n", - 'type' => 'string', - 'example' => 'primaryTest', - ], - 'Description' => [ - 'description' => 'The description of ENI.'."\n", - 'type' => 'string', - 'example' => 'test-description', - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroup' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-5p1bozeiw711a1***', - ], - ], - ], - ], - 'Type' => [ - 'description' => 'The type of the ENI. Valid values:'."\n" - ."\n" - .'* Primary'."\n" - .'* Secondary'."\n", - 'type' => 'string', - 'example' => 'Primary', - ], - 'Ipv6Sets' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Ipv6Set' => [ - 'description' => 'The IPv6 addresses of the ENIs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IPv6 addresses of the ENI.'."\n", - 'type' => 'object', - 'properties' => [ - 'Ipv6Address' => [ - 'description' => 'The IPv6 address of the ENI.'."\n", - 'type' => 'string', - 'example' => '2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6'."\n", - ], - ], - ], - ], - ], - ], - 'VmncLearn' => [ - 'type' => 'boolean', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The number of the page to return. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page. Maximum value: **50**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries in the list.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '708AF9CE-FF92-5DF9-93F8-B7754AB1061A', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkInterfaceSets\\": {\\n \\"NetworkInterfaceSet\\": [\\n {\\n \\"CreationTime\\": \\"2022-02-22T03:53:25Z\\",\\n \\"EnsRegionId\\": \\"id-jakarta-1\\",\\n \\"InstanceId\\": \\"i-5siavnr3\\",\\n \\"MacAddress\\": \\"00:16:XXX:XXX:60:0a\\",\\n \\"NetworkInterfaceId\\": \\"eni-uf686a5\\",\\n \\"PrimaryIp\\": \\"10.XXX.XXX.25\\",\\n \\"PrimaryIpType\\": \\"Private\\",\\n \\"Status\\": \\"InUse\\",\\n \\"NetworkId\\": \\"n-5w0qd03adw****\\",\\n \\"VSwitchId\\": \\"vsw-5rqswx1trlsj9\\",\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"192.XXX.XXX.130\\",\\n \\"Primary\\": true,\\n \\"PrivateIpStatus\\": \\"Available\\"\\n }\\n ]\\n },\\n \\"NetworkInterfaceName\\": \\"primaryTest\\",\\n \\"Description\\": \\"test-description\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroup\\": [\\n \\"sg-5p1bozeiw711a1***\\"\\n ]\\n },\\n \\"Type\\": \\"Primary\\",\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6\\\\n\\"\\n }\\n ]\\n },\\n \\"VmncLearn\\": true\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 49,\\n \\"RequestId\\": \\"708AF9CE-FF92-5DF9-93F8-B7754AB1061A\\"\\n}","type":"json"}]', - 'title' => 'DescribeNetworkInterfaces', - ], - 'DescribeNetworkAttribute' => [ - 'summary' => 'Queries the configuration of a specified network.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'title' => 'Schema of Response', + 'description' => 'The response object.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '9DB6123F-470D-510A-A9EB-EBA799340452'], + 'AllocationId' => ['description' => 'The ID of the EIP instance.', 'type' => 'string', 'example' => 'eip-25877c70gddh****', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'ResourceNotAvailable', 'errorMessage' => 'Resource you requested is not available in this node.', 'description' => 'The specified node does not support VPC.'], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'Processing', 'errorMessage' => 'Request is in progress, please try again later.', 'description' => 'Request is in progress, please try again later.'], + ['errorCode' => 'SaleControlVerificationFailedBandwidthType', 'errorMessage' => 'Bandwidth type sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Bandwidth billing method sales constraint verification failed, please re-select.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParam_NotSupportInstanceIdAndIpAddress', 'errorMessage' => 'The parameter InstanceId and IpAddress cannot be supported simultaneously.', 'description' => 'The parameter InstanceId and IpAddress cannot be supported simultaneously.'], + ['errorCode' => 'InventoryExceeded', 'errorMessage' => 'The Instance in stock are insufficient,please submit a ticket.', 'description' => 'The specified instance resource inventory is insufficient, please re-match.'], + ['errorCode' => 'ResourceNotFound.Ip', 'errorMessage' => 'The specified ip is not found.', 'description' => 'The specified IP address does not exist.'], + ], + ], + 'title' => 'Create an EIP', + 'description' => '- API call rate: 5,000 requests per second.'."\n" + ."\n" + .'- Single-user call rate: 50 requests per second.', + 'changeSet' => [ + ['createdAt' => '2025-04-27T15:49:51.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-08T02:05:07.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2025-01-10T01:35:06.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-09-12T12:07:10.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-19T11:59:13.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-27T09:31:34.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-11-14T09:04:02.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2021-05-13T07:04:46.000Z', 'description' => 'OpenAPI offline'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '15785', - 'abilityTreeNodes' => [ - 'FEATUREensJ76HWH', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEipInstance'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'NetworkId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-****', - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5***', - ], - 'NetworkName' => [ - 'description' => 'The name of the network.'."\n", - 'type' => 'string', - 'example' => 'abc', - ], - 'CidrBlock' => [ - 'description' => 'The IPv4 CIDR block of the network.'."\n", - 'type' => 'string', - 'example' => '10.0.0.0/24', - ], - 'Status' => [ - 'description' => 'The status of the network. Valid values:'."\n" - ."\n" - .'* Pending'."\n" - .'* Available'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'Description' => [ - 'description' => 'The description of the network.'."\n", - 'type' => 'string', - 'example' => 'abc', - ], - 'CreatedTime' => [ - 'description' => 'The time when the network 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' => '2019-06-01T00:00:00Z', - ], - 'VSwitchIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The list of vSwitches in the network.', - 'type' => 'array', - 'items' => [ - 'description' => 'The list of vSwitches in the network.', - 'type' => 'string', - 'example' => '{"VSwitchId": [ "vsw-bp14cagpfysr29feg****" ]}', - ], - ], - ], - ], - 'CloudResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CloudResourceSetType' => [ - 'description' => 'The list of resources in the network.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'ResourceCount' => [ - 'description' => 'The number of resources in the network.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'ResourceType' => [ - 'description' => 'The resource type. VSwitch.'."\n", - 'type' => 'string', - 'example' => 'VSwitch', - ], - ], - ], - ], - ], - ], - 'RouterTableId' => [ - 'description' => 'The ID of the route table.'."\n", - 'type' => 'string', - 'example' => 'rtb-5***', - ], - 'NetworkAclId' => [ - 'description' => 'The ID of the network access control list (ACL).'."\n", - 'type' => 'string', - 'example' => 'nacl-a2do9e413e0sp****', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance IDs.'."\n", - 'type' => 'string', - 'example' => 'i-5****vbfdpyrbi', - ], - ], - ], - ], - 'RouteTableIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RouteTableId' => [ - 'description' => 'List of routing table IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of Routing table.', - 'type' => 'string', - 'example' => 'rt-5****8uz', - ], - ], - ], - ], - 'NetworkInterfaceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NetworkInterfaceId' => [ - 'description' => 'A list of multicast source IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'A list of multicast source IDs.'."\n", - 'type' => 'string', - 'example' => 'eni-5*****8vyk', - ], - ], - ], - ], - 'LoadBalancerIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'List of ELB instances.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of ELB instances.'."\n", - 'type' => 'string', - 'example' => 'lb-5****2uk', - ], - ], - ], - ], - 'NatGatewayIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NatGatewayId' => [ - 'description' => 'List of NAT Gateways.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of NAT Gateways.', - 'type' => 'string', - 'example' => 'nat-5****4ik', - ], - ], - ], - ], - 'HaVipIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HaVipId' => [ - 'description' => 'List of HaVipIds.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of HaVipId.', - 'type' => 'string', - 'example' => 'havip-5****4aof', - ], - ], - ], - ], - 'RouteTableId' => [ - 'description' => 'The ID of the route table.'."\n", - 'type' => 'string', - 'example' => 'rt-539***fpu', - ], - 'GatewayRouteTableId' => [ - 'description' => 'The ID of the gateway route table.'."\n", - 'type' => 'string', - 'example' => 'rt-539***tbs', - ], - 'SecondaryCidrBlocks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecondaryCidrBlock' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEipInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NetworkNotFound', - 'errorMessage' => 'The specified network is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"EnsRegionId\\": \\"cn-beijing\\",\\n \\"NetworkId\\": \\"n-5***\\",\\n \\"NetworkName\\": \\"abc\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"abc\\",\\n \\"CreatedTime\\": \\"2019-06-01T00:00:00Z\\",\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"{\\\\\\"VSwitchId\\\\\\": [ \\\\\\"vsw-bp14cagpfysr29feg****\\\\\\" ]}\\"\\n ]\\n },\\n \\"CloudResources\\": {\\n \\"CloudResourceSetType\\": [\\n {\\n \\"ResourceCount\\": 3,\\n \\"ResourceType\\": \\"VSwitch\\"\\n }\\n ]\\n },\\n \\"RouterTableId\\": \\"rtb-5***\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0sp****\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"i-5****vbfdpyrbi\\"\\n ]\\n },\\n \\"RouteTableIds\\": {\\n \\"RouteTableId\\": [\\n \\"rt-5****8uz\\"\\n ]\\n },\\n \\"NetworkInterfaceIds\\": {\\n \\"NetworkInterfaceId\\": [\\n \\"eni-5*****8vyk\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-5****2uk\\"\\n ]\\n },\\n \\"NatGatewayIds\\": {\\n \\"NatGatewayId\\": [\\n \\"nat-5****4ik\\"\\n ]\\n },\\n \\"HaVipIds\\": {\\n \\"HaVipId\\": [\\n \\"havip-5****4aof\\"\\n ]\\n },\\n \\"RouteTableId\\": \\"rt-539***fpu\\",\\n \\"GatewayRouteTableId\\": \\"rt-539***tbs\\",\\n \\"SecondaryCidrBlocks\\": {\\n \\"SecondaryCidrBlock\\": [\\n \\"172.XX.XX.0/12\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n cn-beijing\\n n-5***\\n abc\\n 10.0.0.0/24\\n Available\\n abc\\n 2019-06-01T00:00:00Z\\n {\\"VSwitchId\\": [ \\"vsw-bp14cagpfysr29feg****\\" ]}\\n \\n 3\\n VSwitch\\n \\n","errorExample":""}]', - 'title' => 'DescribeNetworkAttribute', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - ], - 'DescribeNetworks' => [ - 'summary' => 'Query the network list.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DB6123F-470D-510A-A9EB-EBA799340452\\",\\n \\"AllocationId\\": \\"eip-25877c70gddh****\\"\\n}","type":"json"}]', + ], + 'CreateEnsRouteEntry' => [ + 'summary' => 'Creates a custom route entry.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '15780', - 'abilityTreeNodes' => [ - 'FEATUREensJ76HWH', - ], + 'abilityTreeCode' => '128371', + 'abilityTreeNodes' => ['FEATUREensGMWJSM'], ], 'parameters' => [ [ - 'name' => 'NetworkId', + 'name' => 'RouteTableId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-5***', - ], + 'schema' => ['description' => 'The ID of the route table to which you want to add a custom route entry.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vtb-bp1cifr72dioje82lse2j'], ], [ - 'name' => 'EnsRegionId', + 'name' => 'DestinationCidrBlock', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-telecom', - ], + 'schema' => ['description' => 'The destination CIDR block of the custom route entry. Make sure that the following requirements are met:'."\n" + ."\n" + .'- The destination CIDR block cannot point or belong to 100.64.0.0/10.'."\n" + ."\n" + .'- The destination CIDR blocks of the custom route entries in the same route table cannot overlap.'."\n" + ."\n" + .'- 0.0.0.0/0 indicates the default CIDR block.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '120.XXX.XXX.0/24'], ], [ - 'name' => 'NetworkName', + 'name' => 'NextHopType', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the network.'."\n", + 'description' => 'The next hop type of the custom route. Valid values:'."\n" + ."\n" + .'- Instance: an ENS instance.'."\n" + ."\n" + .'- HaVip: a high-availability virtual IP address (HAVIP).'."\n" + ."\n" + .'- NetworkPeer: VPC peering connection.', 'type' => 'string', 'required' => false, - 'example' => 'example', + 'default' => 'Instance', + 'enum' => ['Instance', 'HaVip', 'NetworkPeer'], + 'title' => '', + 'example' => 'Instance', ], ], [ - 'name' => 'PageNumber', + 'name' => 'NextHopId', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the returned page. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the next hop of the custom route entry.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'i-5vb7leks9z4mxy1ay258'], ], [ - 'name' => 'PageSize', + 'name' => 'RouteEntryName', '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', - ], + 'schema' => ['description' => 'The name of the custom route entry that you want to add. The name must be 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 128, 'minLength' => 2, 'title' => '', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'Description', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - 'maxItems' => 100, - 'minItems' => 1, - ], + 'schema' => ['description' => 'The description of the custom route entry.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 2, 'title' => '', 'required' => false, 'example' => 'example'], ], [ - 'name' => 'NetworkIds', + 'name' => 'SourceCidrBlock', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of VPCs You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-5***9iu', - ], - 'required' => false, - 'maxItems' => 100, - 'minItems' => 1, - ], + 'schema' => ['description' => 'The source CIDR block is available when you configure a route entry in the gateway route table, but is not unavailable when you configure a route entry in the vSwitch route table.', 'type' => 'string', 'required' => false, 'example' => '172.XXX.XXX.0/24', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries in the list.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Networks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Network' => [ - 'description' => 'The VPCs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The VPC.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5***', - ], - 'NetworkName' => [ - 'description' => 'The name of the network.'."\n", - 'type' => 'string', - 'example' => 'example', - ], - 'CidrBlock' => [ - 'description' => 'The IPv4 CIDR block of the network.'."\n", - 'type' => 'string', - 'example' => '10.0.xx.xx/24', - ], - 'Status' => [ - 'description' => 'The status of the network. Valid values:'."\n" - ."\n" - .'* Pending'."\n" - .'* Available'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'Description' => [ - 'description' => 'The description of the network.'."\n", - 'type' => 'string', - 'example' => 'exampleDescription', - ], - 'CreatedTime' => [ - 'description' => 'The timestamp when the instance was created. Unit: milliseconds.'."\n", - 'type' => 'string', - 'example' => '2020-06-16T06:33:15Z', - ], - 'VSwitchIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The list of vSwitches in the network.', - 'type' => 'array', - 'items' => [ - 'description' => 'The list of vSwitches in the network.', - 'type' => 'string', - 'example' => 'vsw-bp1nhbnpv2blyz8dl****', - ], - ], - ], - ], - 'RouterTableId' => [ - 'description' => 'The route table ID.'."\n", - 'type' => 'string', - 'example' => 'rtb-5**', - ], - 'NetworkAclId' => [ - 'description' => 'The ID of the network access control list (ACL).'."\n", - 'type' => 'string', - 'example' => 'nacl-a2do9e413e0spxscd****', - ], - 'RouteTableIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RouteTableId' => [ - 'description' => 'The IDs of the route tables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the route table.'."\n", - 'type' => 'string', - 'example' => 'rt-5*****pks', - ], - ], - ], - ], - 'RouteTableId' => [ - 'description' => 'The ID of the route table.'."\n", - 'type' => 'string', - 'example' => 'rt-5*****pks', - ], - 'GatewayRouteTableId' => [ - 'description' => 'The ID of the gateway route table.'."\n", - 'type' => 'string', - 'example' => 'rt-5*****tbs', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The bandwidth.', - 'type' => 'string', - 'example' => 'TestValue', - ], - 'Key' => [ - 'description' => 'The key of the tag.', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestValue', - ], - 'TagKey' => [ - 'description' => '', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestKey', - ], - ], - ], - ], - ], - ], - 'SecondaryCidrBlocks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecondaryCidrBlock' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'RouteEntryId' => ['description' => 'The ID of the route.', 'type' => 'string', 'title' => '', 'example' => 'rte-5vb5q8sk0lyoscx8539ds'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'Specified route table does not exist.', 'description' => 'The routing table does not exist.'], + ['errorCode' => 'IncorrectStatus.Network', 'errorMessage' => 'The status of the network is incorrect.', 'description' => 'The status of the network is incorrect.'], + ['errorCode' => 'InvalidNetworkType.NotSupported', 'errorMessage' => 'The specified network type does not supported.', 'description' => 'The network type is not supported.'], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'Route entry quota exceeded in this route table.', 'description' => 'The number of route entries in the routing table exceeds the limit.'], + ['errorCode' => 'InvalidRouteEntry.Duplicate', 'errorMessage' => 'The route entry already exists.', 'description' => 'The specified route entry already exists.'], + ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified InstanceId does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => 'The format of the destination network segment is incorrect.'], + ['errorCode' => 'InvalidSourceCidrBlock.Malformed', 'errorMessage' => 'Specified Source CIDR Block is not valid.', 'description' => 'The format of the source network segment is incorrect.'], + ['errorCode' => 'InvalidSourceCidrBlock.NotSupported', 'errorMessage' => 'The route table does not support the source CIDR block parameter.', 'description' => 'The routing table does not support the source CIDR block parameter.'], + ['errorCode' => 'InvalidNextHopType.NotSupported', 'errorMessage' => 'This next hop type is not supported.', 'description' => 'This next hop type is not supported.'], + ['errorCode' => 'HaVipNotFound', 'errorMessage' => 'The input parameter haVipId that is not found.', 'description' => 'The specified HaVip does not exist.'], + ['errorCode' => 'IncorrectHaVipStatus', 'errorMessage' => 'The status of the haVip is invalid.', 'description' => 'HaVip status is incorrect'], + ['errorCode' => 'InstanceNotFound.NetworkPeerConnection', 'errorMessage' => 'Network peer connection not found, please check the InstanceId.', 'description' => 'The instance cannot be found, please check the instance ID.'], + ['errorCode' => 'IncorrectStatus.NetworkPeerConnection', 'errorMessage' => 'The status of the network peer connection is incorrect.', 'description' => 'The status of the network peer connection is incorrect.'], + ['errorCode' => 'IncorrectNetworkInterfaceStatus', 'errorMessage' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.', 'description' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 3,\\n \\"PageSize\\": 2,\\n \\"PageNumber\\": 1,\\n \\"Networks\\": {\\n \\"Network\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing\\",\\n \\"NetworkId\\": \\"n-5***\\",\\n \\"NetworkName\\": \\"example\\",\\n \\"CidrBlock\\": \\"10.0.xx.xx/24\\",\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"exampleDescription\\",\\n \\"CreatedTime\\": \\"1653620630000\\",\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp1nhbnpv2blyz8dl****\\"\\n ]\\n },\\n \\"RouterTableId\\": \\"rtb-5**\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spxscd****\\",\\n \\"RouteTableIds\\": {\\n \\"RouteTableId\\": [\\n \\"rt-5*****pks\\"\\n ]\\n },\\n \\"RouteTableId\\": \\"rt-5*****pks\\",\\n \\"GatewayRouteTableId\\": \\"rt-5*****tbs\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"SecondaryCidrBlocks\\": {\\n \\"SecondaryCidrBlock\\": [\\n \\"172.XX.XX.0/12\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 3\\n 2\\n 1\\n \\n cn-beijing\\n n-5***\\n example\\n 10.0.xx.xx/24\\n Available\\n exampleDescription\\n 1653620630000\\n vsw-bp1nhbnpv2blyz8dl****\\n rtb-5**\\n nacl-a2do9e413e0spxscd****\\n \\n","errorExample":""}]', - 'title' => 'DescribeNetworks', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - ], - 'CreateEnsRouteEntry' => [ - 'summary' => 'Creates a custom route entry.', - 'methods' => [ - 'post', - 'get', + 'title' => 'CreateEnsRouteEntry', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:28.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2025-01-10T02:19:22.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-11-05T06:33:01.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEnsRouteEntry'], + ], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEnsRouteEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '128371', - 'abilityTreeNodes' => [ - 'FEATUREensGMWJSM', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RouteEntryId\\": \\"rte-5vb5q8sk0lyoscx8539ds\\"\\n}","type":"json"}]', + ], + 'CreateEnsService' => [ + 'summary' => 'Creates an edge service.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'RouteTableId', + 'name' => 'EnsServiceId', 'in' => 'query', - 'schema' => [ - 'title' => '要创建自定义路由条目的路由表ID。', - 'description' => 'The ID of the route table to which you want to add a custom route entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vtb-bp1cifr72dioje82lse2j', - ], + 'schema' => ['description' => 'The ID of the resource that you want to obtain. You can specify only one ID in a request.', 'type' => 'string', 'required' => true, 'example' => 'ens-20190806****', 'title' => ''], ], [ - 'name' => 'DestinationCidrBlock', + 'name' => 'OrderType', 'in' => 'query', 'schema' => [ - 'title' => '自定义路由条目的目标网段。', - 'description' => 'The destination CIDR block of the custom route entry. Make sure that the following requirements are met:'."\n" + 'description' => 'The operation to perform after you preview the created edge service. Valid values:'."\n" ."\n" - .'* The destination CIDR block cannot point or belong to 100.64.0.0/10.'."\n" - .'* The destination CIDR blocks of the custom route entries in the same route table cannot overlap.'."\n" - .'* 0.0.0.0/0 indicates the default CIDR block.'."\n", + .'- **Buy**: create'."\n" + ."\n" + .'- **Upgrade**: change', 'type' => 'string', 'required' => true, - 'example' => '0.0.0.0/0', + 'enum' => ['Buy', 'Upgrade'], + 'example' => 'Buy', + 'title' => '', ], ], - [ - 'name' => 'NextHopType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '自定义路由条目的下一跳的类型', - 'description' => 'The next hop type of the custom route. Valid values:'."\n" - ."\n" - .'* Instance: an ENS instance.'."\n" - .'* HaVip: a high-availability virtual IP address (HAVIP).'."\n" - .'* NetworkPeer: VPC peering connection.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Instance', - 'default' => 'Instance', - 'enum' => [ - 'Instance', - 'HaVip', - 'NetworkPeer', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The service code. 0 is returned for a successful request. An error code is returned for a failed request.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9AF02B43-2D08-49D3-8AAF-65B9C792ED14', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'CreateEnsService', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:51.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEnsService'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEnsService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"9AF02B43-2D08-49D3-8AAF-65B9C792ED14\\"\\n}","type":"json"}]', + ], + 'CreateEpnInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '1136', + 'abilityTreeNodes' => ['FEATUREensI1ZRKE'], + ], + 'parameters' => [ + [ + 'name' => 'EPNInstanceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the EPN instance. Set the value to **EdgeToEdge**.', 'type' => 'string', 'required' => true, 'example' => 'EdgeToEdge', 'title' => ''], + ], [ - 'name' => 'NextHopId', + 'name' => 'EPNInstanceName', 'in' => 'query', - 'schema' => [ - 'title' => '自定义路由条目的下一跳实例的ID。', - 'description' => 'The ID of the next hop of the custom route entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5vb7leks9z4mxy1ay258', - ], + 'schema' => ['description' => 'The name of the EPN instance.', 'type' => 'string', 'required' => false, 'example' => 'test EPNInstanceName', 'title' => ''], ], [ - 'name' => 'RouteEntryName', + 'name' => 'InternetChargeType', 'in' => 'query', 'schema' => [ - 'title' => '要创建的自定义路由条目的名称。', - 'description' => 'The name of the custom route entry that you want to add. The name must be 1 to 128 characters in length. It cannot start with http:// or https://.'."\n", + 'description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- **BandwidthByDay**: Pay by daily peak bandwidth.'."\n" + ."\n" + .'- **95BandwidthByMonth**: Pay by monthly 95th percentile bandwidth.'."\n" + ."\n" + .'- **PayByBandwidth4thMonth**: Pay by monthly fourth peak bandwidth.'."\n" + ."\n" + .'- **PayByBandwidth**: Pay by fixed bandwidth.'."\n" + ."\n" + .'You can specify only one metering method for network usage and cannot overwrite the existing metering method.', 'type' => 'string', - 'required' => false, - 'example' => 'test', - 'maxLength' => 128, - 'minLength' => 2, + 'required' => true, + 'enum' => ['BandwidthByDay', '95BandwidthByMonth', 'PayByBandwidth4thMonth', 'PayByBandwidth', 'FlowoutByDay'], + 'example' => 'BandwidthByDay', + 'title' => '', ], ], [ - 'name' => 'Description', + 'name' => 'NetworkingModel', 'in' => 'query', 'schema' => [ - 'title' => '自定义路由条目的描述信息。', - 'description' => 'The description of the custom route entry.'."\n", + 'description' => 'The networking mode. Valid values:'."\n" + ."\n" + .'- **SpeedUp**: intelligent acceleration network (Internet)'."\n" + ."\n" + .'- **Connection**: internal network'."\n" + ."\n" + .'- **SpeedUpAndConnection**: intelligent acceleration network and internal network', 'type' => 'string', - 'required' => false, - 'example' => 'example', - 'maxLength' => 256, - 'minLength' => 2, + 'required' => true, + 'enum' => ['SpeedUp', 'Connection', 'SpeedUpAndConnection'], + 'example' => 'SpeedUp', + 'title' => '', ], ], [ - 'name' => 'SourceCidrBlock', + 'name' => 'InternetMaxBandwidthOut', 'in' => 'query', - 'schema' => [ - 'description' => 'The source CIDR block is available when you configure a route entry in the gateway route table, but is not unavailable when you configure a route entry in the vSwitch route table.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.XXX.XXX.0/24', - ], + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'RouteEntryId' => [ - 'title' => '路由条目id。', - 'description' => 'The ID of the route.'."\n", - 'type' => 'string', - 'example' => 'rte-5vb5q8sk0lyoscx8539ds', - ], + 'EPNInstanceId' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'example' => 'epn-xxxxx', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidRouteTableId.NotFound', - 'errorMessage' => 'Specified route table does not exist.', - ], - [ - 'errorCode' => 'IncorrectStatus.Network', - 'errorMessage' => 'The status of the network is incorrect.', - ], - [ - 'errorCode' => 'InvalidNetworkType.NotSupported', - 'errorMessage' => 'The specified network type does not supported.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => 'Route entry quota exceeded in this route table.', - ], - [ - 'errorCode' => 'InvalidRouteEntry.Duplicate', - 'errorMessage' => 'The route entry already exists.', - ], - [ - 'errorCode' => 'InvalidInstanceId.NotFound', - 'errorMessage' => 'The specified InstanceId does not exist.', - ], - [ - 'errorCode' => 'InvalidCidrBlock.Malformed', - 'errorMessage' => 'Specified CIDR block is not valid.', - ], - [ - 'errorCode' => 'InvalidSourceCidrBlock.Malformed', - 'errorMessage' => 'Specified Source CIDR Block is not valid.', - ], - [ - 'errorCode' => 'InvalidSourceCidrBlock.NotSupported', - 'errorMessage' => 'The route table does not support the source CIDR block parameter.', - ], - [ - 'errorCode' => 'InvalidNextHopType.NotSupported', - 'errorMessage' => 'This next hop type is not supported.', - ], - [ - 'errorCode' => 'HaVipNotFound', - 'errorMessage' => 'The input parameter haVipId that is not found.', - ], - [ - 'errorCode' => 'IncorrectHaVipStatus', - 'errorMessage' => 'The status of the haVip is invalid.', - ], - [ - 'errorCode' => 'InstanceNotFound.NetworkPeerConnection', - 'errorMessage' => 'Network peer connection not found, please check the InstanceId.', - ], - [ - 'errorCode' => 'IncorrectStatus.NetworkPeerConnection', - 'errorMessage' => 'The status of the network peer connection is incorrect.', - ], - [ - 'errorCode' => 'IncorrectNetworkInterfaceStatus', - 'errorMessage' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'StockNotEnough', 'errorMessage' => 'The specified instance type has insufficient resource.', 'description' => ''], + ['errorCode' => 'UserNotExist', 'errorMessage' => 'The specified user is not authroized to perform this operation.', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The input parameter is Invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidDiskSize.ValueNotSupported', 'errorMessage' => 'The specified disk capacity is invalid. Specify another capacity and try again.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Bandwidth', 'errorMessage' => 'The specified parameter InternetChargeType is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Image', 'errorMessage' => 'The specified image does not support.', 'description' => ''], + ['errorCode' => 'InvalidParameter.InstanceType', 'errorMessage' => 'The specified parameter InstanceType is not valid.', 'description' => ''], + ['errorCode' => 'InvalidAccountStatus.NotEnoughBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], + ['errorCode' => 'unsupported_Ipv6Feature', 'errorMessage' => 'This ensregion does not support creating instance of the IPv6 type. Select another type.', 'description' => ''], + ['errorCode' => 'Forbidden.CreateInstance', 'errorMessage' => 'The user is not in the Goods whitelist of creating instance interface.', 'description' => ''], + ['errorCode' => 'ENS_OperationUnsupported_KeyPairName', 'errorMessage' => 'The KeyPairNameis not available or image not support ssh key.', 'description' => ''], + ['errorCode' => 'ENS_DependencyViolation_WindowsInstance', 'errorMessage' => 'The instance creating is window, only user password to login.', 'description' => ''], + ['errorCode' => 'ENS_PASSWORDORKEYPAIRNAME_MODULE_NOT_CHOOSEN', 'errorMessage' => 'The required module pwd or keyPairName is not inputed', 'description' => ''], + ['errorCode' => 'InvalidPrivateIpAddress', 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified virtual switch does not exist.', 'description' => 'The specified virtual switch ID does not exist.'], + ['errorCode' => 'InvalidPrivateIpAddress.Duplicated', 'errorMessage' => 'Specified private IP address is duplicated.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RouteEntryId\\": \\"rte-5vb5q8sk0lyoscx8539ds\\"\\n}","type":"json"}]', - 'title' => 'CreateEnsRouteEntry', - ], - 'DeleteEnsRouteEntry' => [ - 'summary' => 'Deletes a custom route entry.', - 'methods' => [ - 'get', - 'post', + 'title' => 'CreateEpnInstance', + 'summary' => 'Creates an edge private network (EPN) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:52.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEpnInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EPNInstanceId\\": \\"epn-xxxxx\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'CreateFileSystem' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14798,24 +4510,62 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '128376', - 'abilityTreeNodes' => [ - 'FEATUREensGMWJSM', - ], + 'abilityTreeNodes' => ['FEATUREensBO90KZ'], ], 'parameters' => [ [ - 'name' => 'RouteEntryId', + 'name' => 'OrderDetails', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '要删除的路由条目ID。', - 'description' => 'The ID of the route that you want to delete.'."\n", - 'type' => 'string', + 'description' => 'An array of objects, each containing the details for an order.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OrderType' => ['description' => 'The order type. The only valid value is `BUY` (purchase).', 'type' => 'string', 'required' => true, 'example' => 'BUY', 'title' => ''], + 'ChargeType' => ['description' => 'The billing method for Apsara File Storage NAS. Valid values:'."\n" + ."\n" + .'- `PrePaid`: subscription. This billing method is not currently supported.'."\n" + ."\n" + .'- `PostPaid`: pay-as-you-go.', 'type' => 'string', 'required' => true, 'example' => 'PostPaid', 'title' => ''], + 'FileSystemName' => ['description' => 'The name of the file system. The name must be 1 to 80 characters in length and can contain only letters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'example' => 'nasFile', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'required' => true, 'example' => 'cn-suzhou-telecom', 'title' => ''], + 'StorgeType' => [ + 'description' => 'The storage type. Valid values:'."\n" + ."\n" + .'- `capacity`: Capacity'."\n" + ."\n" + .'- `Performance`: Performance', + 'type' => 'string', + 'required' => true, + 'enum' => ['capacity', 'performance'], + 'example' => 'capacity', + 'title' => '', + ], + 'ProtocolType' => [ + 'description' => 'The storage protocol. The only valid value is `nfs`.', + 'enumValueTitles' => ['nfs' => 'nfs'], + 'type' => 'string', + 'required' => true, + 'enum' => ['nfs', 'smb'], + 'example' => 'nfs', + 'title' => '', + ], + 'NetworkId' => ['description' => 'The ID of the Virtual Private Cloud (VPC).', 'type' => 'string', 'required' => true, 'example' => 'vpc-xxx', 'title' => ''], + 'MountTargetDomain' => ['description' => 'The name of the mount target. The name must be 1 to 80 characters in length and can contain only letters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'example' => 'nasMount', 'title' => ''], + ], + 'required' => true, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => true, - 'example' => 'rte-8vbmb2890wiret5maqq25', + 'title' => '', + 'example' => '', ], ], ], @@ -14823,478 +4573,395 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], + 'AllocationId' => [ + 'description' => 'The file systems that were successfully created.', + 'type' => 'array', + 'items' => ['description' => '- `InstanceId`: The instance ID.'."\n" + ."\n" + .'- `EnsRegionId`: The node where the file system is located.', 'type' => 'string', 'example' => '{"InstanceId":"e426409223", "EnsRegionId":"cn-chengdu-telecom-4"}', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'BizStatusCode' => ['description' => 'The business status code. Valid values:'."\n" + ."\n" + .'- `PartSuccess`: The operation was partially successful.'."\n" + ."\n" + .'- `AllSuccess`: The operation was completely successful.', 'type' => 'string', 'example' => 'PartSuccess', 'title' => ''], + 'UnAllocationId' => [ + 'description' => 'The file systems that failed to be created.', + 'type' => 'array', + 'items' => ['description' => '- `InstanceId`: The instance ID.'."\n" + ."\n" + .'- `EnsRegionId`: The node where the file system is located.', 'type' => 'string', 'example' => '{"InstanceId":"e4264066666","EnsRegionId":"cn-hangzhou-26"}', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'AllocationIds' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'InstanceId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidRouteEntry.SystemRoute', - 'errorMessage' => 'Specified operation is denied as route entry type is system.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidRouteEntryId.NotFound', - 'errorMessage' => 'Specified RouteEntryId does not exist.', - ], - [ - 'errorCode' => 'IncorrectStatus.RouteEntry', - 'errorMessage' => 'The status of the routeEntry is incorrect.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Parameter.Invalid.%s', 'errorMessage' => 'The parameter %s is invalid.Please check your parameters and try it again.', 'description' => ''], + ['errorCode' => 'Stock.NotEnough', 'errorMessage' => 'The inventory of the specified zone is insufficient.Please contact the product.', 'description' => 'Insufficient resource inventory in the specified zone.'], + ['errorCode' => 'UserStatus.Abnormal', 'errorMessage' => 'The user status is abnormal.Please contact the product.', 'description' => 'The user is in an abnormal state.'], + ['errorCode' => 'Service.NotOpen', 'errorMessage' => 'You have not activated the service.Please activate the service first.', 'description' => 'The service has not been activated yet.'], + ['errorCode' => 'Order.CreateFailed', 'errorMessage' => 'Failed to create order. Please check your parameters and try it again.', 'description' => 'Failed to create the order.'], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'DeleteEnsRouteEntry', - ], - 'DescribeEnsRouteEntryList' => [ - 'summary' => 'Queries route entries.', - 'methods' => [ - 'get', - 'post', + 'title' => 'CreateFileSystem', + 'summary' => 'Call the CreateFileSystem API to create a NAS file system.', + 'changeSet' => [ + ['createdAt' => '2022-09-07T03:32:40.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateFileSystem'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateFileSystem', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"AllocationId\\": [\\n \\"{\\\\\\"InstanceId\\\\\\":\\\\\\"e426409223\\\\\\", \\\\\\"EnsRegionId\\\\\\":\\\\\\"cn-chengdu-telecom-4\\\\\\"}\\"\\n ],\\n \\"BizStatusCode\\": \\"PartSuccess\\",\\n \\"UnAllocationId\\": [\\n \\"{\\\\\\"InstanceId\\\\\\":\\\\\\"e4264066666\\\\\\",\\\\\\"EnsRegionId\\\\\\":\\\\\\"cn-hangzhou-26\\\\\\"}\\"\\n ],\\n \\"AllocationIds\\": [\\n {\\n \\"EnsRegionId\\": \\"\\",\\n \\"InstanceId\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'CreateForwardEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '128367', - 'abilityTreeNodes' => [ - 'FEATUREensGMWJSM', - ], - ], + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'RouteTableId', + 'name' => 'NatGatewayId', 'in' => 'query', - 'schema' => [ - 'title' => '要查询的路由表的ID。', - 'description' => 'The ID of the route table that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vtb-hp3wdhynneo7fsclox8hs', - ], + 'schema' => ['description' => 'The ID of the Network Address Translation (NAT) gateway.', 'type' => 'string', 'required' => true, 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], ], [ - 'name' => 'RouteEntryId', + 'name' => 'ExternalIp', 'in' => 'query', - 'schema' => [ - 'title' => '要查询的路由条目的ID。', - 'description' => 'The ID of the route that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rte-8vbdw66evgv44u2u7v3hx', - ], + 'schema' => ['description' => 'The elastic IP address (EIP) that is used to access the Internet.', 'type' => 'string', 'required' => true, 'example' => '121.XXX.XXX.28', 'title' => ''], ], [ - 'name' => 'DestinationCidrBlock', + 'name' => 'ExternalPort', 'in' => 'query', - 'schema' => [ - 'title' => '路由条目的目标网段', - 'description' => 'The destination Classless Inter-Domain Routing (CIDR) block of the route entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '11.0.0.0/16', - ], + 'schema' => ['description' => 'The external port or port range that is used for port forwarding.'."\n" + ."\n" + .'- Valid values: 1 to 65535.'."\n" + ."\n" + .'- To specify a port range, separate the first port and the last port with a forward slash (/), such as 10/20.'."\n" + ."\n" + .'- If you set ExternalPort to a port range, you must also set InternalPort to a port range. The number of ports in the port ranges must be the same. For example, if you set ExternalPort to 10/20, you can set InternalPort to 80/90.', 'type' => 'string', 'required' => true, 'example' => '22', 'title' => ''], ], [ - 'name' => 'RouteEntryType', + 'name' => 'InternalIp', + 'in' => 'query', + 'schema' => ['description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.', 'type' => 'string', 'required' => true, 'example' => '10.0.XXX.XXX', 'title' => ''], + ], + [ + 'name' => 'InternalPort', + 'in' => 'query', + 'schema' => ['description' => 'The internal port or port range that is used for port forwarding.'."\n" + ."\n" + .'- Valid values: 1 to 65535.'."\n" + ."\n" + .'- To specify a port range, separate the first port and the last port with a forward slash (/), such as 10/20.', 'type' => 'string', 'required' => true, 'example' => '22', 'title' => ''], + ], + [ + 'name' => 'ForwardEntryName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the DNAT entry. The name must be 2 to 128 characters in length. The name cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'test0', 'title' => ''], + ], + [ + 'name' => 'IpProtocol', 'in' => 'query', 'schema' => [ - 'title' => '路由条目的类型', - 'description' => 'The route type. Valid values:'."\n" + 'description' => 'The protocol. Valid values:'."\n" ."\n" - .'* Custom: custom route'."\n" - .'* System: system route'."\n", + .'- **TCP**: forwards TCP packets.'."\n" + ."\n" + .'- **UDP**: forwards UDP packets.'."\n" + ."\n" + .'- **Any** (default): forwards all packets.', 'type' => 'string', + 'enum' => ['TCP', 'UDP', 'Any'], 'required' => false, - 'example' => 'Custom', - 'enum' => [ - 'System', - 'Custom', - ], + 'example' => 'Any', + 'title' => '', ], ], [ - 'name' => 'NextHopType', + 'name' => 'HealthCheckPort', 'in' => 'query', + 'schema' => ['description' => 'The probe port. The port must be within the internal port range. By default, this parameter is left empty.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'required' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'StandbyExternalIp', + 'in' => 'query', + 'schema' => ['description' => 'The secondary EIP that is used to access the Internet. You need to select a secondary EIP that is bound to NAT. After the DNAT entry is created, the secondary EIP takes effect.', 'type' => 'string', 'required' => false, 'example' => '101.XXX.XXX.4', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '下一跳类型', - 'description' => 'The type of next hop of the custom route entry. Valid values:'."\n" - ."\n" - .'* Instance (default): an ENS instance.'."\n" - .'* HaVip: a high-availability virtual IP address (HAVIP).'."\n" - .'* NetworkPeer: VPC peering connection.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Instance', - 'enum' => [ - 'Instance', - 'HaVip', - 'NetworkPeer', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EF6D6FA4-DACA-5822-A981-81006271D263'], + 'ForwardEntryId' => ['description' => 'The ID of the DNAT entry.', 'type' => 'string', 'example' => 'fwd-5tc07cw14metghn3siv4a****', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NatNotFound', 'errorMessage' => 'The specified Nat is not found.', 'description' => 'The specified parameter Nat does not exist.'], + ['errorCode' => 'InvalidParameter.ExternalIp', 'errorMessage' => 'The specified externalIp is not found.', 'description' => ''], + ['errorCode' => 'Forbidden.ExternalIpUsedInSnat', 'errorMessage' => 'Forbidden.ExternalIpUsedInSnat', 'description' => ''], + ['errorCode' => 'InvalidParameter.InternalIpNotFound', 'errorMessage' => 'The input parameter internalIp that is not found.', 'description' => ''], + ['errorCode' => 'Forbidden.ExternalPort.Duplicated', 'errorMessage' => 'The specified ExternalPort is duplicated.', 'description' => 'A DNAT rule has been configured for the external port. Do not repeat the configuration.'], + ['errorCode' => 'ForwardEntryLimitExceed', 'errorMessage' => 'The limit of forward entry in the nat reaches.', 'description' => ''], + ['errorCode' => 'InvalidParameter.HealthCheckPort', 'errorMessage' => 'HealthCheckPort is not in the range of InternalPort', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => 'The system is currently busy, please try again later.'], + ['errorCode' => 'InvalidParameter.InternalIp', 'errorMessage' => 'The specified parameter internalIp is invalid.', 'description' => 'The parameter internal IP is incorrect.'], + ['errorCode' => 'InvalidPort.Malformed', 'errorMessage' => 'The specified port is not a valid port.', 'description' => 'The specified port is incorrect'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'CreateForwardEntry', + 'summary' => 'Adds a Destination Network Address Translation (DNAT) entry to a DNAT table.', + 'changeSet' => [ + ['createdAt' => '2024-06-28T01:51:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-11-16T08:15:00.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-18T09:09:04.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-08T05:56:36.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-03-07T16:04:07.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateForwardEntry'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateForwardEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EF6D6FA4-DACA-5822-A981-81006271D263\\",\\n \\"ForwardEntryId\\": \\"fwd-5tc07cw14metghn3siv4a****\\"\\n}","type":"json"}]', + ], + 'CreateHaVip' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create', 'tenantRelevance' => 'tenant'], + 'parameters' => [ + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the HAVIP.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'testDescription', 'title' => ''], + ], [ - 'name' => 'NextHopId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'title' => '下一跳实例ID。', - 'description' => 'The ID of the next hop.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-2zecshuv3axtr2gc4noa', - ], + 'schema' => ['description' => 'The name of the HAVIP.', 'type' => 'string', 'maxLength' => 256, 'required' => false, 'example' => 'yourName', 'title' => ''], ], [ - 'name' => 'RouteEntryName', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'title' => '路由条目的名称。', - 'description' => 'The name of the route.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test0', - ], + 'schema' => ['description' => 'The vSwitch ID of the HAVIP.', 'type' => 'string', 'maxLength' => 256, 'required' => false, 'example' => 'vsw-5****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'IpAddress', 'in' => 'query', - 'schema' => [ - 'title' => '列表的页码,默认值为1。', - 'description' => 'The page number of the returned page. Valid values: integers that are greater than 0. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The IP address of the HAVIP.', 'type' => 'string', 'pattern' => '^(\\d{0,3}\\.){3}\\d{0,3}$', 'required' => false, 'example' => '120.24.243.91', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Amount', 'in' => 'query', - 'schema' => [ - 'title' => '分页查询时每页的行数,最大值为100,默认值为10。', - 'description' => 'The number of entries per page. Default value: 10. Valid values: 10 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - ], + 'schema' => ['description' => 'The number of HAVIPs that you want to create. Valid values: 1 to 10. The value can be only 1 if you specify an IP address.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '1', 'default' => '1', 'required' => false, 'example' => '6', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'RouteEntrys' => [ - 'title' => '路由条目信息。', - 'description' => 'The information about the routes.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74'], + 'HaVipIds' => [ + 'description' => 'The IDs of the HAVIPs.', 'type' => 'array', - 'items' => [ - 'title' => '路由条目信息。', - 'description' => 'The information about the route.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'title' => '路由条目的状态', - 'description' => 'The status of the route entry. Valid values:'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'Type' => [ - 'title' => '路由条目的类型', - 'description' => 'The type of the route entry.'."\n", - 'type' => 'string', - 'example' => 'Custom', - ], - 'Description' => [ - 'title' => '路由条目的描述信息。', - 'description' => 'Enter a description for the route.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RouteEntryName' => [ - 'title' => '路由条目的名称。', - 'description' => 'The name of the route.'."\n", - 'type' => 'string', - 'example' => 'test0', - ], - 'DestinationCidrBlock' => [ - 'title' => '路由条目的目标网段。', - 'description' => 'The destination CIDR block of the route.'."\n", - 'type' => 'string', - 'example' => '101.0.45.0/24', - ], - 'RouteEntryId' => [ - 'title' => '路由条目的ID。', - 'description' => 'The ID of the route.'."\n", - 'type' => 'string', - 'example' => 'rte-2zeksx7h436f5unk349m1', - ], - 'RouteTableId' => [ - 'title' => '路由表ID。', - 'description' => 'The ID of the route table.'."\n", - 'type' => 'string', - 'example' => 'vtb-uf62p9o5cn35fi8xgurnm', - ], - 'NextHops' => [ - 'title' => '下一跳', - 'description' => 'The information about the next hop.'."\n", - 'type' => 'array', - 'items' => [ - 'title' => '下一跳', - 'description' => 'The next hop.'."\n", - 'type' => 'object', - 'properties' => [ - 'NextHopId' => [ - 'title' => '下一跳实例ID。', - 'description' => 'The ID of the next hop.'."\n", - 'type' => 'string', - 'example' => 'i-bp1111yup9991890woxq', - ], - 'NextHopType' => [ - 'title' => '下一跳类型', - 'description' => 'The type of the next hop. Valid values:'."\n", - 'type' => 'string', - 'example' => 'Instance', - ], - 'NextHopName' => [ - 'description' => 'The instance ID of the next hop.'."\n", - 'type' => 'string', - 'example' => 'testInstance', - ], - ], - ], - ], - 'SourceCidrBlock' => [ - 'description' => 'The source CIDR block. This field is used when you configure a route entry in the gateway route table. This field is not supported in the vSwitch route table.'."\n", - 'type' => 'string', - 'example' => '10.XXX.XXX.0/24', - ], - 'CreationTime' => [ - 'description' => 'The time when the IP address was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2023-02-16T03:50:05Z', - ], - ], - ], - ], - 'PageNumber' => [ + 'items' => ['description' => 'The ID of the HAVIP.', 'type' => 'string', 'example' => 'havpid-id', 'title' => ''], 'title' => '', - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RouteEntrys\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"Type\\": \\"Custom\\",\\n \\"Description\\": \\"测试\\",\\n \\"RouteEntryName\\": \\"test0\\",\\n \\"DestinationCidrBlock\\": \\"101.0.45.0/24\\",\\n \\"RouteEntryId\\": \\"rte-2zeksx7h436f5unk349m1\\",\\n \\"RouteTableId\\": \\"vtb-uf62p9o5cn35fi8xgurnm\\",\\n \\"NextHops\\": [\\n {\\n \\"NextHopId\\": \\"i-bp1111yup9991890woxq\\",\\n \\"NextHopType\\": \\"Instance\\",\\n \\"NextHopName\\": \\"testInstance\\"\\n }\\n ],\\n \\"SourceCidrBlock\\": \\"10.XXX.XXX.0/24\\",\\n \\"CreationTime\\": \\"2023-02-16T03:50:05Z\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 7\\n}","type":"json"}]', - 'title' => 'DescribeEnsRouteEntryList', - ], - 'CreateVSwitch' => [ - 'summary' => 'A vSwitch is created.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'CreateHaVip', + 'summary' => 'Creates a high-availability virtual IP address (HAVIP).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHaVip'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateHaVips', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"HaVipIds\\": [\\n \\"havpid-id\\"\\n ]\\n}","type":"json"}]', + ], + 'CreateImage' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'create', - 'abilityTreeCode' => '33019', - 'abilityTreeNodes' => [ - 'FEATUREensD2JHRI', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '921', + 'abilityTreeNodes' => ['FEATUREens10C7IY'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-xian-unicom', - ], + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => false, 'example' => 'i-5rr1bnyrc4tswr8cq3w6y****', 'title' => ''], ], [ - 'name' => 'CidrBlock', + 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'description' => 'The CIDR block of the vSwitch. Take note of the following limits:'."\n" - ."\n" - .'* The subnet mask 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 the 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, - 'example' => '172.16.0.0/24', - ], + 'schema' => ['description' => 'The image name. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). It must start with a letter but cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'ImageName', 'title' => ''], ], [ - 'name' => 'VSwitchName', + 'name' => 'DeleteAfterImageUpload', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the vSwitch. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + 'description' => 'Specifies whether to enable automatic release of the instance after the image is packaged and uploaded. This parameter is supported only for build instances.'."\n" ."\n" - .'Default value: null.'."\n", + .'- true: The image is released together with the instance when the instance is released.'."\n" + .'- false: The image is retained when the instance is released.'."\n" + .'- If this parameter is left empty, the default value is false.', 'type' => 'string', 'required' => false, - 'example' => 'test', + 'default' => 'true', + 'enum' => ['true', 'false'], + 'example' => 'false', + 'title' => '', ], ], [ - 'name' => 'Description', + 'name' => 'SnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the vSwitch.'."\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' => 'This is my vswitch.', - ], + 'schema' => ['description' => 'The snapshot ID.', 'type' => 'string', 'required' => false, 'example' => 's-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'NetworkId', + 'name' => 'TargetOSSRegionId', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the network to which the vSwitch that you want to create belongs.'."\n", + 'description' => 'The region of the destination OSS bucket where the image is stored.', 'type' => 'string', + 'enum' => ['cn-beijing', 'ap-southeast-1', 'vietnam', 'thailand'], 'required' => false, - 'example' => 'n-257gqcdfvx6n****', + 'example' => 'cn-beijing', + 'title' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'WithDataDisks', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag to add to the resource.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag that are to add to the instance. Valid values of N: **1** to **20**.'."\n" - ."\n" - .'* The key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" - .'* The key must be up to 64 characters in length.'."\n" - .'* The tag key cannot be an empty string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'team', - ], - 'Value' => [ - 'description' => 'The value of tag N that is added to the resource. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with acs: or contain http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Deep', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'Specifies whether to include data cloud disks when creating the image.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -15302,733 +4969,518 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-5****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8BEF0D72-9901-5D43-B7D3-8B42AC26C516', 'title' => ''], + 'Code' => ['description' => 'The business return code. A value of 0 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ImageId' => ['title' => '', 'description' => 'The image ID.', 'type' => 'string', 'example' => 'm-5xxgg'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'QuotaExceed', 'errorMessage' => 'The custom image quota has been used up.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VSwitchId\\": \\"vsw-5****\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\n vsw-5****\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'CreateVSwitch', - ], - 'DeleteVSwitch' => [ - 'summary' => 'Deletes a vSwitch.', - 'methods' => [ - 'post', - 'get', + 'title' => 'Create an image', + 'summary' => 'Calls CreateImage to create an image from the specified instance.', + 'changeSet' => [ + ['createdAt' => '2025-05-21T02:19:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-01-10T03:41:28.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-03-19T02:55:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-03T08:10:17.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateImage'], + ], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '2183', - 'abilityTreeNodes' => [ - 'FEATUREensD2JHRI', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8BEF0D72-9901-5D43-B7D3-8B42AC26C516\\",\\n \\"Code\\": 0,\\n \\"ImageId\\": \\"m-5xxgg\\"\\n}","type":"json"}]', + ], + 'CreateInstance' => [ + 'summary' => 'Creates an instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], - 'tenantRelevance' => 'tenant', ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'VSwitchId', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vsw-5m9xhl****', - ], + 'schema' => ['description' => 'The type of the instance.'."\n" + ."\n" + .'For more information, see [](~~66124~~).', 'type' => 'string', 'required' => true, 'example' => 'ens.se1.tiny', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - 'description' => '', - ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => 'The password of the instance.'."\n" + ."\n" + .'The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include: ``()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/``', 'type' => 'string', 'required' => false, 'example' => 'yourPassword:1', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The subscription period of the instance. Valid values: **1** to **9** and **12**. Unit: months.', 'type' => 'string', 'required' => true, 'example' => '12', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image file that you select when creating the instance.', 'type' => 'string', 'required' => false, 'example' => 'yourImage ID', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => ['description' => 'The size of the system disk. Unit: GiB. Valid values: **20** and **40**. The value cannot be smaller than the size of the image and must be a multiple of 10 GiB.', 'type' => 'string', 'required' => false, 'example' => '40', 'title' => ''], + ], + [ + 'name' => 'Quantity', + 'in' => 'query', + 'schema' => ['description' => 'The number of instances.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'DataDisk.1.Size', + 'in' => 'query', + 'schema' => ['description' => 'The capacity of the first data disk. Unit: GiB. The capacity is at least 20 GiB and is a multiple of 10 GiB.', 'type' => 'string', 'required' => false, 'example' => '50', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\r\\n","errorExample":""}]', - 'title' => 'DeleteVSwitch', - 'description' => 'Before you delete a vSwitch, make sure that no instances exist in the vSwitch.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ModifyVSwitchAttribute' => [ - 'summary' => 'Modifies information about a vSwitch.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is required if you create the instance for the first time. The existing billing method is used by default if you have created an instance. Valid values:'."\n" + ."\n" + .'- **BandwidthByDay**: Pay by daily peak bandwidth.'."\n" + ."\n" + .'- **95BandwidthByMonth**: Pay by monthly 95th percentile bandwidth.', 'type' => 'string', 'required' => false, 'example' => '95BandwidthByMonth', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'VSwitchId', + 'name' => 'AutoRenewPeriod', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-****', - ], + 'schema' => ['description' => 'The auto-renewal period for the instance. This parameter is required when the **AutoRenew** parameter is set to **True**. Valid values: **1** to **12**. Unit: months.', 'type' => 'string', 'required' => false, 'example' => '12', 'title' => ''], ], [ - 'name' => 'VSwitchName', + 'name' => 'AutoRenew', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the vSwitch.'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" - .'* It must start with a letter but cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test-switch', - 'maxLength' => 128, - 'minLength' => 2, - ], + 'schema' => ['description' => 'Specifies whether to enable the auto-renewal feature. Valid values: **True** and **False**. Default value: False.', 'type' => 'string', 'required' => false, 'example' => 'True', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'IpType', 'in' => 'query', 'schema' => [ - 'description' => 'The description of the listener.'."\n" + 'description' => 'The type of the IP address. Valid values:'."\n" + ."\n" + .'- **ipv4** (default)'."\n" + ."\n" + .'- **ipv6**'."\n" ."\n" - .'* The description must be 2 to 256 characters in length.'."\n" - .'* It must start with a letter but cannot start with http:// or https://.'."\n", + .'- **ipv4Andipv6**', 'type' => 'string', 'required' => false, - 'example' => 'this is my first network', - 'maxLength' => 256, - 'minLength' => 2, - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], + 'default' => 'ipv4', + 'enum' => ['ipv4Andipv6', 'ipv4', 'ipv6'], + 'example' => 'ipv4', + 'title' => '', ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'The specified VSwitchId does not exist.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair. You can specify only one name.', 'type' => 'string', 'required' => false, 'example' => 'TestKeyPairName', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'ModifyVSwitchAttribute', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 5 times per second per user.'."\n", - ], - 'DescribeVSwitches' => [ - 'summary' => 'Queries information about available vSwitches.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'UserData', + 'in' => 'query', + 'schema' => ['description' => 'Custom data. The data starts with `#!`. The data can be at most 256 characters in length and 16 KB in size. Only custom scripts are supported and cannot be rendered by InstanceMetaData.'."\n" + ."\n" + .'You can specify custom data. The data is encoded in Base64. The system does not encrypt your custom data when API requests are initiated. We recommend that you do not pass in confidential information such as passwords and private keys in plaintext. If you want to provide sensitive data such as passwords and private keys, encrypt the data and then encode it in Base64. The data is decrypted on the instance in the way it is encrypted.'."\n" + ."\n" + .'For more information, see [User data formats](https://cloudinit.readthedocs.io/en/latest/topics/format.html).', 'type' => 'string', 'required' => false, 'example' => '#!/bin/sh echo "Hello World. The time is now $(date -R)!" | tee /home/output.txt', 'title' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '33023', - 'abilityTreeNodes' => [ - 'FEATUREensD2JHRI', + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'YourVSwitchId', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'PrivateIpAddress', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-xian-unicom', - ], + 'schema' => ['description' => 'The internal IP address. If this parameter is specified, you must specify the vSwitch ID. The vSwitch must be created first. Otherwise, an error is returned.', 'type' => 'string', 'required' => false, 'example' => '10.10.10.10', 'title' => ''], ], [ - 'name' => 'VSwitchId', + 'name' => 'PaymentType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", + 'description' => 'The billing method of the instance. Set the value to Subscription.', 'type' => 'string', 'required' => false, - 'example' => 'vsw-5m9xhlq8oh***', + 'default' => 'Subscription', + 'enum' => ['Subscription'], + 'example' => 'Subscription', + 'title' => '', ], ], [ - 'name' => 'VSwitchName', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testVSwitchName', - ], + 'schema' => ['description' => 'The name of the instance. The name must conform to the following naming conventions:'."\n" + ."\n" + .'- The name must be **2** to **128** characters in length.'."\n" + ."\n" + .'- It must start with a letter but cannot start with http\\:// or https\\://.'."\n" + ."\n" + .'- The name can contain letters, digits, colons (:), underscores (\\_), periods (.), and hyphens (-).'."\n" + ."\n" + .'If you do not specify this parameter, the instance ID is used as the instance name by default.', 'type' => 'string', 'required' => false, 'example' => 'test:Instance_Name.1-2', 'title' => ''], ], [ - 'name' => 'NetworkId', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the VPC to which the vSwitch belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-25cdvfeq58pl****', - ], + 'schema' => ['description' => 'The hostname of the Elastic Compute Service (ECS) instance. General naming rules: The hostname cannot start or end with a period (.) or hyphen (-). It cannot contain consecutive periods (.) or hyphens (-).'."\n" + ."\n" + .'Naming rules for specific instances:'."\n" + ."\n" + .'- For Windows instances, the hostname must be **2** to **15** characters in length and cannot contain periods (.) or contain only digits. The hostname cannot contain periods (.) or contain only digits.'."\n" + ."\n" + .'- For instances that run one of other operating systems such as Linux, the hostname must be **2** to **64** characters in length. You can use periods (.) to separate the hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test-HostName', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'UniqueSuffix', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'Specifies whether to automatically append sequential suffixes to the hostnames specified by the **HostName** parameter and instance names specified by the **InstanceName** parameter. The sequential suffixes range from **001** to **999**.'."\n" + ."\n" + .'Examples: **LocalHost001** and **LocalHost002**, and **MyInstance001** and **MyInstance002**.'."\n" + ."\n" + .'Default value: **false**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'PublicIpIdentification', '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', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'Specifies whether a public IP address can be assigned to the specified instance. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'PasswordInherit', 'in' => 'query', - 'style' => 'flat', + 'schema' => ['description' => 'Specifies whether to use the preset password of the image. Valid values:'."\n" + ."\n" + .'- **true**: The password preset in the image is used, and the **Password** parameter must be null. For secure access, make sure that the selected image has a password configured.'."\n" + ."\n" + .'- **false**: does not use the password preset in the image.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of edge nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4A431388-2D4B-46F4-A96B-D4E6BD0688C1', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The IDs of instances.', + 'type' => 'array', + 'items' => ['description' => 'The list of instance IDs.', 'type' => 'string', 'example' => '[i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The return code. A value of 0 indicates that the request is successful.'."\n" + ."\n" + .'> If you call this operation by using SDKs, the return value is of the integer type. If you call this operation by using common methods or HTTP requests, the return value is of the string type.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], ], - 'required' => false, - 'maxItems' => 100, + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'StockNotEnough', 'errorMessage' => 'The specified instance type has insufficient resource.', 'description' => ''], + ['errorCode' => 'InvalidUserData.NotInWhiteList', 'errorMessage' => 'The specified user is not authroized to perform this operation.', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The input parameter is Invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidDiskSize.ValueNotSupported', 'errorMessage' => 'The specified disk capacity is invalid. Specify another capacity and try again.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Bandwidth', 'errorMessage' => 'The specified parameter InternetChargeType is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Image', 'errorMessage' => 'The specified image does not support.', 'description' => ''], + ['errorCode' => 'InvalidParameter.InstanceType', 'errorMessage' => 'The specified parameter InstanceType is not valid.', 'description' => ''], + ['errorCode' => 'InvalidAccountStatus.NotEnoughBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], + ['errorCode' => 'unsupported_Ipv6Feature', 'errorMessage' => 'This ensregion does not support creating instance of the IPv6 type. Select another type.', 'description' => ''], + ['errorCode' => 'Forbidden.CreateInstance', 'errorMessage' => 'The user is not in the Goods whitelist of creating instance interface.', 'description' => ''], + ['errorCode' => 'ENS_OperationUnsupported_KeyPairName', 'errorMessage' => 'The KeyPairNameis not available or image not support ssh key.', 'description' => ''], + ['errorCode' => 'ENS_DependencyViolation_WindowsInstance', 'errorMessage' => 'The instance creating is window, only user password to login.', 'description' => ''], + ['errorCode' => 'ENS_PASSWORDORKEYPAIRNAME_MODULE_NOT_CHOOSEN', 'errorMessage' => 'The required module pwd or keyPairName is not inputed', 'description' => ''], + ['errorCode' => 'InvalidPrivateIpAddress', 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified virtual switch does not exist.', 'description' => 'The specified virtual switch ID does not exist.'], + ['errorCode' => 'InvalidPrivateIpAddress.Duplicated', 'errorMessage' => 'Specified private IP address is duplicated.', 'description' => ''], + ['errorCode' => 'InvalidPasswordParam.Mismatch', 'errorMessage' => 'The input password should be null when passwordInherit is true.', 'description' => ''], + ], + ], + 'title' => 'CreateInstance', + 'description' => '- up to 10 times per second per account.'."\n" + ."\n" + .'- We recommend that you increase the request time because instance creation is an asynchronous operation. If the return code of the API operation is 0, it indicates that the request is successful, but does not indicate that the instance is created. If the request is successful, an instance ID is returned. You can check whether the instance is created based on the instance ID.'."\n" + ."\n" + .'- InvalidUserData.NotInWhiteList operation restriction: You can create an instance only if you are in the whitelist in which members have the purchase permissions. Otherwise, an error is returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-10-12T14:42:20.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-03T06:40:11.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-08-04T03:12:15.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-06-07T08:13:13.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-09-23T08:41:40.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'VSwitchIds', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of vSwitches. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of vSwitches.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5****tzrpf', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/*'], ], - 'required' => false, - 'maxItems' => 100, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4A431388-2D4B-46F4-A96B-D4E6BD0688C1\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]\\"\\n ]\\n },\\n \\"Code\\": 0\\n}","type":"json"}]', + ], + 'CreateKeyPair' => [ + 'summary' => 'Creates an SSH key pair.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '914', + 'abilityTreeNodes' => ['FEATUREensCT6YHH'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair. The name must conform to the following naming conventions:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'- It must start with a letter but cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'TestKeyPairName', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ + 'KeyPairFingerPrint' => ['description' => 'The fingerprint of the key pair. The message-digest algorithm 5 (MD5) is used based on the public key fingerprint format defined in RFC 4716. For more information, see [RFC 4716](https://tools.ietf.org/html/rfc4716).', 'type' => 'string', 'example' => '7880c1ad4687fdbf7a6da2131****', 'title' => ''], + 'KeyPairId' => ['description' => 'The ID of the SSH key pair.', 'type' => 'string', 'example' => 'ssh-5lywanlkih1zo9yl8eg****', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair.', 'type' => 'string', 'example' => 'TestKeyPairName', 'title' => ''], + 'PrivateKeyBody' => ['description' => 'The private key of the key pair. The private key is encoded with PEM in the PKCS#8 format.', 'type' => 'string', 'example' => '-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQE****', 'title' => ''], 'RequestId' => [ - 'description' => 'The request ID.'."\n", + 'description' => 'The ID of the request.', + 'enumValueTitles' => [], 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'VSwitches' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VSwitch' => [ - 'description' => 'The information about the vSwitches. For more information, see the array of vSwitches in the response examples in the JSON format.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-xian-unicom', - ], - 'Status' => [ - 'description' => 'The status of the vSwitch. Valid values:'."\n" - ."\n" - .'* Pending'."\n" - .'* Available'."\n", - 'type' => 'string', - 'example' => 'Pending', - ], - 'FreeIpCount' => [ - 'description' => 'The number of available IP addresses.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-5m9xhlq8oh***', - ], - 'CidrBlock' => [ - 'description' => 'The IPv4 CIDR block of the vSwitch.'."\n", - 'type' => 'string', - 'example' => '10.21.224.0/22', - ], - 'Description' => [ - 'description' => 'The description of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'VSwitchDescription', - ], - 'NetworkId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-25cdvfeq58pl****', - ], - 'CreatedTime' => [ - 'description' => 'The time when the VPC 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' => '2020-06-16T06:33:15Z', - ], - 'VSwitchName' => [ - 'description' => 'The name of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'testVSwitchName', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The request error rate.', - 'type' => 'string', - 'example' => 'TestValue', - ], - 'Key' => [ - 'description' => 'The tag key.', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestValue', - ], - 'TagKey' => [ - 'description' => '', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestKey', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], + 'title' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'CreateKeyPair', + 'description' => 'An SSH key pair consists of a public key and a private key. ENS stores the public key and returns the unencrypted private key that is PEM-encoded in the PKCS#8 format. You must securely lock away the private key.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:41.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateKeyPair'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateKeyPair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageSize\\": 2,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 3,\\n \\"VSwitches\\": {\\n \\"VSwitch\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-xian-unicom\\",\\n \\"Status\\": \\"Pending\\",\\n \\"FreeIpCount\\": 1024,\\n \\"VSwitchId\\": \\"vsw-5m9xhlq8oh***\\",\\n \\"CidrBlock\\": \\"10.21.224.0/22\\",\\n \\"Description\\": \\"VSwitchDescription\\",\\n \\"NetworkId\\": \\"vpc-25cdvfeq58pl****\\",\\n \\"CreatedTime\\": \\"2020-06-16T06:33:15Z\\",\\n \\"VSwitchName\\": \\"testVSwitchName\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 3\\n \\n cn-xian-unicom\\n Pending\\n 1024\\n vsw-5m9xhlq8oh***\\n 10.21.224.0/22\\n VSwitchDescription\\n vpc-25cdvfeq58pl****\\n 2020-06-16T06:33:15Z\\n testVSwitchName\\n \\n","errorExample":""}]', - 'title' => 'DescribeVSwitches', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"KeyPairFingerPrint\\": \\"7880c1ad4687fdbf7a6da2131****\\",\\n \\"KeyPairId\\": \\"ssh-5lywanlkih1zo9yl8eg****\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"PrivateKeyBody\\": \\"-----BEGIN RSA PRIVATE KEY-----\\\\\\\\nMIIEogIBAAKCAQE****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], - 'CreateSecurityGroup' => [ - 'summary' => 'Creates a security group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateLoadBalancer' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '33018', - 'abilityTreeNodes' => [ - 'FEATUREensJVII2K', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '18910', + 'abilityTreeNodes' => ['FEATUREens6EB2HM'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SecurityGroupName', + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => true, 'example' => 'cn-chengdu-telecom', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerSpec', + 'in' => 'query', + 'schema' => ['description' => 'The specification of the ELB instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'elb.s2.medium'], + ], + [ + 'name' => 'LoadBalancerName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the ELB instance. The name must be 1 to 80 characters in length. If you leave this parameter empty, the system randomly allocates a name as the value of this parameter.'."\n" + ."\n" + .'> The value cannot start with `http://` or `https://`.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'gcs-pre-websocket-eslb-telecom'], + ], + [ + 'name' => 'PayType', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the security group. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter but cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). By default, this parameter is empty.'."\n", + 'description' => 'The billing method of the cluster. Valid value: PostPaid. PostPaid specifies the pay-as-you-go billing method.', 'type' => 'string', - 'required' => false, - 'example' => 'Dcdn1:2_3-4', - 'maxLength' => 128, + 'required' => true, + 'enum' => ['PostPaid'], + 'title' => '', + 'example' => 'PostPaid', ], ], [ - 'name' => 'Description', + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The network ID of the created ELB instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'n-5sax03dh2eyagujgsn7z9****'], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch to which the internal-facing ELB instance belongs.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vsw-5s78haoys9oylle6ln71m****'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. This prevents repeated operations caused by multiple retries.'."\n" + ."\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 only contain ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'- If you retry an API request with the same client token and request parameters after it has completed successfully, the result of the original request is returned. The server status does not change.'."\n" + ."\n" + .'- You can initiate a retry when the operation times out or the error code is PROCESSING. The idempotence is valid. If HTTP status code 200 is returned, the client receives the same result as the last request. However, your server status is not affected. If HTTP status code 4xx is returned and error code is not PROCESSING, the idempotence is invalid.'."\n" + ."\n" + .'- A client token is valid for 10 minutes.', 'type' => 'string', 'required' => false, 'example' => '26C28756-2586-17AF-B802-0DC50D8FDEBB', 'title' => ''], + ], + [ + 'name' => 'BillingCycle', 'in' => 'query', 'schema' => [ - 'description' => 'The description. The description must be 2 to 256 characters in length. It must start with a letter but cannot start with http:// or https://.'."\n", + 'description' => 'The billing cycle of the ELB instance.', 'type' => 'string', + 'default' => 'Month', + 'enum' => ['Hour', 'Month'], 'required' => false, - 'example' => 'testDescription', - 'maxLength' => 256, + 'example' => 'Hour', + 'title' => '', ], ], [ - 'name' => 'Permissions', + 'name' => 'LoadBalancerType', 'in' => 'query', - 'style' => 'json', 'schema' => [ - 'description' => 'An array of security group rules. You can specify up to 200 IDs of security group rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The security group rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'Direction' => [ - 'description' => 'The direction in which the security group rule is applied.'."\n" - ."\n" - .'* egress'."\n" - .'* ingress'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ingress', - 'enum' => [ - 'egress', - 'ingress', - ], - ], - 'IpProtocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n" - .'* ICMP'."\n" - .'* ALL: All protocols are supported.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'TCP' => 'TCP', - 'UDP' => 'UDP', - 'ALL' => 'ALL', - 'ICMP' => 'ICMP', - ], - 'example' => 'TCP', - 'enum' => [ - 'TCP', - 'UDP', - 'ICMP', - 'ALL', - 'GRE', - 'tcp', - 'udp', - 'icmp', - 'all', - 'gre', - ], - ], - 'PortRange' => [ - 'description' => 'The range of destination port numbers for the protocols specified in the security group rule. Valid values:'."\n" - ."\n" - .'* If you set IpProtocol to TCP or UDP, the port number range is 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" - .'* If you set IpProtocol to ICMP, the port number range is -1/-1.'."\n" - .'* If you set IpProtocol to ALL, the port number range is -1/-1.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '80/80', - ], - 'SourcePortRange' => [ - 'description' => 'The range of source port numbers for the protocols specified in the security group rule. Valid values:'."\n" - ."\n" - .'* If you set IpProtocol to TCP or UDP, the port number range is 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" - .'* If you set IpProtocol to ICMP, the port number range is -1/-1.'."\n" - .'* If you set IpProtocol to ALL, the port number range is -1/-1, which indicates all port numbers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22/22', - ], - 'Policy' => [ - 'description' => 'The action of the security group rule. Valid values:'."\n" - ."\n" - .'* Accept'."\n" - .'* Drop'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'Accept' => 'Accept', - 'Drop' => 'Drop', - ], - 'example' => 'Accept', - 'enum' => [ - 'Accept', - 'Drop', - 'accept', - 'drop', - ], - ], - 'DestCidrIp' => [ - 'description' => 'The destination IPv4 CIDR block. IPv4 CIDR blocks and IPv4 addresses are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0.0.0.0/0', - ], - 'Description' => [ - 'description' => 'The description. It must be 2 to 256 characters in length and cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - 'maxLength' => 256, - ], - 'Priority' => [ - 'description' => 'The priority of the security group rule. A smaller value specifies a higher priority. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], - 'SourceCidrIp' => [ - 'description' => 'The source IPv4 CIDR block. IPv4 CIDR blocks and IPv4 addresses are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0.0.0.0/0', - ], - 'Ipv6SourceCidrIp' => [ - 'type' => 'string', - ], - 'Ipv6DestCidrIp' => [ - 'type' => 'string', - ], - ], - 'required' => false, - ], + 'description' => 'The type of edge load balancing instance.'."\n" + ."\n" + .'- CLB: Classic Load Balancer instance'."\n" + ."\n" + .'- InternetDR: Internet-facing SLB instance in public mode', + 'type' => 'string', + 'default' => 'CLB', + 'enum' => ['CLB', 'InternetDR'], 'required' => false, - 'maxItems' => 200, + 'example' => 'CLB', + 'title' => '', ], ], ], @@ -16037,1989 +5489,2303 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '760bad53276431c499e30dc36f6b26be', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-bp1fg655nh68xyz9i***', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '1ECC937A-AE0E-4626-BE51-DED1D6D1C888', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'example' => 'lb-5s7crik3yo3bp03gqrbp5****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the ELB instance belongs.', 'type' => 'string', 'example' => 'vsw-5savh5ngxh8sbj14bu7n****', 'title' => ''], + 'LoadBalancerName' => ['description' => 'The name of the ELB instance.', 'type' => 'string', 'example' => 'gcs-pre-websocket-****', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5sax03dh2eyagujgsn7z9****', 'title' => ''], ], 'description' => '', - ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'Processing', 'errorMessage' => 'Request is in progress, please try again later.', 'description' => 'Request is in progress, please try again later.'], + ], + ], + 'title' => 'Create an SLB Instance', + 'summary' => 'Invoke the CreateLoadBalancer API to create an SLB instance.', + 'description' => '- API call frequency: 100 calls/second.'."\n" + ."\n" + .'- Per-user call frequency: 5 calls/second.', + 'changeSet' => [ + ['createdAt' => '2025-06-19T07:40:36.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-01-10T01:35:05.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-08-19T11:59:13.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-21T08:03:43.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-06-02T03:05:57.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancer'], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'InvalidParameter.PortRange', - 'errorMessage' => 'The parameter PortRange is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.CidrIp', - 'errorMessage' => 'The parameter CidrIp is not valid.', - ], - [ - 'errorCode' => 'QuotaExceed.SecurityGroup', - 'errorMessage' => 'The maximum number of security groups is reached.', - ], - [ - 'errorCode' => 'InvalidParameter.DestIpConflict', - 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.', - ], - [ - 'errorCode' => 'InvalidParameter.Ipv4ProtocolConflictWithIpv6Address', - 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', - ], - [ - 'errorCode' => 'InvalidParameter.Ipv6ProtocolConflictWithIpv4Address', - 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', - ], - [ - 'errorCode' => 'InvalidParameter.SourceIpConflict', - 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"760bad53276431c499e30dc36f6b26be\\",\\n \\"SecurityGroupId\\": \\"sg-bp1fg655nh68xyz9i***\\"\\n}","errorExample":""},{"type":"xml","example":"\\n sg-bp1fg655nh68xyz9i***\\n 760bad53276431c499e30dc36f6b26be\\n","errorExample":""}]', - 'title' => 'CreateSecurityGroup', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\",\\n \\"LoadBalancerId\\": \\"lb-5s7crik3yo3bp03gqrbp5****\\",\\n \\"VSwitchId\\": \\"vsw-5savh5ngxh8sbj14bu7n****\\",\\n \\"LoadBalancerName\\": \\"gcs-pre-websocket-****\\",\\n \\"NetworkId\\": \\"n-5sax03dh2eyagujgsn7z9****\\"\\n}","type":"json"}]', ], - 'DeleteSecurityGroup' => [ - 'summary' => 'Deletes a security group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateLoadBalancerHTTPListener' => [ + 'summary' => 'Creates an HTTP listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '1714', - 'abilityTreeNodes' => [ - 'FEATUREensJVII2K', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '15849', + 'abilityTreeNodes' => ['FEATUREens6XC4W4'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'SecurityGroupId', + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Load Balancer (ELB) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5s7crik3yo3bp03gqrbp5****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port that is used by Edge Load Balancer (ELB) to receive requests and forward the requests to backend servers. Valid values: **1** to **65535**.'."\n" + ."\n" + .'> We recommend that you use port 80 for HTTP.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '8080'], + ], + [ + 'name' => 'ListenerForward', 'in' => 'query', 'schema' => [ - 'description' => 'The security group ID of the instance.'."\n", + 'description' => 'Specifies whether to enable redirection from HTTP to HTTPS. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4ph***', + 'enum' => ['on', 'off'], + 'title' => '', + 'required' => false, + 'example' => 'off', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'ForwardPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port that is used to redirect HTTP requests to HTTPS.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'title' => '', 'example' => '0'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" + ."\n" + .'> The value cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'Listener description', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false], + ], + [ + 'name' => 'XForwardedFor', + 'in' => 'query', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', + 'description' => 'Specifies whether to use the X-Forwarded-For header to obtain the real IP address of the client. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', + 'type' => 'string', + 'enum' => ['on', 'off'], + 'title' => '', + 'required' => false, + 'example' => 'off', ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'SecurityGroupRule.NotFound', - 'errorMessage' => 'The input security group rule does not exist.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'InvalidInstanceId.NotFound', - 'errorMessage' => 'The specified InstanceId does not exist.', - ], - [ - 'errorCode' => 'DependencyViolation', - 'errorMessage' => 'There is still instance(s) in the specified security group.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => [ + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" + ."\n" + .'- **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" + ."\n" + .'- **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.', + 'type' => 'string', + 'enum' => ['wrr', 'wlc', 'rr'], + 'title' => '', + 'required' => false, + 'example' => 'wrr', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'DeleteSecurityGroup', - 'description' => 'Before you delete a security group, make sure that no instances exist in the security group.'."\n", - ], - 'JoinSecurityGroup' => [ - 'summary' => 'Adds an Edge Node Service (ENS) instance to a specified security group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'on'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name that you want to use for health checks.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'www.aliyundoc.com'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => '/checkpreload.htm'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**. Default value: **3**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**. Default value: **3**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" + ."\n" + .'- If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '5'], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '2627', - 'abilityTreeNodes' => [ - 'FEATUREensSZS7MU', + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The backend port that is used for health checks. Valid values: **1** to **65535**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '30040'], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'SecurityGroupId', + 'name' => 'HealthCheckInterval', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4ph***', - ], + 'schema' => ['description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Default value: **2**. Unit: seconds.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '2'], ], [ - 'name' => 'InstanceId', + 'name' => 'HealthCheckHttpCode', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp67acfmxazb4ph***', - ], + 'schema' => ['description' => 'The HTTP status code for a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default)'."\n" + ."\n" + .'- **http\\_3xx**'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'example' => 'http_2xx', 'title' => '', 'required' => false], ], [ - 'name' => 'NetworkInterfaceId', + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" + ."\n" + .'> If no request is received within the specified timeout period, ELB closes the connection. When a request is received, ELB creates a new connection.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '60', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '15'], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a request. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" + ."\n" + .'> If no response is received from the backend server within the specified timeout period, ALB returns an HTTP 504 error code to the client.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '180', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'HealthCheckMethod', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", + 'description' => 'The HTTP request method for health checks. Valid values:'."\n" + ."\n" + .'- **head** (default)'."\n" + ."\n" + .'- **get**'."\n" + ."\n" + .'> This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', + 'enum' => ['head', 'get'], 'required' => false, - 'example' => 'eni-58z57orgmt6d1****'."\n", + 'example' => 'head', + 'title' => '', ], ], + [ + 'name' => 'BackendServerPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used by the backend server of the ELB instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'required' => false, 'example' => '8080', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'SecurityGroupRule.NotFound', - 'errorMessage' => 'The input security group rule does not exist.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'InvalidInstanceId.NotFound', - 'errorMessage' => 'The specified InstanceId does not exist.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'RegionNotSupport', - 'errorMessage' => 'The specified InstanceId of regionId does not support SecurityGroup', - ], - [ - 'errorCode' => 'InstanceAlreadyBound', - 'errorMessage' => 'The instance is already bound to a SecurityGroup.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'The listenerPort already exists.', 'description' => 'Listener already exists'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'JoinSecurityGroup', - 'description' => 'Before you call this operation to add an instance to a security group, make sure that the instance is in the Stopped or Running state.'."\n", - ], - 'LeaveSecurityGroup' => [ - 'summary' => 'Removes an instance from a security group.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'CreateLoadBalancerHTTPListener', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2024-08-08T03:18:52.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPListener'], + ], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerHTTPListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '4379', - 'abilityTreeNodes' => [ - 'FEATUREensTCI0WT', + 'translator' => 'manual', + ], + 'CreateLoadBalancerHTTPSListener' => [ + 'summary' => 'Creates an HTTPS listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], - 'tenantRelevance' => 'tenant', ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'SecurityGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4p****', - ], + 'schema' => ['description' => 'The ID of the Edge Load Balancer (ELB) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5s8w63yydi59w7klaikam****'], ], [ - 'name' => 'InstanceId', + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listening port that is used by Edge Load Balancer (ELB) to receive requests and forward the requests to backend servers. Valid values: **1** to **65535**.'."\n" + ."\n" + .'> We recommend that you use port 443 for HTTPS.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '8080'], + ], + [ + 'name' => 'ListenerForward', 'in' => 'query', 'schema' => [ - 'description' => 'The instance ID.'."\n", + 'description' => 'Specifies whether to enable redirection from HTTP to HTTPS. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', + 'enum' => ['on', 'off'], + 'title' => '', 'required' => false, - 'example' => 'i-bp67acfmxazb4p****', + 'example' => 'off', ], ], [ - 'name' => 'NetworkInterfaceId', + 'name' => 'ForwardPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port that is used to redirect HTTP requests to HTTPS.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '0'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the listener. The description must be **1** to **80** characters in length.'."\n" + ."\n" + .'> The value cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'Listener description', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false], + ], + [ + 'name' => 'Scheduler', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" + ."\n" + .'- **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections on a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" + ."\n" + .'- **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.', 'type' => 'string', + 'enum' => ['wrr', 'wlc', 'rr'], + 'title' => '', 'required' => false, - 'example' => 'eni-58z57orgmt6d1****', + 'example' => 'wrr', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'StickySessionType', + 'in' => 'query', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', + 'description' => 'The method that is used to handle cookies. Valid values:'."\n" + ."\n" + .'- **insert**: inserts a cookie. ELB inserts a session cookie (SERVERID) into the first HTTP or HTTPS response that is sent to a client. Subsequent requests to ELB carry this cookie, and ELB determines the destination servers of the requests based on the cookies.'."\n" + ."\n" + .'- **server**: rewrites the original cookie. SLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.'."\n" + ."\n" + .'> This parameter is required when the StickySession parameter is set to on.', + 'type' => 'string', + 'enum' => ['insert', 'server'], + 'title' => '', + 'required' => false, + 'example' => 'insert', ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'SecurityGroupRule.NotFound', - 'errorMessage' => 'The input security group rule does not exist.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'InvalidInstanceId.NotFound', - 'errorMessage' => 'The specified InstanceId does not exist.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + [ + 'name' => 'CookieTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a cookie. Valid values: **1** to **86400**. Unit: seconds.'."\n" + ."\n" + .'> This parameter is required if you set StickySession to on and StickySessionType to insert.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '86400', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '100'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\r\\n","errorExample":""}]', - 'title' => 'LeaveSecurityGroup', - 'description' => 'Before you remove an instance from a security group, the instance must be in the Stopped or Running state.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ModifySecurityGroupAttribute' => [ - 'summary' => 'Modifies the information about a security group.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Cookie', + 'in' => 'query', + 'schema' => ['description' => 'The cookie that is configured on the server. The cookie must be **1** to **200** characters in length and contain only ASCII characters and digits.'."\n" + ."\n" + .'> This parameter is required if you set StickySession to on and StickySessionType to server.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'example'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'SecurityGroupId', + 'name' => 'HealthCheck', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the security group.'."\n", + 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => true, - 'example' => 'sg-bp67acfmxazb4p****', + 'enum' => ['on', 'off'], + 'title' => '', + 'example' => 'on', ], ], [ - 'name' => 'SecurityGroupName', + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name that you want to use for health checks.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'example.com'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" + ."\n" + .'> A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => '/checkpreload.htm'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**. Default value: **3**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**. Default value: **3**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails to pass the health check.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" + ."\n" + .'- If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '5'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '11'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Default value: **2**. Unit: seconds.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status code for a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default)'."\n" + ."\n" + .'- **http\\_3xx**'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'example' => 'http_2xx', 'title' => '', 'required' => false], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" + ."\n" + .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, ELB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '60', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '15'], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" + ."\n" + .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '180', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'ServerCertificateId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '60276**'], + ], + [ + 'name' => 'HealthCheckMethod', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the security group. The name of a bucket must meet the following requirements:'."\n" + 'description' => 'The HTTP request method for health checks. Valid values:'."\n" ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name must start with a letter but cannot start with http:// or https://.'."\n" - .'* The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", + .'- **head** (default): requests the head of the page.'."\n" + ."\n" + .'- **get**: requests the specified part of the page and returns the entity body.'."\n" + ."\n" + .'> This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', + 'enum' => ['get', 'head'], 'required' => false, - 'example' => 'example', - 'maxLength' => 128, - 'minLength' => 2, + 'example' => 'head', + 'title' => '', ], ], [ - 'name' => 'Description', + 'name' => 'BackendServerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - 'maxLength' => 256, - 'minLength' => 2, - ], + 'schema' => ['description' => 'The backend port that is used by the ELB instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'required' => false, 'example' => '8080', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found. ', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ServerCertificateNotFound', 'errorMessage' => 'The input parameter serverCertificateId that is not found.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'The listener already exists.', 'description' => 'The listener already exists.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E","errorExample":""}]', - 'title' => 'ModifySecurityGroupAttribute', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 5 times per second per user.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeSecurityGroups' => [ - 'summary' => 'Queries details about created security groups.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'CreateLoadBalancerHTTPSListener', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2024-08-08T06:02:54.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPSListener'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerHTTPSListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'CreateLoadBalancerTCPListener' => [ + 'summary' => 'To create a TCP listener, call `CreateLoadBalancerTCPListener`.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '33022', - 'abilityTreeNodes' => [ - 'FEATUREensZUGXT1', - ], + 'abilityTreeCode' => '15797', + 'abilityTreeNodes' => ['FEATUREens6XC4W4'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'SecurityGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp67acfmxazb4ph***', - ], + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5ovkn1piwqmoqrfjdyhq4****'], ], [ - 'name' => 'SecurityGroupName', + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port that receives and forwards requests to backend servers. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '80'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the listener. The description must be **1** to **80** characters in length.'."\n" + ."\n" + .'> The description cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'example'], + ], + [ + 'name' => 'Scheduler', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the security group.'."\n", + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Weighted Round Robin. Requests are distributed to backend servers based on their weights. Backend servers with higher weights receive more requests.'."\n" + ."\n" + .'- **wlc**: Weighted Least Connections. Requests are distributed to backend servers based on both their weights and the number of connections. If multiple backend servers have the same weight, the one with the fewest connections receives more requests.'."\n" + ."\n" + .'- **rr**: Round Robin. Requests are distributed to backend servers in sequential order.'."\n" + ."\n" + .'- **sch**: Source IP Hash. Requests are routed based on a consistent hash of the source IP address, ensuring that requests from the same source IP address are sent to the same backend server.'."\n" + ."\n" + .'- **tch**: Four-tuple Hash. Requests are routed based on a consistent hash of a four-tuple (source IP address, destination IP address, source port, and destination port), ensuring that requests from the same flow are sent to the same backend server.', 'type' => 'string', + 'enum' => ['wrr', 'wlc', 'rr', 'sch', 'tch'], + 'title' => '', 'required' => false, - 'example' => 'DocTest', + 'example' => 'wrr', ], ], [ - 'name' => 'PageSize', + 'name' => 'PersistenceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for session persistence.'."\n" + ."\n" + .'- Default value: **0**, which indicates that session persistence is disabled.'."\n" + ."\n" + .'- Valid values: **0** to **3600**.'."\n" + ."\n" + .'- Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '3600', 'minimum' => '0', 'title' => '', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'EstablishedTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for established connections, in seconds. Valid values: **10** to **900**. Default value: **900**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '900', 'minimum' => '10', 'title' => '', 'required' => false, 'example' => '500'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks required for a backend server to be considered healthy (from a `fail` to `success` state). Valid values: **2** to **10**. Default value: **3**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks required for a backend server to be considered unhealthy (from a `success` to `fail` state). Valid values: **2** to **10**. Default value: **3**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The maximum time to wait for a health check response. If a backend ENS instance does not respond within this timeout period, the health check fails.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'> If the value of this parameter is less than the value of `HealthCheckInterval`, this parameter is ignored and the value of `HealthCheckInterval` is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between health checks, in seconds. Valid values: **1** to **50**. Default value: **2**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name used for health checks.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'www.aliyundoc.com'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI for health checks. The URI must be **1** to **80** characters in length.'."\n" + ."\n" + .'> The URI must start with a forward slash (/) but cannot be only a forward slash (/).', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => '/checkpreload.htm'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status codes that indicate a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default)'."\n" + ."\n" + .'- **http\\_3xx**'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'http_2xx'], + ], + [ + 'name' => 'HealthCheckType', 'in' => 'query', 'schema' => [ - 'description' => 'The number of entries per page.'."\n" + 'description' => 'The health check type. Valid values:'."\n" ."\n" - .'* Maximum value: 50.'."\n" - .'* Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'- **tcp** (default)'."\n" + ."\n" + .'- **http**', + 'type' => 'string', + 'enum' => ['tcp', 'http'], + 'title' => '', 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', + 'example' => 'tcp', ], ], [ - 'name' => 'PageNumber', + 'name' => 'BackendServerPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used by backend servers. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '8080'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. If you do not specify this parameter, the port specified by `BackendServerPort` is used by default.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '8080'], + ], + [ + 'name' => 'EipTransmit', 'in' => 'query', 'schema' => [ - 'description' => 'The page number.'."\n" + 'description' => 'Specifies whether to enable EIP passthrough. Valid values:'."\n" ."\n" - .'* Pages start from page 1.'."\n" - .'* Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'- **on**: Enables EIP passthrough.'."\n" + ."\n" + .'- **off** (default): Disables EIP passthrough.', + 'type' => 'string', + 'enum' => ['on', 'off'], 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'example' => 'on', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned pages.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], - 'SecurityGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroup' => [ - 'description' => 'Details about security groups.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The creation time. 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' => '2019-11-01T06:08:46Z', - ], - 'InstanceCount' => [ - 'description' => 'The number of associated instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Description' => [ - 'description' => 'The description of the security group.'."\n", - 'type' => 'string', - 'example' => 'TestDescription', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-bp67acfmxazb4ph***', - ], - 'SecurityGroupName' => [ - 'description' => 'The name of the security group.'."\n", - 'type' => 'string', - 'example' => 'DocTest', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The IDs of the instances that are associated with the security group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of instance.'."\n", - 'type' => 'string', - 'example' => 'i-5****', - ], - ], - ], - ], - 'NetworkInterfaceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NetworkInterfaceId' => [ - 'description' => 'The IDs of the ENIs that are associated with the security group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'example' => 'eni-5****', - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'The listener already exists.', 'description' => 'The listener already exists.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 49,\\n \\"SecurityGroups\\": {\\n \\"SecurityGroup\\": [\\n {\\n \\"CreationTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"InstanceCount\\": 5,\\n \\"Description\\": \\"TestDescription\\",\\n \\"SecurityGroupId\\": \\"sg-bp67acfmxazb4ph***\\",\\n \\"SecurityGroupName\\": \\"DocTest\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"i-5****\\"\\n ]\\n },\\n \\"NetworkInterfaceIds\\": {\\n \\"NetworkInterfaceId\\": [\\n \\"eni-5****\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 49\\n 1\\n A1707FC0-430C-423A-B624-284046B20399\\n \\n \\n 2019-11-01T06:08:46Z\\n sg-bp67acfmxazb4ph***\\n DocTest\\n \\n 5\\n \\n \\n","errorExample":""}]', - 'title' => 'DescribeSecurityGroups', - ], - 'AuthorizeSecurityGroup' => [ - 'summary' => 'Creates an inbound security group rule. This operation allows or denies the inbound traffic from other devices to instances in the security group.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","type":"json"}]', + 'title' => 'CreateLoadBalancerTCPListener', + 'description' => '- API call rate: 100 requests per second.'."\n" + ."\n" + .'- Per-user call rate: 10 requests per second.', + 'changeSet' => [ + ['createdAt' => '2024-07-04T02:42:25.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerTCPListener'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerTCPListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateLoadBalancerUDPListener' => [ + 'summary' => 'To create a UDP listener, call `CreateLoadBalancerUDPListener`.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '951', - 'abilityTreeNodes' => [ - 'FEATUREens73ZR6V', - ], + 'abilityTreeCode' => '15376', + 'abilityTreeNodes' => ['FEATUREens6XC4W4'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'IpProtocol', + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5q73cv04zeyh43lh74lp4****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port used to receive requests and forward them to backend servers. Valid values: **1** to **65535**.'."\n" + ."\n" + .'> For UDP listeners, ports 250, 4789, and 4790 are system-reserved and not available for use.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '80'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener. The name must be **1** to **80** characters long.'."\n" + ."\n" + .'> The name cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'example'], + ], + [ + 'name' => 'Scheduler', 'in' => 'query', 'schema' => [ - 'description' => 'The transport layer protocol. The values of this parameter are case-sensitive. Valid values:'."\n" + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Weighted Round Robin. Backend servers with a higher weight receive more requests.'."\n" + ."\n" + .'- **wlc**: Weighted Least Connections. Requests are distributed based on both the weight and the number of current connections of each backend server. If multiple backend servers have the same weight, the one with the fewest active connections receives the next request.'."\n" ."\n" - .'* tcp'."\n" - .'* udp'."\n" - .'* icmp'."\n" - .'* gre'."\n" - .'* all: All protocols are supported.'."\n", + .'- **rr**: Round Robin. Requests are distributed to backend servers sequentially.'."\n" + ."\n" + .'- **sch**: Source IP Hash. Requests from the same source IP address are routed to the same backend server.'."\n" + ."\n" + .'- **tch**: Four-tuple Hash. Requests are routed to backend servers based on a hash of four values: source IP address, destination IP address, source port, and destination port. Flows with the same four values are routed to the same backend server.'."\n" + ."\n" + .'- **qch**: QUIC Connection ID Hash. Requests with the same QUIC Connection ID are routed to the same backend server.'."\n" + ."\n" + .'- **iqch**: A consistent hash algorithm for iQUIC Connection IDs. Flows with the same second, third, and fourth bytes in the iQUIC CID are routed to the same backend server.', 'type' => 'string', - 'required' => true, - 'example' => 'all', - 'enum' => [ - 'tcp', - 'udp', - 'icmp', - 'gre', - 'all', - ], + 'enum' => ['wrr', 'wlc', 'rr', 'sch', 'qch', 'iqch', 'tch'], + 'title' => '', + 'required' => false, + 'example' => 'wrr', ], ], [ - 'name' => 'PortRange', + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks required for a backend server to be considered healthy. Valid values: **2** to **10**. Default value: **3**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks required for a backend server to be considered unhealthy. Valid values: **2** to **10**. Default value: **3**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The maximum time to wait for a response to a health check. A health check fails if a backend ENS instance does not respond within this time.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'> If this timeout is shorter than the health check interval (`HealthCheckInterval`), the interval value is used for the timeout instead.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between health checks, in seconds. Valid values: **1** to **50**. Default value: **2**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'BackendServerPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used by the backend servers. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '8080'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. If you do not specify this parameter, the port specified by `BackendServerPort` is used.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '8080'], + ], + [ + 'name' => 'HealthCheckReq', 'in' => 'query', - 'schema' => [ - 'description' => 'The range of destination ports that correspond to the transport layer protocol for security group rule N. Valid values:'."\n" - ."\n" - .'* When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '22/22', - ], + 'schema' => ['description' => 'The request string for UDP health checks. The string must be up to 64 characters long and contain only letters and digits.', 'type' => 'string', 'maxLength' => 64, 'title' => '', 'required' => false, 'example' => 'hello'], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'HealthCheckExp', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4ph***', - ], + 'schema' => ['description' => 'The expected response string for UDP health checks. The string must be up to 64 characters long and contain only letters and digits.', 'type' => 'string', 'maxLength' => 64, 'title' => '', 'required' => false, 'example' => 'ok'], ], [ - 'name' => 'Policy', + 'name' => 'EipTransmit', 'in' => 'query', 'schema' => [ - 'description' => 'The action of security group rule N that determines whether to allow inbound access. Valid values:'."\n" + 'description' => 'Specifies whether EIP pass-through is enabled. Valid values:'."\n" ."\n" - .'* accept: allows access.'."\n" - .'* drop: denies access and returns no responses.'."\n" + .'- **on**: Enables EIP pass-through.'."\n" ."\n" - .'Default value: accept.'."\n", + .'- **off** (default): Disables EIP pass-through.', 'type' => 'string', + 'enum' => ['on', 'off'], 'required' => false, - 'example' => 'accept', - 'default' => 'accept', - 'enum' => [ - 'accept', - 'drop', - ], + 'example' => 'on', + 'title' => '', ], ], [ - 'name' => 'Priority', + 'name' => 'EstablishedTimeout', 'in' => 'query', + 'schema' => ['description' => 'The timeout for established connections. Valid values: **10** to **900**. Default value: **900**. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '900', 'minimum' => '10', 'required' => false, 'example' => '500', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The priority of security group rule N. Valid values: **1** to **100**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'title' => 'Schema of Response', + 'description' => 'The response object.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', 'description' => 'The load balancing instance does not exist.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'The listenerPort already exists.', 'description' => 'Listener already exists'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","type":"json"}]', + 'title' => 'CreateLoadBalancerUDPListener', + 'description' => '- API call rate: 100 calls per second.'."\n" + ."\n" + .'- Per-user call rate: 10 calls per second.', + 'changeSet' => [ + ['createdAt' => '2024-08-20T07:26:21.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerUDPListener'], + ], + ], + 'ramActions' => [ [ - 'name' => 'SourceCidrIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The source IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.'."\n" - ."\n" - .'This parameter is empty by default.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10.0.XX.XX/8', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerUDPListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'CreateMountTarget' => [ + 'summary' => 'Creates a mount target.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SourcePortRange', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ + [ + 'name' => 'FileSystemId', 'in' => 'query', - 'schema' => [ - 'description' => 'The range of port numbers that correspond to the transport layer protocol for the source security group. Valid values:'."\n" - ."\n" - .'* When the IpProtocol parameter is set to tcp or udp, the port number range is **1 to 65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22/22', - ], + 'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'example' => 'c50f8*****', 'title' => ''], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing-cmcc', 'title' => ''], + ], + [ + 'name' => 'NetWorkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => true, 'example' => 'n-*****', 'title' => ''], + ], + [ + 'name' => 'MountTargetName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the mount target.', 'type' => 'string', 'required' => true, 'example' => 'TestMountPath', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '70EACC9C-D07A-4A34-ADA4-A3DC0DE3C83E'], + 'Status' => ['description' => 'The state of the mount target. Valid values:'."\n" + ."\n" + .'- active'."\n" + ."\n" + .'- inactive'."\n" + ."\n" + .'- pending'."\n" + ."\n" + .'- deleting', 'type' => 'string', 'example' => 'pending', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter.FileSystem.NotExisted', 'errorMessage' => 'The specified file system does not exist. ', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\r\\n","errorExample":""}]', - 'title' => 'AuthorizeSecurityGroup', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RevokeSecurityGroup' => [ - 'summary' => 'Deletes an inbound security group rule. After the rule is deleted, the access control implemented by the rule is removed.', - 'methods' => [ - 'post', - 'get', + 'title' => 'CreateMountTarget', + 'description' => '## [](#)Precautions'."\n" + ."\n" + .'After you call this operation, a mount target is not immediately created. Therefore, we recommend that you call the DescribeMountTargets operation to query the status of the mount target. If the mount target is in the Active state, you can then mount the file system. Otherwise, the file system may fail to be mounted.', + 'changeSet' => [ + ['createdAt' => '2022-08-30T06:19:04.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateMountTarget'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateMountTarget', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70EACC9C-D07A-4A34-ADA4-A3DC0DE3C83E\\",\\n \\"Status\\": \\"pending\\"\\n}","type":"json"}]', + ], + 'CreateNatGateway' => [ + 'summary' => 'Creates a NAT Gateway in Edge Node Service (ENS).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '130960', + 'abilityTreeNodes' => ['FEATUREensP4M91S'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'IpProtocol', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The transport layer protocol. The value of this parameter is case-sensitive. Valid values:'."\n" - ."\n" - .'* tcp'."\n" - .'* udp'."\n" - .'* icmp'."\n" - .'* gre'."\n" - .'* all: all protocols.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'all', - 'enum' => [ - 'tcp', - 'udp', - 'icmp', - 'gre', - 'all', - ], - ], + 'schema' => ['description' => 'The name of the NAT gateway. The name must be 1 to 128 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 128, 'minLength' => 1, 'required' => false, 'example' => 'name', 'title' => ''], ], [ - 'name' => 'PortRange', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The range of destination ports that correspond to the transport layer protocol for the security group rule. Valid values:'."\n" - ."\n" - .'* When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '22/22', - ], + 'schema' => ['description' => 'The ID of the ENS edge node.', 'type' => 'string', 'required' => true, 'example' => 'cn-suzhou-telecom', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'NetworkId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4p**** ', - ], + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => true, 'example' => 'n-5qj7ykuxmjn7k96l090sp****', 'title' => ''], ], [ - 'name' => 'Policy', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization policy. Valid values:'."\n" - ."\n" - .'* accept: allows access. This is the default value.'."\n" - .'* drop: denies access and does not return responses.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'accept', - 'default' => 'accept', - 'enum' => [ - 'accept', - 'drop', - ], - ], + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5savh5ngxh8sbj14bu7n****', 'title' => ''], ], [ - 'name' => 'Priority', + 'name' => 'InstanceType', 'in' => 'query', 'schema' => [ - 'description' => 'The priority of the security group rule. Valid values: **1** to **100**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The instance type of the NAT gateway. Set the value to **enat.default**.', + 'type' => 'string', 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'default' => 'enat.default', + 'enum' => ['enat.default', 'enat.s1.small', 'enat.s1.medium', 'enat.s2.small', 'enat.s2.medium'], + 'example' => 'enat.default', + 'title' => '', ], ], [ - 'name' => 'SourceCidrIp', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The source CIDR block. CIDR blocks and IPv4 addresses are supported. Default value: 0.0.XX.XX/0.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10.0.XX.XX/8', + 'description' => 'The tags to add to the resource.', + 'type' => 'array', + 'items' => [ + 'description' => 'An array of key-value pairs.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key. A resource can have up to **20** tags.'."\n" + ."\n" + .'- The tag key cannot be an empty string.'."\n" + ."\n" + .'- The tag key must be 1 to 64 characters long.'."\n" + ."\n" + .'- The tag key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'team', 'title' => ''], + 'Value' => ['description' => 'The tag value. The value can be an empty string or up to 128 characters long. The value cannot start with `acs:` or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Deep', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SourcePortRange', + 'name' => 'InstanceBillingCycle', 'in' => 'query', 'schema' => [ - 'description' => 'The range of source ports that correspond to the transport layer protocol for the security group rule. Valid values:'."\n" - ."\n" - .'* When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", 'type' => 'string', + 'enum' => ['Hour', 'Month'], + 'description' => '', 'required' => false, - 'example' => '22/22', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'NatGatewayId' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'SecurityGroupRule.NotFound', - 'errorMessage' => 'The input security group rule does not exist.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'DependencyViolation', - 'errorMessage' => 'There is still instance(s) in the specified security group.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'ens.interface.error ', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RegionNotSupported', 'errorMessage' => 'The specified EnsRegion does not support this operation.', 'description' => ''], + ['errorCode' => 'InvalidParameter.VSwitchNotFound', 'errorMessage' => 'The specified VSwitch is not found. ', 'description' => ''], + ['errorCode' => 'InvalidParameter.VSwitchNotBelongToNetwork ', 'errorMessage' => 'The specified VSwitch is not bound to the Network', 'description' => ''], + ['errorCode' => 'InvalidParameter.NetworkNotFound', 'errorMessage' => 'The specified Network is not found. ', 'description' => ''], + ['errorCode' => 'InvalidParameter.NetworkNotSupported', 'errorMessage' => 'The specified Network does not support this operation. ', 'description' => ''], + ['errorCode' => 'QuotaExceed.NatGateway', 'errorMessage' => 'The maximum number of natGateway is reached. ', 'description' => ''], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'CreateNatGateway', + 'changeSet' => [ + ['createdAt' => '2025-04-07T06:28:41.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T12:07:10.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-08-04T01:49:29.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2022-03-31T07:10:52.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\r\\n","errorExample":""}]', - 'title' => 'RevokeSecurityGroup', - 'description' => '* In the security group-related API documents, inbound traffic refers to the traffic sent by the source and received by the destination.'."\n" - .'* You can determine an inbound security group rule by specifying one of the following groups of parameters. You cannot determine a security group rule by specifying only one parameter.'."\n" - .'* You can specify one or more of the following parameters to remove access control for a CIDR block: IpProtocol, PortRange, Policy, and SourceCidrIp.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AuthorizeSecurityGroupEgress' => [ - 'summary' => 'Creates an outbound security group rule. This operation allows or denies the outbound traffic from the instances in the security group to other devices.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNatGateway'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNatGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\"\\n}","type":"json"}]', + ], + 'CreateNetwork' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '15352', + 'abilityTreeNodes' => ['FEATUREensGMWJSM'], + ], + 'parameters' => [ + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The node ID of ENS.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing-telecom', 'title' => ''], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => ['description' => 'The CIDR block of the network. You can use one of the following CIDR blocks or their subsets:'."\n" + ."\n" + .'- 10.0.0.0/8 (default).'."\n" + ."\n" + .'- 172.16.0.0/12.'."\n" + ."\n" + .'- 192.168.0.0/16.', 'type' => 'string', 'required' => true, 'example' => '192.168.0.0/24', 'title' => ''], + ], + [ + 'name' => 'NetworkName', + 'in' => 'query', + 'schema' => ['description' => 'The network name. Follow these naming rules:'."\n" + ."\n" + .'- Must be 2 to 128 characters long, using English or Chinese characters.'."\n" + ."\n" + .'- Must start with a letter or a Chinese character. Cannot start with http\\:// or https\\://.'."\n" + ."\n" + .'- Can contain digits, colons (:), underscores (\\_), or hyphens (-).', 'type' => 'string', 'maxLength' => 128, 'minLength' => 2, 'required' => false, 'example' => 'abc', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'A description of the network.'."\n" + ."\n" + .'Must be 2 to 256 characters long, start with a letter or a Chinese character, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 2, 'required' => false, 'example' => 'this is my first network', 'title' => ''], + ], [ - 'name' => 'IpProtocol', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The transport layer protocol. The value of this parameter is case-sensitive. Valid values:'."\n" - ."\n" - .'* tcp'."\n" - .'* udp'."\n" - .'* icmp'."\n" - .'* gre'."\n" - .'* all: All protocols are supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'all', - 'enum' => [ - 'tcp', - 'udp', - 'icmp', - 'gre', - 'all', + 'description' => 'Resource tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'An array of tag key-value pairs.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key for the instance. N ranges from **1** to **20**.'."\n" + ."\n" + .'- Cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" + ."\n" + .'- Supports up to 64 characters.'."\n" + ."\n" + .'- Cannot be an empty string.', 'type' => 'string', 'required' => false, 'example' => 'key1', 'title' => ''], + 'Value' => ['description' => 'The tag value for the resource. N ranges from 1 to 20. This value can be an empty string once provided. It supports up to 128 characters, cannot start with acs:, and cannot contain http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'tagValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PortRange', + 'name' => 'EnableIpv6', 'in' => 'query', - 'schema' => [ - 'description' => 'The range of destination ports that correspond to the transport layer protocol for security group rule N. Valid values:'."\n" - ."\n" - .'* When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '22/22', - ], + 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'Ipv6Isp', 'in' => 'query', + 'schema' => ['type' => 'string', 'example' => 'telecom', 'description' => '', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4p**** ', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'NetworkId' => ['description' => 'The network ID.', 'type' => 'string', 'example' => 'n-5***', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.CidrBlock', 'errorMessage' => 'The specified parameter CidrBlock is invalid. ', 'description' => ''], + ['errorCode' => 'Network.QuotaExceeded', 'errorMessage' => 'Network quota exceeded', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'MissingParameter', 'description' => ''], + ['errorCode' => 'InvalidEnsRegionId.NotFound', 'errorMessage' => 'The input parameter ensRegionId that is not found. ', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'EnsRegionDoesNotSupportFeature', 'errorMessage' => 'The specified ens region does not support this feature.', 'description' => 'The specified ENS node does not support this function.'], + ['errorCode' => 'Stock.NotEnough', 'errorMessage' => 'The inventory of the specified zone is insufficient.Please contact the product.', 'description' => 'Insufficient resource inventory in the specified zone.'], + ['errorCode' => 'InsufficientIpv6Cidr', 'errorMessage' => 'Insufficient IPv6 CIDR stock in the specified region.', 'description' => ''], + ], + ], + 'title' => 'CreateNetwork', + 'summary' => 'Call CreateNetwork to create a virtual private cloud (VPC).', + 'description' => '- API call frequency: 100 calls per second.'."\n" + ."\n" + .'- Per-user call frequency: 5 calls per second.', + 'changeSet' => [ + ['createdAt' => '2024-09-12T12:07:10.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-07-09T02:36:48.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetwork'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Policy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The action of the security group rule. Valid values:'."\n" - ."\n" - .'* accept: allows access. This is the default value.'."\n" - .'* drop: denies access and does not return responses.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'accept', - 'default' => 'accept', - 'enum' => [ - 'accept', - 'drop', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetwork', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NetworkId\\": \\"n-5***\\"\\n}","type":"json"}]', + ], + 'CreateNetworkAcl' => [ + 'summary' => 'Creates a network access control list (ACL).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Priority', - 'in' => 'query', - 'schema' => [ - 'description' => 'The priority of security group rule N. Valid values: **1 to 100**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '150434', + 'abilityTreeNodes' => ['FEATUREensGUJDF4'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'DestCidrIp', + 'name' => 'NetworkAclName', 'in' => 'query', - 'schema' => [ - 'description' => 'The destination IP addresses. CIDR blocks and IPv4 addresses are supported.'."\n" - ."\n" - .'This parameter is empty by default.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10.0.XX.XX/8', - ], + 'schema' => ['description' => 'Enter a name for 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' => 'SourcePortRange', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The range of port numbers that correspond to the transport layer protocol for the source security group. Valid values:'."\n" - ."\n" - .'* When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22/22', - ], + '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\\://.', 'type' => 'string', 'required' => false, 'example' => 'This is my NetworkAcl.', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'NetworkAclId' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'example' => 'nacl-5p1fg655nh68xyz9i****', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\r\\n","errorExample":""}]', - 'title' => 'AuthorizeSecurityGroupEgress', - 'description' => 'In the security group-related API documents, outbound traffic refers to the traffic that is sent by the source device and received at the destination device.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RevokeSecurityGroupEgress' => [ - 'summary' => 'Deletes an outbound security group rule. After the rule is deleted, the access control implemented by the rule is removed.', - 'methods' => [ - 'post', - 'get', + 'title' => 'CreateNetworkAcl', + 'changeSet' => [ + ['createdAt' => '2022-09-08T03:07:52.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkAcl'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"NetworkAclId\\": \\"nacl-5p1fg655nh68xyz9i****\\"\\n}","type":"json"}]', + ], + 'CreateNetworkAclEntry' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREens41BYFG'], ], 'parameters' => [ [ - 'name' => 'IpProtocol', + 'name' => 'NetworkAclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The transport layer protocol. The value of this parameter is case-sensitive. Valid values:'."\n" - ."\n" - .'* tcp'."\n" - .'* udp'."\n" - .'* icmp'."\n" - .'* gre'."\n" - .'* all: All protocols are supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'all', - 'enum' => [ - 'tcp', - 'udp', - 'icmp', - 'gre', - 'all', - ], - ], + 'schema' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'required' => true, 'example' => 'nacl-bp1lhl0taikrbgnh****', 'title' => ''], ], [ - 'name' => 'PortRange', + 'name' => 'NetworkAclEntryName', 'in' => 'query', - 'schema' => [ - 'description' => 'The range of destination ports that correspond to the transport layer protocol for the security group rule. Valid values:'."\n" - ."\n" - .'* If you set the IpProtocol parameter to tcp or udp, the port number ranges from **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '22/22', - ], + 'schema' => ['description' => 'The name of the rule.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'acl-1', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + '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\\://.', 'type' => 'string', 'maxLength' => 256, 'required' => false, 'example' => 'This is my NetworkAcl.', 'title' => ''], + ], + [ + 'name' => 'Direction', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the security group.'."\n", + 'description' => 'The direction in which the rule is applied. Valid values:'."\n" + ."\n" + .'- **ingress**'."\n" + ."\n" + .'- **egress**', 'type' => 'string', 'required' => true, - 'example' => 'sg-bp67acfmxazb4ph***', + 'enum' => ['egress', 'ingress'], + 'example' => 'ingress', + 'title' => '', ], ], [ 'name' => 'Policy', 'in' => 'query', 'schema' => [ - 'description' => 'The action of the security group rule. Valid values:'."\n" + 'description' => 'The action that is performed on network traffic that matches the rule. Valid values:'."\n" ."\n" - .'* **accept**: allows access.'."\n" - .'* **drop**: denies access and returns no responses.'."\n" + .'- **accept**: allows network traffic.'."\n" ."\n" - .'Default value: **accept**.'."\n", + .'- **drop**: blocks network traffic.', 'type' => 'string', - 'required' => false, + 'required' => true, + 'enum' => ['accept', 'drop'], 'example' => 'accept', - 'default' => 'accept', - 'enum' => [ - 'accept', - 'drop', - ], + 'title' => '', ], ], [ - 'name' => 'Priority', + 'name' => 'CidrBlock', 'in' => 'query', - 'schema' => [ - 'description' => 'The priority of the security group rule. Valid values: **1** to **100**. A smaller value indicates a higher priority.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The source CIDR block.', 'type' => 'string', 'required' => true, 'example' => '10.0.0.0/24', 'title' => ''], ], [ - 'name' => 'DestCidrIp', + 'name' => 'Protocol', 'in' => 'query', 'schema' => [ - 'description' => 'The destination IP addresses. CIDR blocks and IPv4 addresses are supported.'."\n" + 'description' => 'The type of the protocol. Valid values:'."\n" + ."\n" + .'- **icmp**: ICMP'."\n" ."\n" - .'By default, this parameter is empty.'."\n", + .'- **tcp**: TCP'."\n" + ."\n" + .'- **udp**: UDP'."\n" + ."\n" + .'- **all**: all protocols', 'type' => 'string', 'required' => true, - 'example' => '10.0.0.0/8', + 'enum' => ['icmp', 'tcp', 'udp', 'all', 'gre'], + 'example' => 'all', + 'title' => '', ], ], [ - 'name' => 'SourcePortRange', + 'name' => 'PortRange', 'in' => 'query', - 'schema' => [ - 'description' => 'The range of port numbers that correspond to the transport layer protocol for the source security group. Valid values:'."\n" - ."\n" - .'* If you set the IpProtocol parameter to tcp or udp, the port number ranges from **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" - .'* When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" - .'* When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22/22', - ], + 'schema' => ['description' => 'The port range.'."\n" + ."\n" + .'- If you set **Protocol** to **all** or **icmp**, set this parameter to -1/-1, which specifies all ports.'."\n" + ."\n" + .'- If you set **Protocol** to **tcp** or **udp**, the port can be **1 to 65535**. You can set this parameter to **1/200** or **80/80**, which specifies ports 1 to 200 or port 80.', 'type' => 'string', 'required' => true, 'example' => '-1/-1', 'title' => ''], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => ['description' => 'The priority of the rule. Valid values: **1 to 100**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => ['description' => 'The destination network.', 'type' => 'string', 'maxLength' => 100, 'minLength' => 1, 'required' => false, 'example' => '10.130.220.0/24', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'NetworkAclEntryId' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'example' => 'nae-5****', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', - ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', - ], - [ - 'errorCode' => 'SecurityGroupRule.NotFound', - 'errorMessage' => 'The input security group rule does not exist.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParam.DuplicateRule', 'errorMessage' => 'This rule already exists', 'description' => ''], + ['errorCode' => 'RuleLimitExceed', 'errorMessage' => 'The maximum number of network acl rule is reached.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'Create a network ACL rule ', + 'summary' => 'You can invoke the CreateNetworkAclEntry API to create a network ACL rule.', + 'changeSet' => [ + ['createdAt' => '2025-05-20T08:07:26.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2022-09-20T02:26:31.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\r\\n","errorExample":""}]', - 'title' => 'RevokeSecurityGroupEgress', - 'description' => '> In the security group-related API documents, outbound traffic refers to the traffic sent by the source and received by the destination.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeSecurityGroupAttribute' => [ - 'summary' => 'Queries the rules of a security group.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkAclEntry'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetworkAclEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"NetworkAclEntryId\\": \\"nae-5****\\"\\n}","type":"json"}]', + ], + 'CreateNetworkInterface' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZUGXT1', - ], - ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'SecurityGroupId', + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'vSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5****', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', + 'description' => 'Security group ID.', + 'type' => 'array', + 'items' => ['description' => 'Security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-test', 'title' => ''], 'required' => true, - 'example' => 'sg-bp67acfmxazb4ph***', + 'maxItems' => 5, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'ENI name.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'name', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'Description of the ENI.', 'type' => 'string', 'maxLength' => 256, 'required' => false, 'example' => 'example', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Description' => [ - 'description' => 'The description of the security group.'."\n", - 'type' => 'string', - 'example' => 'testDescription1', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the destination security group.'."\n", - 'type' => 'string', - 'example' => 'sg-bp1gxw6bznjjvhu3****', - ], - 'SecurityGroupName' => [ - 'description' => 'The name of the destination security group.'."\n", - 'type' => 'string', - 'example' => 'testSecurityGroupName2', - ], - 'Permissions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Permission' => [ - 'description' => 'Details about the rules.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time at which the security group rule was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2018-12-12T07:28:38Z', - ], - 'Direction' => [ - 'description' => 'The direction in which the security group rule is applied.'."\n", - 'type' => 'string', - 'example' => 'ingress', - ], - 'Policy' => [ - 'description' => 'The policy.'."\n", - 'type' => 'string', - 'example' => 'Accept', - ], - 'PortRange' => [ - 'description' => 'The source port range.'."\n", - 'type' => 'string', - 'example' => '80/80', - ], - 'SourceCidrIp' => [ - 'description' => 'The range of source IP addresses for inbound access control.'."\n", - 'type' => 'string', - 'example' => '0.0.0.0/0', - ], - 'IpProtocol' => [ - 'description' => 'The transport layer protocol.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - 'DestCidrIp' => [ - 'description' => 'The range of destination IP addresses for outbound access control.'."\n", - 'type' => 'string', - 'example' => '0.0.0.0/0', - ], - 'Priority' => [ - 'description' => 'The priority of the rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SourcePortRange' => [ - 'description' => 'The source port number range for the security group.'."\n", - 'type' => 'string', - 'example' => '22/22', - ], - 'Description' => [ - 'description' => 'The description.'."\n", - 'type' => 'string', - 'example' => 'testDescription1', - ], - 'Ipv6SourceCidrIp' => [ - 'type' => 'string', - ], - 'Ipv6DestCidrIp' => [ - 'type' => 'string', - ], - ], - 'description' => 'Schema of Response', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], + 'NetworkInterfaceIds' => [ + 'description' => 'A list of ENI IDs.', + 'type' => 'array', + 'items' => ['description' => 'A list of ENI IDs.', 'type' => 'string', 'example' => 'eni-2zef19ff3v3i2yhe8vyk', 'title' => ''], + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Description\\": \\"testDescription1\\",\\n \\"SecurityGroupId\\": \\"sg-bp1gxw6bznjjvhu3****\\",\\n \\"SecurityGroupName\\": \\"testSecurityGroupName2\\",\\n \\"Permissions\\": {\\n \\"Permission\\": [\\n {\\n \\"CreationTime\\": \\"2018-12-12T07:28:38Z\\",\\n \\"Direction\\": \\"ingress\\",\\n \\"Policy\\": \\"Accept\\",\\n \\"PortRange\\": \\"80/80\\",\\n \\"SourceCidrIp\\": \\"0.0.0.0/0\\",\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"DestCidrIp\\": \\"0.0.0.0/0\\",\\n \\"Priority\\": 1,\\n \\"SourcePortRange\\": \\"22/22\\",\\n \\"Description\\": \\"testDescription1\\",\\n \\"Ipv6SourceCidrIp\\": \\"::/0\\",\\n \\"Ipv6DestCidrIp\\": \\"::/0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n testDescription1\\n sg-bp1gxw6bznjjvhu3****\\n testSecurityGroupName2\\n \\n 2018-12-12T07:28:38Z\\n ingress\\n Accept\\n 80/80\\n 0.0.0.0/0\\n TCP\\n 0.0.0.0/0\\n 1\\n 22/22\\n testDescription1\\n \\n","errorExample":""}]', - 'title' => 'DescribeSecurityGroupAttribute', - ], - 'DeleteEip' => [ - 'summary' => 'Deletes a pay-as-you-go elastic IP address (EIP).', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateNetworkInterface', + 'summary' => 'Create an Elastic Network Interface (ENI).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkInterface'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetworkInterface', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"NetworkInterfaceIds\\": [\\n \\"eni-2zef19ff3v3i2yhe8vyk\\"\\n ]\\n}","type":"json"}]', + ], + 'CreateSDG' => [ + 'summary' => 'Creates a Shared Data Group (SDG) on an AIC instance.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREens7UORYM'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '实例id', - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5sg1owx0g4ojy66ab2tez77r2', - ], + 'schema' => ['description' => 'The ID of the AIC instance. You can call [DescribeARMServerInstances](~~DescribeARMServerInstances~~) to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'aic-xxxx', 'title' => ''], + ], + [ + 'name' => 'Size', + 'in' => 'query', + 'schema' => ['description' => 'The maximum capacity of the SDG, in GB.'."\n" + ."\n" + .'> - To save costs, specify the size as needed.'."\n" + .'>'."\n" + .'> - If you are creating an SDG for the first time, **Size** is a required parameter.'."\n" + .'>'."\n" + .'> - If your data volume increases, you can specify a new value for **Size** to expand the disk. If **Size** is not empty and its value is greater than the original size of the SDG, the source disk for the SDG is expanded to the new size. If **Size** is empty or its value is smaller than the original size of the SDG, the system takes no action.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the SDG.'."\n" + ."\n" + .'> Provide a detailed description for easy reference.', 'type' => 'string', 'example' => 'Test SDG', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'FromSDGId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of an existing SDG.'."\n" + ."\n" + .'> - If you are creating an SDG for the first time, leave **FromSDGId** empty.'."\n" + .'>'."\n" + .'> - If **FromSDGId** is invalid or the corresponding source disk cannot be found, an error is reported.'."\n" + .'>'."\n" + .'> - If **FromSDGId** is not empty, you are performing an operation on an existing SDG.', 'type' => 'string', 'required' => false, 'example' => 'sdg-xxxxx', 'title' => ''], + ], + [ + 'name' => 'DiskType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the source disk. Valid values:'."\n" + ."\n" + .'- standard (standard disk: default).'."\n" + ."\n" + .'- rbd (RBD disk).'."\n" + ."\n" + .'> * Limit: SDGs on RBD disks and SDGs on standard disks cannot inherit from each other.', 'type' => 'string', 'required' => false, 'example' => 'standard', 'title' => ''], + ], + [ + 'name' => 'BillingCycle', + 'in' => 'query', + 'schema' => ['description' => 'The billing method for the sub-disks of the SDG. This parameter specifies the billing plan for RBD sub-disks that are created from this SDG. This parameter does not apply to standard disks. Valid values:'."\n" + ."\n" + .'- Hour.'."\n" + ."\n" + .'- Day (default).'."\n" + ."\n" + .'> * Metric description: A longer billing cycle results in lower costs. A service fee is charged if you release the disk before the billing cycle ends.', 'type' => 'string', 'required' => false, 'example' => 'Day', 'title' => ''], + ], + [ + 'name' => 'PerformanceLevel', + 'in' => 'query', + 'schema' => ['title' => 'SDG sharing ratio parameter, which supports disks with different maximum sharing ratios. '."\n", 'description' => 'The sharing ratio of the SDG. This parameter supports disks with different maximum sharing ratios.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => '9341CDC2-D6AC-5992-86C8-D5774CFCC708', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'SDGId' => ['description' => 'The ID of the created SDG.', 'type' => 'string', 'example' => 'sdg-xxxx', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"SDGId\\": \\"sdg-xxxx\\"\\n}","type":"json"}]', + 'title' => 'Create SDG ', + 'description' => 'An SDG is a data partition image for a virtual device. You can save a data partition from a virtual device as an SDG and then deploy it to the data partitions of other virtual devices. This lets you quickly distribute data and applications. The procedure for using SDG-related API operations is as follows:'."\n" + ."\n" + .'- Call the [CreateSDG](~~CreateSDG~~) operation to create an SDG. This operation attaches an empty disk, also known as a source disk, to the specified AIC instance (InstanceId). You will use this disk to create the SDG image.'."\n" + ."\n" + .'- You can then install applications, transfer files, and perform other required operations on the AIC instance (InstanceId).'."\n" + ."\n" + .'- Call the [SaveSDG](~~SaveSDG~~) operation to save the data disk of the AIC instance as an SDG image.'."\n" + ."\n" + .'- Call the [DeploySDG](~~DeploySDG~~) operation to deploy the SDG image to another AIC instance. This is an asynchronous operation. You can query the status of the destination instance by calling [DescribeARMServerInstances](~~DescribeARMServerInstances~~). When the status changes to \\`success\\`, the instance is available. The applications on the destination instance are then identical to those on the source instance.', + 'changeSet' => [ + ['createdAt' => '2024-03-22T07:11:26.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9341CDC2-D6AC-5992-86C8-D5774CFCC708\\"\\n}","type":"json"}]', - 'title' => 'DeleteEip', - ], - 'CreateEipInstance' => [ - 'summary' => 'Applies for an elastic IP address (EIP).', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:CreateSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'CreateSecurityGroup' => [ + 'summary' => 'Creates a security group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '20153', - 'abilityTreeNodes' => [ - 'FEATUREensZ9TTQL', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '33018', + 'abilityTreeNodes' => ['FEATUREensJVII2K'], ], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'SecurityGroupName', 'in' => 'query', - 'schema' => [ - 'title' => 'ENS节点ID', - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-suzhou-telecom', - ], + 'schema' => ['description' => 'The name of the security group. The name must be 2 to 128 characters in length, and can contain digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`. By default, this parameter is empty.', 'type' => 'string', 'required' => false, 'maxLength' => 128, 'example' => 'Dcdn1:2_3-4', 'title' => ''], ], [ - 'name' => 'Bandwidth', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'title' => 'EIP的带宽峰值', - 'description' => 'The maximum bandwidth of the EIP. Default value: 5. Valid values: 5 to 10000. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'maximum' => '10000', - 'minimum' => '5', - 'example' => '5', - 'default' => '5', - ], + 'schema' => ['description' => 'The description of the security group. The description must be 2 to 256 characters in length. It must start with a letter and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'maxLength' => 256, 'example' => 'testDescription', 'title' => ''], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'Permissions', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => 'EIP的计费方式,取值: PrePaid:包年包月。 PostPaid(默认值):按量计费。 当InstanceChargeType取值为PostPaid时,InternetChargeType不能为PayByBandwidth', - 'description' => 'The billing method of the EIP. Set the value to **PostPaid**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'PostPaid', - 'enum' => [ - 'PostPaid', + 'description' => 'The rules of the security group. Valid values of N: 0 to 200.', + 'type' => 'array', + 'items' => [ + 'description' => 'The rules of the security group.', + 'type' => 'object', + 'properties' => [ + 'Direction' => [ + 'description' => 'The direction of the security group rule. Valid values:'."\n" + ."\n" + .'- egress: outbound'."\n" + ."\n" + .'- ingress: inbound', + 'type' => 'string', + 'required' => true, + 'enum' => ['egress', 'ingress'], + 'example' => 'ingress', + 'title' => '', + ], + 'IpProtocol' => [ + 'description' => 'The transport layer protocol. Valid values:'."\n" + ."\n" + .'- TCP'."\n" + ."\n" + .'- UDP'."\n" + ."\n" + .'- ICMP'."\n" + ."\n" + .'- ALL', + 'enumValueTitles' => ['TCP' => 'TCP', 'UDP' => 'UDP', 'ALL' => 'ALL', 'ICMP' => 'ICMP'], + 'type' => 'string', + 'required' => true, + 'enum' => ['TCP', 'UDP', 'ICMP', 'ALL', 'GRE', 'tcp', 'udp', 'icmp', 'all', 'gre', 'icmpv6', 'ICMPV6'], + 'example' => 'TCP', + 'title' => '', + ], + 'PortRange' => ['description' => 'The range of the destination ports for the security group rule. Valid values:'."\n" + ."\n" + .'- If you set the IpProtocol to TCP or UDP, the port range is 1 to 65535. You must use a forward slash (/) to separate the start port and the end port, for example, 1/200.'."\n" + ."\n" + .'- If you set the IpProtocol to ICMP, the port range is -1/-1.'."\n" + ."\n" + .'- If you set the IpProtocol to ALL, the port range is -1/-1.', 'type' => 'string', 'required' => true, 'example' => '80/80', 'title' => ''], + 'SourcePortRange' => ['description' => 'The range of the source ports for the security group rule. Valid values:'."\n" + ."\n" + .'- If you set the IpProtocol to TCP or UDP, the port range is 1 to 65535. You must use a forward slash (/) to separate the start port and the end port, for example, 1/200.'."\n" + ."\n" + .'- If you set the IpProtocol to ICMP, the port range is -1/-1.'."\n" + ."\n" + .'- If you set the IpProtocol to ALL, the port range is -1/-1.', 'type' => 'string', 'required' => false, 'example' => '22/22', 'title' => ''], + 'Policy' => [ + 'description' => 'The policy of the security group rule. Valid values:'."\n" + ."\n" + .'- Accept: allows access.'."\n" + ."\n" + .'- Drop: denies access.', + 'enumValueTitles' => ['Accept' => 'Accept', 'Drop' => 'Drop'], + 'type' => 'string', + 'required' => true, + 'enum' => ['Accept', 'Drop', 'accept', 'drop'], + 'example' => 'Accept', + 'title' => '', + ], + 'DestCidrIp' => ['description' => 'The destination IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.', 'type' => 'string', 'required' => false, 'example' => '0.0.0.0/0', 'title' => ''], + 'Description' => ['description' => 'The description of the security group rule. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 256, 'required' => false, 'example' => 'testDescription', 'title' => ''], + 'Priority' => ['description' => 'The priority of the security group rule. A smaller value indicates a higher priority. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], + 'SourceCidrIp' => ['description' => 'The source IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.', 'type' => 'string', 'required' => false, 'example' => '0.0.0.0/0', 'title' => ''], + 'Ipv6SourceCidrIp' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + 'Ipv6DestCidrIp' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InternetChargeType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => 'EIP的计量方式,取值: PayByBandwidth(默认值):按带宽计费。 取值:95BandwidthByMonth:月95。', - 'description' => 'The metering method of the EIP. Set the value to **95BandwidthByMonth**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '95BandwidthByMonth', - 'enum' => [ - '95BandwidthByMonth', - 'FlowoutByDay', - 'AverageDayBandwidthByMonth', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '760bad53276431c499e30dc36f6b26be', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the newly created security group.', 'type' => 'string', 'example' => 'sg-bp1fg655nh68xyz9i***', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'title' => 'EIP实例名称。', - 'description' => 'The name of the EIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EIP1', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'InvalidParameter.PortRange', 'errorMessage' => 'The parameter PortRange is not valid.', 'description' => 'The port range is not configured correctly.'], + ['errorCode' => 'InvalidParameter.CidrIp', 'errorMessage' => 'The parameter CidrIp is not valid.', 'description' => 'The security group rule CIDR block parameter is invalid.'], + ['errorCode' => 'QuotaExceed.SecurityGroup', 'errorMessage' => 'The maximum number of security groups is reached.', 'description' => 'The number of security groups exceeds the quota limit.'], + ['errorCode' => 'InvalidParameter.DestIpConflict', 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.', 'description' => 'Parameter DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.'], + ['errorCode' => 'InvalidParameter.Ipv4ProtocolConflictWithIpv6Address', 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', 'description' => 'The IPv4 protocol cannot specify an IPv6 address.'], + ['errorCode' => 'InvalidParameter.Ipv6ProtocolConflictWithIpv4Address', 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', 'description' => 'The IPv6 protocol cannot specify an IPv4 address.'], + ['errorCode' => 'InvalidParameter.SourceIpConflict', 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.', 'description' => 'Parameter SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.'], + ], + ], + 'title' => 'CreateSecurityGroup', + 'changeSet' => [ + ['createdAt' => '2025-01-02T08:15:49.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-09-06T06:40:52.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSecurityGroup'], ], + ], + 'ramActions' => [ [ - 'name' => 'Isp', - 'in' => 'query', - 'schema' => [ - 'title' => '运营商信息', - 'description' => 'The Internet service provider. Valid values:'."\n" - ."\n" - .'* **cmcc**: China Mobile.'."\n" - .'* **unicom**: China Unicom.'."\n" - .'* **telecom**: China Telecom.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cmcc', - 'enum' => [ - 'cmcc', - 'unicom', - 'telecom', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"760bad53276431c499e30dc36f6b26be\\",\\n \\"SecurityGroupId\\": \\"sg-bp1fg655nh68xyz9i***\\"\\n}","type":"json"}]', + ], + 'CreateSecurityGroupPermissions' => [ + 'summary' => 'Creates an Edge Node Service (ENS) security group rule.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '255792', + 'abilityTreeNodes' => ['FEATUREensMBU7KJ'], + ], + 'parameters' => [ [ - 'name' => 'Description', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the EIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourDescription', - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'Permissions', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'json', 'schema' => [ - 'description' => 'The tags.', + 'description' => 'A collection of security group rule objects.', 'type' => 'array', 'items' => [ - 'description' => 'The tags.', + 'description' => 'A security group rule.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N of the instance. Valid values of N: **1** to **20**.'."\n" + 'Direction' => [ + 'description' => 'The traffic direction for the rule. Valid values:'."\n" ."\n" - .'* The key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" - .'* The key must be up to 64 characters in length.'."\n" - .'* The tag key cannot be an empty string.'."\n", + .'- `egress`: Outgoing traffic.'."\n" + ."\n" + .'- `ingress`: Incoming traffic.', 'type' => 'string', - 'required' => false, - 'example' => 'team', + 'required' => true, + 'enum' => ['egress', 'ingress'], + 'example' => 'ingress', + 'title' => '', + ], + 'IpProtocol' => [ + 'description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- `TCP`'."\n" + ."\n" + .'- `UDP`'."\n" + ."\n" + .'- `ICMP`'."\n" + ."\n" + .'- `ICMPv6`'."\n" + ."\n" + .'- `ALL`: All protocols.', + 'type' => 'string', + 'required' => true, + 'enum' => ['TCP', 'UDP', 'ICMP', 'ALL', 'GRE', 'tcp', 'udp', 'icmp', 'all', 'gre', 'ICMPV6', 'icmpv6'], + 'example' => 'TCP', + 'title' => '', ], - 'Value' => [ - 'description' => 'The value of tag N that is added to the resource. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with acs: or contain http:// or https://.'."\n", + 'PortRange' => ['description' => 'The destination port range for the rule.'."\n" + ."\n" + .'- For TCP and UDP, the port range is 1 to 65535. Use a forward slash (/) to separate the start and end ports. For example, `1/200`.'."\n" + ."\n" + .'- For ICMP, the value must be `-1/-1`.'."\n" + ."\n" + .'- For ICMPv6, the value must be `-1/-1`.'."\n" + ."\n" + .'- If you set `IpProtocol` to `ALL`, the value must be `-1/-1`.', 'type' => 'string', 'required' => true, 'example' => '80/80', 'title' => ''], + 'SourcePortRange' => ['description' => 'The source port range for the rule.'."\n" + ."\n" + .'- For TCP and UDP, the port range is 1 to 65535. Use a forward slash (/) to separate the start and end ports. For example, `1/200`.'."\n" + ."\n" + .'- For ICMP, the value must be `-1/-1`.'."\n" + ."\n" + .'- For ICMPv6, the value must be `-1/-1`.'."\n" + ."\n" + .'- If you set `IpProtocol` to `ALL`, the value must be `-1/-1`.', 'type' => 'string', 'required' => false, 'example' => '22/22', 'title' => ''], + 'Policy' => [ + 'description' => 'The access control policy. Valid values:'."\n" + ."\n" + .'- `Accept`: Allows matching traffic.'."\n" + ."\n" + .'- `Drop`: Denies matching traffic and drops the packets.', 'type' => 'string', - 'required' => false, - 'example' => 'tagValue', + 'required' => true, + 'enum' => ['Accept', 'Drop'], + 'example' => 'Accept', + 'title' => '', ], + 'DestCidrIp' => ['description' => 'The destination IPv4 CIDR block. This parameter supports CIDR notation and single IPv4 addresses.', 'type' => 'string', 'required' => false, 'example' => '10.XX.XX.14/32', 'title' => ''], + 'SourceCidrIp' => ['description' => 'The source IPv4 CIDR block. This parameter supports CIDR notation and single IPv4 addresses.', 'type' => 'string', 'required' => false, 'example' => '0.0.0.0/0', 'title' => ''], + 'Description' => ['description' => 'The description of the security group rule. It must be 2 to 256 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 256, 'required' => false, 'example' => 'testDescription', 'title' => ''], + 'Priority' => ['description' => 'The priority of the security group rule. A smaller value indicates a higher priority. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], + 'Ipv6SourceCidrIp' => ['description' => 'The source IPv6 CIDR block. This parameter supports CIDR notation and single IPv6 addresses.'."\n" + ."\n" + .'> This parameter and `SourceCidrIp` are mutually exclusive.', 'type' => 'string', 'required' => false, 'example' => '::/0', 'title' => ''], + 'Ipv6DestCidrIp' => ['description' => 'The destination IPv6 CIDR block. This parameter supports CIDR notation and single IPv6 addresses.'."\n" + ."\n" + .'> This parameter and `DestCidrIp` are mutually exclusive.', 'type' => 'string', 'required' => false, 'example' => '::/0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. This prevents repeated operations caused by multiple retries.'."\n" - ."\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 only contain ASCII characters and cannot exceed 64 characters in length.'."\n" - .'* If you use a ClientToken that has been used and other request parameters remain unchanged in a repeated request, the client will receive the same result as the first request. This does not affect the status of your server.'."\n" - .'* You can initiate a retry when the operation times out or the error code is PROCESSING. The idempotence is valid. If HTTP status code 200 is returned, the client receives the same result as the last request. However, your server status is not affected. If HTTP status code 4xx is returned and error code is not PROCESSING, the idempotence is invalid.'."\n" - .'* A client token is valid for 10 minutes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '26C28756-2586-17AF-B802-0DC50D8FDEBB', - ], - ], - [ - 'name' => 'IpAddress', - 'in' => 'query', - 'schema' => [ - 'title' => 'IP地址', - 'type' => 'string', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => 'EIP的实例ID。', - 'type' => 'string', + 'required' => true, + 'maxItems' => 200, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], ], @@ -18027,484 +7793,57 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9DB6123F-470D-510A-A9EB-EBA799340452', - ], - 'AllocationId' => [ - 'title' => 'EIP的ID。', - 'description' => 'The ID of the EIP.'."\n", - 'type' => 'string', - 'example' => 'eip-25877c70gddh****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'ResourceNotAvailable', - 'errorMessage' => 'Resource you requested is not available in this node.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'Processing', - 'errorMessage' => 'Request is in progress, please try again later.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedBandwidthType', - 'errorMessage' => 'Bandwidth type sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParam_NotSupportInstanceIdAndIpAddress', - 'errorMessage' => 'The parameter InstanceId and IpAddress cannot be supported simultaneously.', - ], - [ - 'errorCode' => 'InventoryExceeded', - 'errorMessage' => 'The Instance in stock are insufficient,please submit a ticket.', - ], - [ - 'errorCode' => 'ResourceNotFound.Ip', - 'errorMessage' => 'The specified ip is not found.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.PortRange', 'errorMessage' => 'The parameter PortRange is not valid.', 'description' => 'The port range is not configured correctly.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'InvalidParameter.CidrIp', 'errorMessage' => 'The parameter CidrIp is not valid.', 'description' => 'The security group rule CIDR block parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SourceIpConflict', 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.', 'description' => 'Parameter SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.'], + ['errorCode' => 'InvalidParameter.DestIpConflict', 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.', 'description' => 'Parameter DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.'], + ['errorCode' => 'InvalidParameter.Ipv4ProtocolConflictWithIpv6Address', 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', 'description' => 'The IPv4 protocol cannot specify an IPv6 address.'], + ['errorCode' => 'InvalidParameter.Ipv6ProtocolConflictWithIpv4Address', 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', 'description' => 'The IPv6 protocol cannot specify an IPv4 address.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DB6123F-470D-510A-A9EB-EBA799340452\\",\\n \\"AllocationId\\": \\"eip-25877c70gddh****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9DB6123F-470D-510A-A9EB-EBA799340452\\n eip-25877c70gddh****\\n","errorExample":""}]', - 'title' => 'CreateEipInstance', - 'description' => '* You can call this operation up to 5,000 times per second per account.'."\n" - .'* You can call this operation up to 50 times per second per user.'."\n", - ], - 'AssociateEnsEipAddress' => [ - 'summary' => 'Associates an elastic IP address (EIP) with a cloud resource that is deployed in the same region.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateSecurityGroupPermissions', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSecurityGroupPermissions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSecurityGroupPermissions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'CreateSnapshot' => [ + 'summary' => 'Call the CreateSnapshot operation to create a snapshot.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -18513,74 +7852,44 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '19509', - 'abilityTreeNodes' => [ - 'FEATUREens5WGMNC', - ], - 'tenantRelevance' => 'tenant', + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREensOS1TQY'], ], 'parameters' => [ [ - 'name' => 'AllocationId', + 'name' => 'DiskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EIP that you want to associate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eip-5sc1sgcrsrwgwdvx44hru3p63', - ], + 'schema' => ['description' => 'The ID of the disk.', 'type' => 'string', 'required' => true, 'example' => 'd-bp1s5fnvk4gn2tws0****', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cloud service with which the EIP is associated.'."\n" - ."\n" - .'> You can specify the ID of an Edge Load Balancer (ELB) instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5saivuir6b1mupxjfbhmk1xkb', - ], + 'schema' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => true, 'example' => 'cn-shenzhen-3', 'title' => ''], ], [ - 'name' => 'InstanceType', + 'name' => 'SnapshotName', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of instance with which you want to associate the EIP. Valid values:'."\n" - ."\n" - .'* **Nat**: NAT gateway.'."\n" - .'* **SlbInstance**: Edge Load Balancer (ELB) instance.'."\n" - .'* **NetworkInterface**: secondary elastic network interface (ENI).'."\n" - .'* **NatSlbInstance**: If you want to associate multiple EIPs with an ELB instance, you need to set the parameter to this value.'."\n" - .'* **EnsInstance** (default): ENS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SlbInstance', - 'default' => 'EnsInstance', - 'enum' => [ - 'SlbInstance', - 'EnsInstance', - 'NatSlbInstance', - 'Nat', - 'NetworkInterface', - 'HaVip', - ], - ], + 'schema' => ['description' => 'The name of the snapshot. The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character, but cannot start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'testSnapshotName', 'title' => ''], ], [ - 'name' => 'Standby', + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the snapshot. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.'."\n" + ."\n" + .'By default, this parameter is empty.', 'type' => 'string', 'required' => false, 'example' => 'testDescription', 'title' => ''], + ], + [ + 'name' => 'InstanceBillingCycle', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether the EIP is a secondary EIP. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', + 'type' => 'string', + 'enum' => ['Hour', 'Day', 'Month'], + 'description' => '', 'required' => false, - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], ], @@ -18588,120 +7897,163 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The Request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'SnapShotId' => [ + 'description' => 'The list of created Snapshot IDs.', + 'type' => 'array', + 'items' => ['description' => 'A Snapshot ID.', 'type' => 'string', 'example' => 'sp-5w1x1nxsmkhdgval1h5l****', 'title' => ''], + 'example' => 's-bp17441ohwka0yuh****', + 'title' => '', ], - ], - ], + 'OrderId' => ['description' => 'The Order ID.', 'type' => 'string', 'example' => '21969183547****', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'SaleControlVerificationFailedStock', 'errorMessage' => 'Inventory sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Inventory sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedRegion', 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', 'description' => 'Node sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'RegionAccessDenied', - 'errorMessage' => 'Could not operate this region\'s resource', - ], - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'IncorrectEipStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'InvalidAssociation.Duplicated', - 'errorMessage' => 'Specified instance already is associated.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter allocationId that is not found.', - ], - [ - 'errorCode' => 'EipNotFound', - 'errorMessage' => 'The input parameter allocationId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'Current instance status does not support this operation.', - ], - [ - 'errorCode' => 'InvalidAssociation.AssociateEipFist', - 'errorMessage' => 'Associate EIP first.', - ], - [ - 'errorCode' => 'InvalidAssociation.RegionNotSupportStandby', - 'errorMessage' => 'The region of EIP does not support standby.', - ], - [ - 'errorCode' => 'NatNotFound', - 'errorMessage' => 'The input parameter allocationId that is not found.', - ], - [ - 'errorCode' => 'InvalidAssociation.NetworkTypeNotSupport', - 'errorMessage' => 'The instance network type does not support binding to EIP.', - ], - [ - 'errorCode' => 'EniNotFound', - 'errorMessage' => 'The input parameter allocationId that is not found.', - ], - [ - 'errorCode' => 'IncorrectEniStatus', - 'errorMessage' => 'Current instance status does not support this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.EniServiceManaged ', - 'errorMessage' => 'The eni is managed by service.', - ], - [ - 'errorCode' => 'InvalidAssociation.EniNotSupportStandby', - 'errorMessage' => 'Eni does not support standby eip.', - ], - [ - 'errorCode' => 'IncorrectEniType', - 'errorMessage' => 'The type of eni is invalid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'title' => 'CreateSnapshot', + 'changeSet' => [ + ['createdAt' => '2025-05-08T09:48:34.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-19T11:59:13.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-10-17T07:58:53.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSnapshot'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'AssociateEnsEipAddress', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"SnapShotId\\": [\\n \\"sp-5w1x1nxsmkhdgval1h5l****\\"\\n ],\\n \\"OrderId\\": \\"21969183547****\\"\\n}","type":"json"}]', ], - 'UnAssociateEnsEipAddress' => [ - 'summary' => 'Disassociates an elastic IP address (EIP) from an instance.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateSnatEntry' => [ + 'summary' => 'Adds a source network address translation (SNAT) entry to a specified SNAT table.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -18710,177 +8062,178 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '19511', - 'abilityTreeNodes' => [ - 'FEATUREens5WGMNC', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '128818', + 'abilityTreeNodes' => ['FEATUREensHCNR8B'], ], 'parameters' => [ [ - 'name' => 'AllocationId', + 'name' => 'NatGatewayId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EIP.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eip-5sqa431nx3vee8heqxfxp****', - ], + 'schema' => ['description' => 'The ID of the Network Address Translation (NAT) gateway.', 'type' => 'string', 'required' => true, 'example' => 'nat-5tawjw5j7sgd2deujxuk0****', 'title' => ''], ], [ - 'name' => 'Force', + 'name' => 'SnatIp', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disassociate the EIP from a NAT gateway if a DNAT or SNAT entry is added to the NAT gateway. Valid values:'."\n" - ."\n" - .'* **false** (default): does not disassociate the EIP from a NAT gateway if a DNAT or SNAT entry is added to the NAT gateway.'."\n" - .'* **true**: disassociates the EIP from a NAT gateway if a DNAT or SNAT entry is added to the NAT gateway.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The elastic IP address (EIP) in the SNAT entry. Separate multiple EIPs with commas (,).', 'type' => 'string', 'required' => true, 'example' => '120.XXX.XXX.71', 'title' => ''], + ], + [ + 'name' => 'SourceVSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch that you need to access over the Internet. This parameter specifies that Edge Node Service (ENS) instances in the vSwitch can use the SNAT entry to access the Internet.'."\n" + ."\n" + .'> If you specify **SourceVSwitchId** and **SourceCIDR**, **SourceVSwitchId** does not take effect. The value that you specified for **SourceCIDR** takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1hwx7gi495q260p****', 'title' => ''], + ], + [ + 'name' => 'SourceCIDR', + 'in' => 'query', + 'schema' => ['description' => 'The CIDR block. You can specify the CIDR block of a network, a vSwitch, or an instance. You can also specify a custom CIDR block. All instances within the CIDR block can access the Internet or external networks by using SNAT.'."\n" + ."\n" + .'> If you specify **SourceVSwitchId** and **SourceCIDR**, **SourceVSwitchId** does not take effect. The value that you specified for **SourceCIDR** takes precedence.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/24', 'title' => ''], + ], + [ + 'name' => 'SnatEntryName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the SNAT entry. The name must be 1 to 128 characters in length. The name cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test0', 'title' => ''], + ], + [ + 'name' => 'SourceNetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network. This parameter specifies that all ENS instances in the network can use the SNAT entry to access the Internet.'."\n" + ."\n" + .'> If you specify **SourceNetworkId** and **SourceVSwitchId** or **SourceCIDR**, **SourceNetworkId** does not take effect. The value that you specified for **SourceCIDR** takes precedence. Priority: **SourceCIDR** > **SourceVSwitchId** > **SourceNetworkId**.', 'type' => 'string', 'required' => false, 'example' => 'n-2zeuphj08tt7q3brd****', 'title' => ''], + ], + [ + 'name' => 'StandbySnatIp', + 'in' => 'query', + 'schema' => ['description' => 'The secondary EIP in the SNAT entry. Separate multiple secondary EIPs with commas (,).', 'type' => 'string', 'required' => false, 'example' => '101.XXX.XXX.7', 'title' => ''], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for idle connections. Valid values: **1** to **86400**. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '86400', 'minimum' => '1', 'required' => false, 'example' => '15', 'title' => ''], + ], + [ + 'name' => 'IspAffinity', + 'in' => 'query', + 'schema' => ['description' => 'Whether to enable operator affinity. Value taking:'."\n" + ."\n" + .'- false:Do not open.'."\n" + ."\n" + .'- true:Open.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'EipAffinity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable IP affinity. If you do not specify this parameter, IP affinity is enabled by default. Valid values:'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'> After you enable IP affinity, if multiple EIPs are associated with an SNAT entry, one client uses the same EIP to for communication. If IP affinity is disabled, the client uses a random EIP for communication.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4A431388-2D4B-46F4-A96B-D4E6BD0688C1', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '018EED6A-69CA-58C8-A345-498927D5D34E'], + 'SnatEntryId' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'example' => 'snat-5tc08qfj5ecblfdn2rqr9****', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'IncorrectEipStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'EipNotFound', - 'errorMessage' => 'The input parameter allocationId that is not found. ', - ], - [ - 'errorCode' => 'IncorrectEipIpStatus', - 'errorMessage' => 'The ip status of EIP is invalid.', - ], - [ - 'errorCode' => 'InvalidUnAssociation.UnAssociateStandbyEipFist', - 'errorMessage' => 'Unassociate standby eip first.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidIpStatus.HasBeenUsedByForwardEntry', - 'errorMessage' => 'The eip has been used by dnat.', - ], - [ - 'errorCode' => 'InvalidIpStatus.HasBeenUsedBySnatTable', - 'errorMessage' => 'The eip has been used by snat.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Forbidden.SourceCIDR.NotSupport', 'errorMessage' => 'SourceCIDR support intranet cidr only.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NatNotFound', 'errorMessage' => 'The specified Nat is not found.', 'description' => 'The specified parameter Nat does not exist.'], + ['errorCode' => 'InvalidParameter.SnatIp', 'errorMessage' => 'The specified SnatIp is not found.', 'description' => ''], + ['errorCode' => 'SnatEntryLimitExceed', 'errorMessage' => 'The limit of snat entry in the network reaches. ', 'description' => ''], + ['errorCode' => 'SnatIpLimitExceed', 'errorMessage' => 'The Snat pool ip too many.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SourceNetworkId', 'errorMessage' => 'The specified parameter SourceNetworkId is invalid.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'Forbidden.SourceCIDR.Duplicated', 'errorMessage' => 'The specified sourceCIDR is duplicated.', 'description' => 'SNAT rules have been configured for the source CIDR block. Do not repeat the settings.'], + ['errorCode' => 'Forbidden.SnatIpUsedInDnat', 'errorMessage' => 'The snatIp is already in use in the DNAT rule.', 'description' => 'The snatIp is already in use in the DNAT rule. Please check.'], + ['errorCode' => 'InvalidParameter.SourceCIDR', 'errorMessage' => 'The specified parameter SourceCIDR is invalid.', 'description' => 'The specified source CIDR block is invalid.'], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified virtual switch does not exist.', 'description' => 'The specified virtual switch ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4A431388-2D4B-46F4-A96B-D4E6BD0688C1\\"\\n}","type":"json"}]', - 'title' => 'UnAssociateEnsEipAddress', - ], - 'ModifyEnsEipAddressAttribute' => [ - 'summary' => 'Modifies the name, description, and peak bandwidth of a specified elastic IP address (EIP).', - 'methods' => [ - 'get', - 'post', + 'title' => 'CreateSnatEntry', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:29.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-11-28T07:20:46.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-09-24T08:49:04.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-06-28T01:51:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-18T09:09:04.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-28T06:56:03.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2022-03-07T16:04:07.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSnatEntry'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"018EED6A-69CA-58C8-A345-498927D5D34E\\",\\n \\"SnatEntryId\\": \\"snat-5tc08qfj5ecblfdn2rqr9****\\"\\n}","type":"json"}]', + ], + 'CreateStorageGateway' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'AllocationId', + 'name' => 'OrderDetails', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the EIP.'."\n", - 'type' => 'string', + 'description' => 'The array of orders.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'required' => true, 'example' => 'cn-shenzhen-3', 'title' => ''], + 'GatewayType' => ['description' => 'The type of the gateway. Set this parameter to **1**. **1** indicates iSCSI.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], + 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => true, 'example' => 'n-123', 'title' => ''], + 'GatewayName' => ['description' => 'The name of the gateway. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain letters, digits, colons (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'testGatewayName', 'title' => ''], + 'Description' => ['description' => 'The description of the gateway. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testDescription', 'title' => ''], + ], + 'required' => true, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => true, - 'example' => 'eip-5sw5dxzgi6umq4uexxkt8wpma', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The new name of the EIP. The name must be 2 to 128 characters in length and cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-api-modify', - 'maxLength' => 128, - 'minLength' => 2, - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The new description of the EIP. The description must be 2 to 256 characters in length and cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abc', - 'maxLength' => 256, - 'minLength' => 2, - ], - ], - [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => 'The peak bandwidth of the EIP. Default value: 5. Valid values: **5** to **10000**. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10000', - 'minimum' => '1', - 'example' => '50', + 'title' => '', + 'example' => '', ], ], ], @@ -18888,610 +8241,390 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'EA3758E0-8899-17D3-9526-5F62CF33A586'], + 'AllocationId' => [ + 'description' => 'The list of created nodes.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'e426409223', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'BizStatusCode' => ['description' => 'The success status code.'."\n" + ."\n" + .'- **PartSuccess**: partially succeeded.'."\n" + ."\n" + .'- **AllSuccess**: all succeeded.', 'type' => 'string', 'example' => 'AllSuccess', 'title' => ''], + 'UnAllocationId' => [ + 'description' => 'The list of nodes that are not created.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'e426409258', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-chengdu-26', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'EipNotFound', - 'errorMessage' => 'The input parameter allocationId that is not found. ', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'IncorrectEipStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => '需要修改的带宽未发生变化。', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'OrderFailed', 'errorMessage' => '订单失败', 'description' => ''], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'SaleControlVerificationFailedStock', 'errorMessage' => 'Inventory sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Inventory sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedRegion', 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', 'description' => 'Node sales constraint verification failed, please re-select'], + ['errorCode' => '%s', 'errorMessage' => 'Some of the bulk orders failed, please try again:%s.', 'description' => 'Some of the bulk orders failed, please try again:%s'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'ModifyEnsEipAddressAttribute', - ], - 'DescribeEnsEipAddresses' => [ - 'summary' => 'Queries elastic IP addresses (EIPs).', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateStorageGateway', + 'summary' => 'Creates a storage gateway.', + 'changeSet' => [ + ['createdAt' => '2024-07-24T09:33:39.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateStorageGateway'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateStorageGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EA3758E0-8899-17D3-9526-5F62CF33A586\\",\\n \\"AllocationId\\": [\\n {\\n \\"InstanceId\\": \\"e426409223\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom-4\\"\\n }\\n ],\\n \\"BizStatusCode\\": \\"AllSuccess\\",\\n \\"UnAllocationId\\": [\\n {\\n \\"InstanceId\\": \\"e426409258\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-26\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'CreateStorageVolume' => [ + 'summary' => 'Creates a storage volume.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '19512', - 'abilityTreeNodes' => [ - 'FEATUREens0AZ8P3', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'AllocationId', - 'in' => 'query', - 'schema' => [ - 'title' => '要查询的EIP实例的ID。 最多支持输入50个EIP实例ID,实例ID之间用逗号(,)分隔。', - 'description' => 'The ID of the EIP that you want to query. You can specify up to 50 EIP IDs. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eip-5q9uwkd9bznjpxz8hr6cirnjk', - ], - ], - [ - 'name' => 'EipAddress', + 'name' => 'GatewayId', 'in' => 'query', - 'schema' => [ - 'title' => '要查询的EIP的IP地址。 最多支持输入50个EIP的IP地址,IP地址之间用逗号(,)分隔。', - 'description' => 'The EIP that you want to query. You can specify up to 50 EIPs. Separate multiple EIPs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.0.1', - ], + 'schema' => ['description' => 'The ID of the gateway.', 'type' => 'string', 'required' => true, 'example' => 'sgw-****', 'title' => ''], ], [ - 'name' => 'AssociatedInstanceId', + 'name' => 'StorageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance with which you want to associate the EIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-5t18quoohsrc3xkf86spmnu77', - ], + 'schema' => ['description' => 'The ID of the storage medium.', 'type' => 'string', 'required' => true, 'example' => 'si-****', 'title' => ''], ], [ - 'name' => 'AssociatedInstanceType', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the instance that is associated with the EIP. Valid values:'."\n" - ."\n" - .'* **EnsInstance**: ENS instance in a VPC'."\n" - .'* **SlbInstance**: SLB instance'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SlbInstance', - 'enum' => [ - 'SlbInstance', - 'EnsInstance', - 'Nat', - 'NetworkInterface', - 'HaVip', - ], - ], + 'schema' => ['description' => 'The ID of the node.', 'type' => 'string', 'required' => true, 'example' => 'cn-shenzhen-3', 'title' => ''], ], [ - 'name' => 'EnsRegionId', + 'name' => 'IsEnable', 'in' => 'query', 'schema' => [ - 'title' => 'ENS节点ID', - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", + 'description' => 'Indicates whether the volume is enabled. Valid values:'."\n" + ."\n" + .'- **1** (default): The volume is enabled.'."\n" + ."\n" + .'- **0**: The volume is disabled.', 'type' => 'string', + 'enum' => ['0', '1'], 'required' => false, - 'example' => 'cn-chengdu-telecom', + 'example' => '1', + 'title' => '', ], ], [ - 'name' => 'EipName', + 'name' => 'IsAuth', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the EIP.'."\n", + 'description' => 'Specifies whether to enable authentication. Valid values:'."\n" + ."\n" + .'- **1**: Authentication is enabled.'."\n" + ."\n" + .'- **0** (default): Authentication is disabled.', 'type' => 'string', + 'enum' => ['0', '1'], 'required' => false, - 'example' => 'test', + 'example' => '0', + 'title' => '', ], ], [ - 'name' => 'Standby', + 'name' => 'AuthProtocol', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether the EIP is a secondary EIP. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", + 'description' => 'The authentication protocol. Set the value to **CHAP**.', 'type' => 'string', + 'enum' => ['CHAP'], 'required' => false, - 'example' => 'true', + 'example' => 'CHAP', + 'title' => '', ], ], [ - 'name' => 'IcmpReplyEnabled', + 'name' => 'AuthUser', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The username of the CHAP protocol.', 'type' => 'string', 'required' => false, 'example' => 'User', 'title' => ''], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'AuthPassword', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The password of the CHAP protocol.', 'type' => 'string', 'required' => false, 'example' => 'Password', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'VolumeName', 'in' => 'query', - 'schema' => [ - 'title' => '列表的页码,默认值为1。', - 'description' => 'The page number. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The name of the volume. The name must be 2 to 128 characters in length. The name cannot start with `http://` or `https://`. The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'testVolumeName', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'title' => '分页查询时每页的行数,最大值为100,默认值为10。', - 'description' => 'The number of entries per page. Maximum value: 100. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '50', - ], + 'schema' => ['description' => 'The description of the volume. The description must be 2 to 128 characters in length. The description cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testDescription', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '8629F679-B51D-4194-A1CC-5D8F504C362B', - ], - 'EipAddresses' => [ - 'description' => 'Details of the EIPs.'."\n", - 'type' => 'object', - 'items' => [ - 'description' => 'EIP的详细信息。', - 'type' => 'object', - 'properties' => [ - 'AllocationId' => [ - 'name' => 'AllocationId', - 'description' => 'EIP的实例ID。', - 'type' => 'string', - 'example' => 'eip-5sainglpw7qfem3icir4s****', - 'backendName' => 'eipId', - ], - 'AllocationTime' => [ - 'name' => 'AllocationTime', - 'description' => 'EIP的创建时间', - 'type' => 'string', - 'example' => '1624885274000', - 'backendName' => 'createdAt', - ], - 'Bandwidth' => [ - 'name' => 'Bandwidth', - 'description' => 'EIP的带宽峰值,默认值为5。取值范围:**5**~**10000**,单位:Mbps。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - 'backendName' => 'bandwidth', - ], - 'ChargeType' => [ - 'name' => 'ChargeType', - 'description' => 'EIP的计费模式。'."\n" - ."\n" - .'- **PrePaid**:包年包月。'."\n" - ."\n" - .'- **PostPaid**:按量计费。', - 'type' => 'string', - 'example' => 'PostPaid', - 'backendName' => 'payType', - ], - 'Description' => [ - 'name' => 'Description', - 'description' => 'EIP的描述信息。', - 'type' => 'string', - 'example' => 'example', - 'backendName' => 'description', - ], - 'InstanceId' => [ - 'name' => 'InstanceId', - 'description' => '当前绑定的实例的ID。', - 'type' => 'string', - 'example' => 'lb-5sc3kum2e0sz34wbqrws9****', - 'backendName' => 'instanceId', - ], - 'InstanceType' => [ - 'name' => 'InstanceType', - 'description' => '要绑定的云产品实例的类型,取值: '."\n" - ."\n" - .'- **EnsInstance**:VPC类型的ENS实例。'."\n" - ."\n" - .'- **SlbInstance**:负载均衡实例。', - 'type' => 'string', - 'example' => 'SlbInstance', - 'backendName' => 'instanceType', - ], - 'InternetChargeType' => [ - 'name' => 'InternetChargeType', - 'description' => 'EIP的计费方式。'."\n" - ."\n" - .'- **95BandwidthByMonth**:月95峰值带宽。'."\n" - ."\n" - .'- **PayByBandwidth**:固定带宽计费。', - 'type' => 'string', - 'example' => '95BandwidthByMonth', - 'backendName' => 'chargeType', - ], - 'IpAddress' => [ - 'name' => 'IpAddress', - 'description' => 'EIP的IP地址。', - 'type' => 'string', - 'example' => '120.XXX.XXX.4', - 'backendName' => 'eip', - ], - 'Name' => [ - 'name' => 'Name', - 'description' => 'EIP实例名称。', - 'type' => 'string', - 'example' => 'test', - 'backendName' => 'name', - ], - 'EnsRegionId' => [ - 'name' => 'EnsRegionId', - 'description' => 'ENS节点ID。', - 'type' => 'string', - 'example' => 'cn-xian-telecom', - 'backendName' => 'ensRegionId', - ], - 'Status' => [ - 'name' => 'Status', - 'description' => 'EIP的状态。'."\n" - ."\n" - .'- **Associating**:绑定中。'."\n" - ."\n" - .'- **Unassociating**:解绑中。 '."\n" - ."\n" - .'- **InUse**:已分配。 '."\n" - ."\n" - .'- **Available**:可用。 '."\n", - 'type' => 'string', - 'example' => 'Available', - 'backendName' => 'status', - 'valueMapping' => [ - 'cases' => [ - [ - 'targetValue' => 'Associating', - 'value' => 'associating', - ], - [ - 'targetValue' => 'Unassociating', - 'value' => 'unassociating', - ], - [ - 'targetValue' => 'InUse', - 'value' => 'associated', - ], - [ - 'targetValue' => 'Available', - 'value' => 'available', - ], - [ - 'targetValue' => 'Creating', - 'value' => 'creating', - ], - [ - 'targetValue' => 'Releasing', - 'value' => 'releasing', - ], - ], - ], - ], - 'Isp' => [ - 'name' => 'Isp', - 'description' => '运营商,取值:'."\n" - ."\n" - .'- **cmcc**:中国移动。'."\n" - .'- **unicom**:中国联通。'."\n" - .'- **telecom**:中国电信。', - 'type' => 'string', - 'example' => 'cmcc', - 'backendName' => 'isp', - ], - 'Standby' => [ - 'name' => 'Standby', - 'description' => '该EIP是否是备用。', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'standby', - ], - 'IpStatus' => [ - 'name' => 'IpStatus', - 'description' => '如果该弹性IP是备用EIP时,表示当前EIP的运行状态。'."\n" - .'- **Stopped**:已停止。'."\n" - .'- **Running**:运行中。'."\n" - .'- **Starting**:启动中。'."\n" - .'- **Stopping**:停止中。', - 'type' => 'string', - 'example' => 'Stopped', - 'backendName' => 'ipStatus', - 'valueMapping' => [ - 'cases' => [ - [ - 'targetValue' => 'Running', - 'value' => 'running', - ], - [ - 'targetValue' => 'Stopped', - 'value' => 'stopped', - ], - [ - 'targetValue' => 'Starting', - 'value' => 'starting', - ], - [ - 'targetValue' => 'Stopping', - 'value' => 'stopping', - ], - ], - ], - ], - 'Tags' => [ - 'name' => 'Tags', - 'description' => '标签集合。', - 'type' => 'array', - 'items' => [ - 'description' => '标签集合。', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'name' => 'Value', - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'TestValue', - 'backendName' => 'value', - ], - 'Key' => [ - 'name' => 'Key', - 'description' => '标签键', - 'type' => 'string', - 'example' => 'TestKey', - 'backendName' => 'key', - ], - 'TagValue' => [ - 'name' => 'TagValue', - 'description' => '标签值。', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestValue', - 'backendName' => 'value', - ], - 'TagKey' => [ - 'name' => 'TagKey', - 'description' => '标签键。', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestKey', - 'backendName' => 'key', - ], - ], - 'extendType' => 'true', - ], - 'backendName' => 'appendInfo.tags', - 'itemName' => 'Tag', - ], - ], - 'extendType' => 'true', - ], - 'example' => '[\\"106.14.194.193\\"]', - 'itemNode' => true, - 'properties' => [ - 'EipAddress' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AllocationId' => [ - 'type' => 'string', - ], - 'AllocationTime' => [ - 'type' => 'string', - ], - 'Bandwidth' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ChargeType' => [ - 'type' => 'string', - ], - 'Description' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'InternetChargeType' => [ - 'type' => 'string', - ], - 'IpAddress' => [ - 'type' => 'string', - ], - 'Name' => [ - 'type' => 'string', - ], - 'EnsRegionId' => [ - 'type' => 'string', - ], - 'Status' => [ - 'type' => 'string', - ], - 'Isp' => [ - 'type' => 'string', - ], - 'Standby' => [ - 'type' => 'boolean', - ], - 'IpStatus' => [ - 'type' => 'string', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'type' => 'string', - ], - 'Key' => [ - 'type' => 'string', - ], - 'TagValue' => [ - 'type' => 'string', - 'deprecated' => true, - ], - 'TagKey' => [ - 'type' => 'string', - 'deprecated' => true, - ], - ], - ], - ], - ], - ], - 'IcmpReplyEnabled' => [ - 'type' => 'boolean', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number. Valid values: an integer that is greater than 0. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page. Default value: 10. Valid values: **10** to **100**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '7030AB96-57CF-1C68-9FEE-D60E547FD79C'], + 'VolumeId' => [ + 'description' => 'An array of volume IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the created volume.', 'type' => 'string', 'example' => '["sv-***"]', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'OrderFailed', 'errorMessage' => '订单失败', 'description' => ''], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'ERROR_VOLUME_STORAGE_STATUS', 'errorMessage' => 'The cloud disk cannot be operated', 'description' => ''], + ['errorCode' => 'ERROR_VOLUME_STORAGE_BINDED', 'errorMessage' => 'The cloud disk has been bound', 'description' => ''], + ['errorCode' => 'ERROR_VOLUME_PROTOCOL', 'errorMessage' => 'The wrong protocol', 'description' => ''], + ['errorCode' => 'ERROR.STORAGE.BINDED', 'errorMessage' => 'The storageId has been bound.', 'description' => 'The specified storage device (such as the cloud disk ID) has been bound. Batch operations are not supported.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateStorageVolume', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateStorageVolume'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateStorageVolume', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7030AB96-57CF-1C68-9FEE-D60E547FD79C\\",\\n \\"VolumeId\\": [\\n \\"[\\\\\\"sv-***\\\\\\"]\\"\\n ]\\n}","type":"json"}]', + ], + 'CreateVSwitch' => [ + 'summary' => 'Creates a VSwitch.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '33019', + 'abilityTreeNodes' => ['FEATUREensD2JHRI'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => true, 'example' => 'cn-xian-unicom', 'title' => ''], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => ['description' => 'The CIDR block of the VSwitch. The following requirements apply:'."\n" + ."\n" + .'- The prefix length must be an integer from 16 to 29.'."\n" + ."\n" + .'- The CIDR block of the VSwitch must be a subset of the CIDR block of the VPC to which the VSwitch belongs.'."\n" + ."\n" + .'- The CIDR block of the VSwitch cannot be the same as the destination CIDR block of an existing route in the VPC, but it can be a subset of the destination CIDR block.', 'type' => 'string', 'required' => true, 'example' => '172.16.0.0/24', 'title' => ''], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the VSwitch. The following requirements apply:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + ."\n" + .'- The name must start with a letter or a Chinese character, and cannot start with `http://` or `https://`. The name can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'Default value: an empty string.', 'type' => 'string', 'required' => false, 'maxLength' => 128, 'minLength' => 2, 'example' => 'Test vSwitch', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the VSwitch.'."\n" + ."\n" + .'The description must be 2 to 256 characters in length. It must start with a letter or a Chinese character, and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'maxLength' => 256, 'minLength' => 2, 'example' => 'This is my vswitch.', 'title' => ''], + ], + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network to which the VSwitch belongs.', 'type' => 'string', 'required' => false, 'example' => 'n-257gqcdfvx6n****', 'title' => ''], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags of the resource. You can specify up to 20 tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'A resource tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.'."\n" + ."\n" + .'- The tag key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" + ."\n" + .'- The tag key can be up to 64 characters long.'."\n" + ."\n" + .'- The tag key cannot be an empty string.', 'type' => 'string', 'required' => false, 'example' => 'team', 'title' => ''], + 'Value' => ['description' => 'The value of the tag. It can be up to 128 characters long, can be an empty string, and cannot start with `acs:` or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Deep', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => ['type' => 'string', 'example' => '2408:XXXX:0:a600::/110', 'title' => '', 'description' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => ['description' => 'The ID of the VSwitch.', 'type' => 'string', 'example' => 'vsw-5****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => 'The response parameters.', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'NetworkNotFound', 'errorMessage' => 'The specified network is not found.', 'description' => 'Network not found, please check network id.'], + ['errorCode' => 'IncorrectStatus.Network', 'errorMessage' => 'The status of the network is incorrect.', 'description' => 'The status of the network is incorrect.'], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The number of resources has reached the quota limit.', 'description' => 'The number of resources has reached the quota limit.'], + ['errorCode' => 'Network.SecondaryCidrNotFound', 'errorMessage' => 'The network secondary CIDR is not found.', 'description' => ''], + ['errorCode' => 'VSwitch.Ipv6CidrBlockOverlapped', 'errorMessage' => 'The specified IPv6 CIDR block overlaps with existing vSwitches.', 'description' => ''], + ['errorCode' => 'VSwitch.CidrBlockOverlapped', 'errorMessage' => 'The specified CIDR block overlaps with existing vswitches.', 'description' => ''], + ['errorCode' => 'VSwitch.InvalidIpv6CidrBlock', 'errorMessage' => 'Invalid IPv6 CIDR value.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'CreateVSwitch', + 'changeSet' => [ + ['createdAt' => '2024-09-12T12:07:10.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-06-07T08:13:13.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8629F679-B51D-4194-A1CC-5D8F504C362B\\",\\n \\"EipAddresses\\": {\\n \\"EipAddress\\": [\\n {\\n \\"AllocationId\\": \\"eip-5sainglpw7qfem3icir4s****\\",\\n \\"AllocationTime\\": \\"1624885274000\\",\\n \\"Bandwidth\\": 50,\\n \\"ChargeType\\": \\"PostPaid\\",\\n \\"Description\\": \\"example\\",\\n \\"InstanceId\\": \\"lb-5sc3kum2e0sz34wbqrws9****\\",\\n \\"InstanceType\\": \\"SlbInstance\\",\\n \\"InternetChargeType\\": \\"95BandwidthByMonth\\",\\n \\"IpAddress\\": \\"120.XXX.XXX.4\\",\\n \\"Name\\": \\"test\\",\\n \\"EnsRegionId\\": \\"cn-xian-telecom\\",\\n \\"Status\\": \\"Available\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"Standby\\": true,\\n \\"IpStatus\\": \\"Stopped\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"IcmpReplyEnabled\\": false\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 7\\n}","errorExample":""},{"type":"xml","example":"\\n 8629F679-B51D-4194-A1CC-5D8F504C362B\\n \\n eip-5sainglpw7qfem3icir4s****\\n 1624885274000\\n 50\\n PostPaid\\n example\\n lb-5sc3kum2e0sz34wbqrws9****\\n SlbInstance\\n 95BandwidthByMonth\\n 10.10.10\\n test\\n cn-xian-telecom\\n Available\\n cmcc\\n true\\n Stopped\\n \\n 1\\n 50\\n 7\\n","errorExample":""}]', - 'title' => 'DescribeEnsEipAddresses', - ], - 'CreateNatGateway' => [ - 'summary' => 'Creates a network address translation (NAT) gateway.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVSwitch'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateVSwitch', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VSwitchId\\": \\"vsw-5****\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteAICPublicKey' => [ + 'summary' => 'Deletes a specified AIC Public Key. You can only delete a key that is not associated with any resource.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -19500,210 +8633,306 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '130960', - 'abilityTreeNodes' => [ - 'FEATUREensP4M91S', - ], - 'tenantRelevance' => 'tenant', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'Name', + 'name' => 'KeyName', 'in' => 'query', + 'schema' => ['description' => 'The name of the AIC Public Key.', 'type' => 'string', 'required' => true, 'example' => 'mykey', 'maxLength' => 128, 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the NAT gateway. The name must be 1 to 128 characters in length. The name cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - 'maxLength' => 128, - 'minLength' => 1, + 'title' => 'Schema of Response', + 'description' => 'The response body.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The unique identifier for the request.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteAICPublicKey', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAICPublicKey'], + ], + ], + 'ramActions' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-suzhou-telecom', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DeleteAICPublicKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', + ], + 'DeleteApplication' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'NetworkId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-5qj7ykuxmjn7k96l090sp****', - ], + 'schema' => ['description' => 'The ID of the application. To obtain the application ID, call the ListApplication operation.', 'type' => 'string', 'required' => true, 'example' => 'd0639abf-789a-4527-b420-031d2cd9ad9b', 'title' => ''], ], [ - 'name' => 'VSwitchId', + 'name' => 'Timeout', 'in' => 'query', + 'schema' => ['description' => 'The timeout period for the asynchronous release. Unit: seconds. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the new vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5savh5ngxh8sbj14bu7n****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DeleteApplication', + 'summary' => 'Releases all containers and resource instances related to a specific application in an asynchronous manner.', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteApplication'], + ], + ], + 'ramActions' => [ [ - 'name' => 'InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the NAT gateway. Set the value to **enat.default**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'enat.default', - 'default' => 'enat.default', - 'enum' => [ - 'enat.default', - 'enat.s1.small', - 'enat.s1.medium', - 'enat.s2.small', - 'enat.s2.medium', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', + ], + 'DeleteBucket' => [ + 'summary' => 'You can call the DeleteBucket operation to delete a bucket.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Tag', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '119370', + 'abilityTreeNodes' => ['FEATUREens8BRN2W'], + ], + 'parameters' => [ + [ + 'name' => 'BucketName', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The name of the bucket to delete. Only one bucket can be deleted at a time.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'test'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tag that is bound to the instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N of the instance. Valid values of N: **1** to **20**.'."\n" - ."\n" - .'* The key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" - .'* The key must be up to 64 characters in length.'."\n" - .'* The tag key cannot be an empty string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'team', - ], - 'Value' => [ - 'description' => 'The value of tag N that is added to the resource. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with acs: or contain http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Deep', - ], - ], - 'required' => false, + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '2180AB96-57CF-1C68-9FEE-D60E547FD79C'], ], - 'required' => false, - 'maxItems' => 20, + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], [ - 'name' => 'InstanceBillingCycle', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'enum' => [ - 'Hour', - 'Month', + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], + ], + 409 => [ + ['errorCode' => 'BucketNotEmpty', 'errorMessage' => 'The bucket you tried to delete is not empty.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], + ], + ], + 'title' => 'DeleteBucket', + 'description' => '- Only the Alibaba Cloud account that owns the bucket can delete it.'."\n" + ."\n" + .'- A bucket must be empty before it can be deleted.', + 'changeSet' => [ + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-04-17T08:01:10.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBucket'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteBucket', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2180AB96-57CF-1C68-9FEE-D60E547FD79C\\"\\n}","type":"json"}]', + ], + 'DeleteBucketLifecycle' => [ + 'summary' => 'Deletes the lifecycle rules of a bucket.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '130575', + 'abilityTreeNodes' => ['FEATUREensN79QUI'], + ], + 'parameters' => [ + [ + 'name' => 'BucketName', + 'in' => 'query', + 'schema' => ['description' => 'The bucket name.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'RuleId', + 'in' => 'query', + 'schema' => ['description' => 'The rule ID. If this parameter is not specified, all rules are deleted.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'NatGatewayId' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C6583E8B-B930-4F59-ADC0-0E209A45E860'], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error ', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupported', - 'errorMessage' => 'The specified EnsRegion does not support this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.VSwitchNotFound', - 'errorMessage' => 'The specified VSwitch is not found. ', - ], - [ - 'errorCode' => 'InvalidParameter.VSwitchNotBelongToNetwork ', - 'errorMessage' => 'The specified VSwitch is not bound to the Network', - ], - [ - 'errorCode' => 'InvalidParameter.NetworkNotFound', - 'errorMessage' => 'The specified Network is not found. ', - ], - [ - 'errorCode' => 'InvalidParameter.NetworkNotSupported', - 'errorMessage' => 'The specified Network does not support this operation. ', - ], - [ - 'errorCode' => 'QuotaExceed.NatGateway', - 'errorMessage' => 'The maximum number of natGateway is reached. ', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], + ['errorCode' => 'NoSuchLifecycle', 'errorMessage' => 'The bucket lifecycle does not exist.', 'description' => ''], + ], + ], + 'title' => 'DeleteBucketLifecycle', + 'changeSet' => [ + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-04-17T08:01:10.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBucketLifecycle'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteBucketLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n nat-5t7nh1cfm6kxiszlttr38****\\n","errorExample":""}]', - 'title' => 'CreateNatGateway', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C6583E8B-B930-4F59-ADC0-0E209A45E860\\"\\n}","type":"json"}]', ], - 'DeleteNatGateway' => [ - 'summary' => 'Deletes an Internet network address translation (NAT) gateway.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteCluster' => [ + 'summary' => 'Deletes a cluster.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -19713,647 +8942,371 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '130974', - 'abilityTreeNodes' => [ - 'FEATUREensEFSRBY', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensWT1XPU'], + 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'NatGatewayId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the NAT gateway that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', - ], + 'schema' => ['description' => 'The ID of the cluster to delete.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'ForceDelete', + 'name' => 'RetainResources', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcefully delete the NAT instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['description' => 'Indicates whether to retain the associated cloud resources. The default is `false`.', 'type' => 'boolean', 'default' => 'false', 'title' => '', 'required' => false, 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'eck-xxxxxxxx', 'title' => ''], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.NatNotFound', - 'errorMessage' => 'The specified Nat is not found.', - ], - [ - 'errorCode' => 'DependencyViolation.NatRule', - 'errorMessage' => 'DependencyViolation.SNAT/DNAT', - ], - [ - 'errorCode' => 'DependencyViolation.Eip', - 'errorMessage' => 'DependencyViolation.Eip', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'No instance ID found. Enter a valid instance ID.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteCluster', + 'description' => 'When you delete a cluster, you can use the `RetainResources` parameter. The default is `false`. Setting this parameter to `true` retains the ENS compute instances that host the worker nodes.'."\n" + ."\n" + .'Deleting a cluster also deletes all its nodes and node pools. However, ENS compute instances attached using a script from the `DescribeAttachScript` operation are retained.'."\n" + ."\n" + .'If a node pool in the cluster is scaling out or in, wait for the operation to complete before you delete the cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DeleteNatGateway', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', ], - 'DescribeNatGateways' => [ - 'summary' => 'Queries created Network Address Translation (NAT) gateways.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteClusterNodePool' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '128812', - 'abilityTreeNodes' => [ - 'FEATUREensRGDWBB', - ], + 'abilityTreeNodes' => ['FEATUREensWT1XPU', 'FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-wuxi-9', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'NatGatewayId', + 'name' => 'NodepoolId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', - ], + 'schema' => ['description' => 'The ID of the node pool.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'np68mi5y1dd748ky37ojo2kqdrz'], ], - [ - 'name' => 'NetworkId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-2zeuphj08tt7q3brd****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', 'title' => ''], + ], + 'title' => '', + 'description' => 'Response schema', + 'example' => '', ], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5rllcjb3ol6duzjdnbm1o****', - ], + ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DeleteClusterNodePool', + 'summary' => 'You can call the DeleteClusterNodePool operation to delete a node pool that you no longer need. When you delete a node pool, all pods on its nodes are also deleted. This action may trigger descheduling. If the pods cannot be rescheduled, your services may be affected. Before you delete the node pool, ensure that the cluster has sufficient resources for rescheduling.', + 'description' => '- Each user is limited to 10 calls per second.'."\n" + ."\n" + .'- Cluster creation is an asynchronous operation. After the API call is successful, wait 10 to 20 minutes for the cluster to initialize. During this time, you can call the DescribeClustersV1 operation to check the cluster status. After the cluster is created, you can call the DescribeClusterUserKubeconfig operation to obtain the cluster\'s kubeconfig file.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteClusterNodePool'], ], + ], + 'ramActions' => [ [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the NAT gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test0', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', + ], + 'DeleteClusterNodes' => [ + 'summary' => 'You can call this operation to remove one or more nodes from a cluster. The `ReleaseNode` parameter controls whether to release the underlying ENS compute instance, and its default value is `false`. If a node being removed is in the `failed` state, this parameter is ignored and the corresponding compute instance is released by default. For an ENS compute instance attached via a script from the `DescribeAttachScript` operation, this parameter is also ignored, and the instance is not released by default.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'NatGatewayIds', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of the NAT gateways. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nat-5****4ik', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensWT1XPU', 'FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'EnsRegionIds', + 'name' => 'ClusterId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'PageNumber', + 'name' => 'Body', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The page number. Pages start from page **1**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'type' => 'object', + 'properties' => [ + 'Nodes' => [ + 'type' => 'array', + 'items' => ['description' => 'The node ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '["i-5xxxxxxxxxxx"]'], + 'required' => true, + 'maxItems' => 20, + 'description' => 'A list of nodes to remove.', + 'title' => '', + 'example' => '', + ], + ], + 'required' => true, + 'description' => 'The request body.', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'ReleaseNode', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. The maximum value is **100**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'Specifies whether to release the underlying ENS instance for the node. Default value: `true`.', 'type' => 'boolean', 'default' => 'true', 'title' => '', 'required' => false, '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' => '2818A8F4-5E2B-5611-8732-5ACF7B677059', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The number of NAT gateways that are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'NatGateways' => [ - 'description' => 'The details of the NAT gateways.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the NAT gateway.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-xiangyang-5', - ], - 'NatGatewayId' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5s2ml1olj0kzaws9n1yrj****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-5szpp1os9m55myirbflfw****', - ], - 'Name' => [ - 'description' => 'The name of the NAT gateway.'."\n", - 'type' => 'string', - 'example' => 'test0', - ], - 'CreationTime' => [ - 'description' => 'The time when the NAT gateway 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-11-22T07:03:32Z', - ], - 'Spec' => [ - 'description' => 'The type of the NAT gateway.'."\n", - 'type' => 'string', - 'example' => 'enat.default', - ], - 'Status' => [ - 'description' => 'The status of the NAT gateway. Valid values:'."\n" - ."\n" - .'* **Creating**: After you send a request to create a NAT gateway, the system creates the NAT gateway in the background. The NAT gateway remains in the Creating state until the operation is completed.'."\n" - .'* **Available**: The NAT gateway is in the Available state after the creation is complete.'."\n" - .'* **Deleting**: After you send a request to delete a NAT gateway, the system deletes the NAT gateway in the background. The NAT gateway remains in the Deleting state until the operation is completed.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'IpLists' => [ - 'description' => 'The EIPs that are associated with the NAT gateway.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The EIP that is associated with the NAT gateway.'."\n", - 'type' => 'object', - 'properties' => [ - 'UsingStatus' => [ - 'description' => 'The association between the EIP and the Internet NAT gateway. Valid values:'."\n" - ."\n" - .'* **UsedByForwardTable**: The EIP is specified in a DNAT entry.'."\n" - .'* **UsedBySnatTable**: The EIP is specified in an SNAT entry.'."\n" - .'* **Idle**: The EIP is not specified in an SNAT entry or a DNAT entry.'."\n", - 'type' => 'string', - 'example' => 'Idle', - ], - 'IpAddress' => [ - 'description' => 'The EIP.'."\n", - 'type' => 'string', - 'example' => '8.XX.XX.162', - ], - 'AllocationId' => [ - 'description' => 'The ID of the EIP.'."\n", - 'type' => 'string', - 'example' => 'eip-50g****', - ], - ], - ], - ], - 'Tags' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'TestValue', - ], - 'Key' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagKey' => [ - 'description' => '', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '', - 'type' => 'string', - 'deprecated' => true, - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'title' => '', + 'description' => 'The response object.', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DeleteClusterNodes', + 'description' => 'If you set the `ReleaseNode` parameter to `false`, you must manually stop the kubelet process on the node before calling this operation. Otherwise, the node may automatically rejoin the cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteClusterNodes'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteClusterNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2818A8F4-5E2B-5611-8732-5ACF7B677059\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 49,\\n \\"PageSize\\": 10,\\n \\"NatGateways\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-xiangyang-5\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"NetworkId\\": \\"n-5s2ml1olj0kzaws9n1yrj****\\",\\n \\"VSwitchId\\": \\"vsw-5szpp1os9m55myirbflfw****\\",\\n \\"Name\\": \\"test0\\",\\n \\"CreationTime\\": \\"2021-11-22T07:03:32Z\\",\\n \\"Spec\\": \\"enat.default\\",\\n \\"Status\\": \\"Available\\",\\n \\"IpLists\\": [\\n {\\n \\"UsingStatus\\": \\"Idle\\",\\n \\"IpAddress\\": \\"8.XX.XX.162\\",\\n \\"AllocationId\\": \\"eip-50g****\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 2818A8F4-5E2B-5611-8732-5ACF7B677059\\n 1\\n 49\\n 10\\n \\n cn-xiangyang-5\\n nat-5t7nh1cfm6kxiszlttr38****\\n n-5s2ml1olj0kzaws9n1yrj****\\n vsw-5szpp1os9m55myirbflfw****\\n test0\\n 2021-11-22T07:03:32Z\\n enat.default\\n \\n","errorExample":""}]', - 'title' => 'DescribeNatGateways', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', ], - 'CreateForwardEntry' => [ - 'summary' => 'Adds a Destination Network Address Translation (DNAT) entry to a DNAT table.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteDisk' => [ + 'summary' => 'Deletes a disk.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', + 'operationType' => 'delete', + 'abilityTreeCode' => '4360', + 'abilityTreeNodes' => ['FEATUREensA8B7J7'], ], 'parameters' => [ [ - 'name' => 'NatGatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Network Address Translation (NAT) gateway.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nat-5t7nh1cfm6kxiszlttr383xpo', - ], - ], - [ - 'name' => 'ExternalIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The elastic IP address (EIP) that is used to access the Internet.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '121.11.36.28', - ], - ], - [ - 'name' => 'ExternalPort', + 'name' => 'DiskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The external port or port range that is used for port forwarding.'."\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 (/), such as 10/20.'."\n" - .'* If you set ExternalPort to a port range, you must also set InternalPort to a port range. The number of ports in the port ranges must be the same. For example, if you set ExternalPort to 10/20, you can set InternalPort to 80/90.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '22', - ], + 'schema' => ['description' => 'The ID of the disk.', 'type' => 'string', 'required' => true, 'example' => 'd-5va95bg6i5f44kgkeuazyfcxm', 'title' => ''], ], - [ - 'name' => 'InternalIp', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10.0.0.13', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3ABEEB76-1976-55AB-B884-3D65CA6A4743', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InternalPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The internal port or port range that is used for port forwarding.'."\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 (/), such as 10/20.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '22', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - [ - 'name' => 'ForwardEntryName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the DNAT entry. The name must be 2 to 128 characters in length. The name cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test0', - 'maxLength' => 128, - ], + ], + 'title' => 'DeleteDisk', + 'description' => 'When you release a disk, the disk must be in the Available state.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDisk'], ], + ], + 'ramActions' => [ [ - 'name' => 'IpProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol. Valid values:'."\n" - ."\n" - .'* **TCP**: forwards TCP packets.'."\n" - .'* **UDP**: forwards UDP packets.'."\n" - .'* **Any** (default): forwards all packets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Any', - 'enum' => [ - 'TCP', - 'UDP', - 'Any', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"3ABEEB76-1976-55AB-B884-3D65CA6A4743\\"\\n}","type":"json"}]', + ], + 'DeleteEip' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The probe port. The port must be within the internal port range. By default, this parameter is left empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'StandbyExternalIp', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The secondary EIP that is used to access the Internet. You need to select a secondary EIP that is bound to NAT. After the DNAT entry is created, the secondary EIP takes effect.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '101.XXX.XXX.4', - ], + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'i-5sg1owx0g4ojy66ab2tez77r2'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EF6D6FA4-DACA-5822-A981-81006271D263', - ], - 'ForwardEntryId' => [ - 'description' => 'The ID of the DNAT entry.'."\n", - 'type' => 'string', - 'example' => 'fwd-5tc07cw14metghn3siv4ak8do', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '9341CDC2-D6AC-5992-86C8-D5774CFCC708'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.NatNotFound', - 'errorMessage' => 'The specified Nat is not found.', - ], - [ - 'errorCode' => 'InvalidParameter.ExternalIp', - 'errorMessage' => 'The specified externalIp is not found.', - ], - [ - 'errorCode' => 'Forbidden.ExternalIpUsedInSnat', - 'errorMessage' => 'Forbidden.ExternalIpUsedInSnat', - ], - [ - 'errorCode' => 'InvalidParameter.InternalIpNotFound', - 'errorMessage' => 'The input parameter internalIp that is not found.', - ], - [ - 'errorCode' => 'Forbidden.ExternalPort.Duplicated', - 'errorMessage' => 'The specified ExternalPort is duplicated.', - ], - [ - 'errorCode' => 'ForwardEntryLimitExceed', - 'errorMessage' => 'The limit of forward entry in the nat reaches.', - ], - [ - 'errorCode' => 'InvalidParameter.HealthCheckPort', - 'errorMessage' => 'HealthCheckPort is not in the range of InternalPort', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'System is busy, please try again later.', - ], - [ - 'errorCode' => 'InvalidParameter.InternalIp', - 'errorMessage' => 'The specified parameter internalIp is invalid.', - ], - [ - 'errorCode' => 'InvalidPort.Malformed', - 'errorMessage' => 'The specified port is not a valid port.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EF6D6FA4-DACA-5822-A981-81006271D263\\",\\n \\"ForwardEntryId\\": \\"fwd-5tc07cw14metghn3siv4a****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n EF6D6FA4-DACA-5822-A981-81006271D263\\n fwd-5tc07cw14metghn3siv4a****\\n","errorExample":""}]', - 'title' => 'CreateForwardEntry', - ], - 'DeleteForwardEntry' => [ - 'summary' => 'Deletes a Destination Network Address Translation (DNAT) entry from a specified DNAT table.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteEip', + 'summary' => 'Deletes a pay-as-you-go elastic IP address (EIP).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEip'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteEip', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9341CDC2-D6AC-5992-86C8-D5774CFCC708\\"\\n}","type":"json"}]', + ], + 'DeleteEnsRouteEntry' => [ + 'summary' => 'Deletes a custom route entry.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20365,791 +9318,699 @@ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '128376', + 'abilityTreeNodes' => ['FEATUREensGMWJSM'], ], 'parameters' => [ [ - 'name' => 'ForwardEntryId', + 'name' => 'RouteEntryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the DNAT entry that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'fwd-5tfk8qgepr9ijjkqxt8do****', - ], + 'schema' => ['description' => 'The ID of the route that you want to delete.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'rte-8vbmb2890wiret5maqq25'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.DnatNotFound', - 'errorMessage' => 'The specified dnat is not found.', - ], - [ - 'errorCode' => 'IncorretDnatEntryStatus', - 'errorMessage' => 'Dnat entry status blocked this operation.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidRouteEntry.SystemRoute', 'errorMessage' => 'Specified operation is denied as route entry type is system.', 'description' => 'This operation cannot be performed because the route is a system route.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidRouteEntryId.NotFound', 'errorMessage' => 'Specified RouteEntryId does not exist.', 'description' => 'The specified route ID does not exist.'], + ['errorCode' => 'IncorrectStatus.RouteEntry', 'errorMessage' => 'The status of the routeEntry is incorrect.', 'description' => 'The state of the current route does not support the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DeleteForwardEntry', - ], - 'ModifyForwardEntry' => [ - 'summary' => 'Modifies a Destination Network Address Translation (DNAT) rule.', - 'methods' => [ - 'post', - 'get', + 'title' => 'DeleteEnsRouteEntry', + 'changeSet' => [ + ['createdAt' => '2024-12-26T08:26:39.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEnsRouteEntry'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteEnsRouteEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteEpnInstance' => [ + 'summary' => 'Deletes an edge private network (EPN) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '143970', - 'abilityTreeNodes' => [ - 'FEATUREensJ0M44X', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '4363', + 'abilityTreeNodes' => ['FEATUREensI1ZRKE'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ForwardEntryId', + 'name' => 'EPNInstanceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the DNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dnat-5tfjp3537mi6iokl59g5c****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DeleteEpnInstance', + 'description' => 'You can delete an EPN instance only when the instance group information is empty.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:52.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEpnInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ForwardEntryName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the DNAT entry. The name must be 2 to 128 characters in length. It cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test0', - 'maxLength' => 128, + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteFileSystem' => [ + 'summary' => 'Deletes a File Storage NAS file system.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The probe port. The port must be within the internal port range. By default, this parameter is left empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ [ - 'name' => 'ExternalIp', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The EIP in the DNAT entry. The public IP address is used to access the Internet.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '121.XXX.XXX.28', - ], + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => true, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], ], [ - 'name' => 'ExternalPort', + 'name' => 'FileSystemId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the file system that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'e42640****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The external port or port range that is used for port forwarding.'."\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 (/), such as 10/20. The first port and the last port are included.'."\n" - .'* If you set ExternalPort to a port range, you must also set InternalPort to a port range. The number of ports in the port ranges must be the same. For example, if you set ExternalPort to 10/20, you can set InternalPort to 80/90.'."\n" - .'* The maximum port range is 1000.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Instance.NotFound', 'errorMessage' => 'The instance was not found.Please confirm whether the instance exists.', 'description' => 'The instance that you want to delete cannot be found.'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', 'description' => ''], + ['errorCode' => 'Nas.Mount.Tatget.Entity.Not.Null', 'errorMessage' => 'There are still mount points under the file system.Please delete the mount point first', 'description' => ''], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DeleteFileSystem', + 'changeSet' => [ + ['createdAt' => '2022-08-30T05:58:20.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteFileSystem'], + ], + ], + 'ramActions' => [ [ - 'name' => 'InternalIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.XXX.XXX.50', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DeleteFileSystem', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', + ], + 'DeleteForwardEntry' => [ + 'summary' => 'Deletes a Destination Network Address Translation (DNAT) entry from a specified DNAT table.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InternalPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The private port or port range that is used in port forwarding.'."\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 (/), such as 10/20. The first port and the last port are included.'."\n" - .'* If you set InternalPort to a port range, you must also set ExternalPort to a port range. The number of ports in the port ranges must be the same. For example, if you set ExternalPort to 10/20, you can set InternalPort to 80/90.'."\n" - .'* The maximum port range is 1000.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'IpProtocol', + 'name' => 'ForwardEntryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol. Valid values:'."\n" - ."\n" - .'* **TCP**: forwards TCP packets.'."\n" - .'* **UDP**: forwards UDP packets.'."\n" - .'* **Any** (default): forwards all packets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Any', - 'enum' => [ - 'TCP', - 'UDP', - 'Any', - ], - ], + 'schema' => ['description' => 'The ID of the DNAT entry that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'fwd-5tfk8qgepr9ijjkqxt8do****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.DnatNotFound', - 'errorMessage' => 'The specified dnat is not found.', - ], - [ - 'errorCode' => 'IncorretDnatEntryStatus', - 'errorMessage' => 'Dnat entry status blocked this operation.', - ], - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'Instance not found, please check the InstanceId.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'Forbidden.ExternalPort.Duplicated', - 'errorMessage' => 'The specified ExternalPort is duplicated.', - ], - [ - 'errorCode' => 'InvalidExternalIp.NotFound', - 'errorMessage' => 'Specified ExternalIp does not found on the NAT Gateway.', - ], - [ - 'errorCode' => 'InvalidPort.Malformed', - 'errorMessage' => 'The specified ExternalPort or InternalPort is not a valid port.', - ], - [ - 'errorCode' => 'Forbidden.ExternalIpUsedInSnat', - 'errorMessage' => 'The external ip is already in use in the snat rule.', - ], - [ - 'errorCode' => 'InvalidParameter.HealthCheckPort', - 'errorMessage' => 'HealthCheckPort is not in the range of InternalPort.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DnatNotFound', 'errorMessage' => 'The specified dnat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'IncorretDnatEntryStatus', 'errorMessage' => 'Dnat entry status blocked this operation.', 'description' => 'Dnat status is incorrect, please check Dnat status.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'ModifyForwardEntry', - ], - 'DescribeForwardTableEntries' => [ - 'summary' => 'Queries Destination Network Address Translation (DNAT) entries that you created.', - 'methods' => [ - 'get', - 'post', + 'title' => 'DeleteForwardEntry', + 'changeSet' => [ + ['createdAt' => '2024-06-28T01:51:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-03-31T07:10:45.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteForwardEntry'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteForwardEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteHaVips' => [ + 'summary' => 'Deletes a high-availability VIP (HAVIP).', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '128825', - 'abilityTreeNodes' => [ - 'FEATUREensSHG96R', - ], + 'abilityTreeCode' => '203967', + 'abilityTreeNodes' => ['FEATUREensVS72SQ'], ], 'parameters' => [ [ - 'name' => 'NatGatewayId', + 'name' => 'HaVipIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', + 'title' => '', + 'description' => 'The IDs of high-availability virtual IP addresses (HAVIPs).', + 'type' => 'array', + 'items' => ['description' => 'The ID of the HAVIP.', 'type' => 'string', 'required' => false, 'example' => 'havpid-id', 'title' => ''], 'required' => true, - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', + 'maxItems' => 100, + 'example' => '', ], ], - [ - 'name' => 'ForwardEntryId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the DNAT entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'fwd-5tfi6f0rutmd00xrhkag7****', + 'title' => 'Schema of Response', + 'description' => 'The information returned.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968'], + ], + 'example' => '', ], ], - [ - 'name' => 'ExternalIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The EIP in the DNAT entry. The public IP address is used to access the Internet.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '36.XXX.XXX.72', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteHaVips', + 'changeSet' => [ + ['createdAt' => '2025-03-27T03:09:58.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHaVips'], ], + ], + 'ramActions' => [ [ - 'name' => 'InternalIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.XXX.XXX.50', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteHaVips', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'HaVip', 'arn' => 'acs:ens::{#accountId}:havip/{#HaVipIds}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\"\\n}","type":"json"}]', + ], + 'DeleteImage' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ForwardEntryName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the DNAT entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test0', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '2550', + 'abilityTreeNodes' => ['FEATUREens10C7IY'], + ], + 'parameters' => [ [ - 'name' => 'IpProtocol', + 'name' => 'ImageId', 'in' => 'query', + 'schema' => ['description' => 'The image ID. Only a single ID is supported.'."\n" + ."\n" + .'Only custom images are supported.', 'type' => 'string', 'required' => true, 'example' => 'm-5taesrgwpo9zqj9cjqu792****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The protocol. Valid values:'."\n" - ."\n" - .'* **TCP**: forwards TCP packets.'."\n" - .'* **UDP**: forwards UDP packets.'."\n" - .'* **Any**: forwards all packets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The business code. The value 0 is returned for success.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0D94920B-0349-5097-A57F-31876405F2E5', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'Forbidden.DelerrorteImage', 'errorMessage' => 'The image cannot be deleted when used by instance.', 'description' => 'The specified image has been used to create an instance and cannot be deleted.'], + ['errorCode' => 'Error.DeleteImage', 'errorMessage' => 'The image cannot be deleted when used by instance.', 'description' => ''], + ['errorCode' => 'IncorrectStatus.Image', 'errorMessage' => 'The current status of the image does not support this operation.', 'description' => 'The current image state does not support this operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'Delete an image', + 'summary' => 'Deletes a custom image.', + 'changeSet' => [ + ['createdAt' => '2024-11-19T08:11:47.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-05-12T03:02:07.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteImage'], + ], + ], + 'ramActions' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteImage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Image', 'arn' => 'acs:ens::{#accountId}:image/{#ImageId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"0D94920B-0349-5097-A57F-31876405F2E5\\"\\n}","type":"json"}]', + ], + 'DeleteKeyPairs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: **100**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'AK' => [], ], ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'ForwardTableEntries' => [ - 'description' => 'Details of DNAT entries.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'NatGatewayId' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', - 'example' => 'nat-5tawjw5j7sgd2deujxuk0****', - ], - 'ForwardEntryId' => [ - 'description' => 'The ID of the DNAT entry.'."\n", - 'type' => 'string', - 'example' => 'fwd-5tf66679oi2uoxcvlg0g2****', - ], - 'ExternalIp' => [ - 'description' => 'The EIP in the DNAT entry. The public IP address is used to access the Internet.'."\n", - 'type' => 'string', - 'example' => '120.XXX.XXX.70', - ], - 'ExternalPort' => [ - 'description' => 'The external port or port range that is used in port forwarding.'."\n", - 'type' => 'string', - 'example' => '22', - ], - 'InternalIp' => [ - 'description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.'."\n", - 'type' => 'string', - 'example' => '10.XXX.XXX.3', - ], - 'InternalPort' => [ - 'description' => 'The internal port or port range that is used for port forwarding.'."\n", - 'type' => 'string', - 'example' => '22', - ], - 'ForwardEntryName' => [ - 'description' => 'The name of the DNAT entry.'."\n", - 'type' => 'string', - 'example' => 'test0', - ], - 'Status' => [ - 'description' => 'The status of the DNAT entry. Valid values:'."\n" - ."\n" - .'* Pending: The DNAT entry is being created or modified.'."\n" - .'* Available: The DNAT entry is available.'."\n" - .'* Deleting: The DNAT entry is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'IpProtocol' => [ - 'description' => 'The protocol. Valid values:'."\n" - ."\n" - .'* **TCP**: forwards TCP packets.'."\n" - .'* **UDP**: forwards UDP packets.'."\n" - .'* **Any**: forwards all packets.'."\n", - 'type' => 'string', - 'example' => 'Any', - ], - 'HealthCheckPort' => [ - 'description' => 'The probe port of DNAT.'."\n", - 'type' => 'string', - 'example' => '80', - ], - 'StandbyExternalIp' => [ - 'description' => 'The secondary EIP that is used to access the Internet.'."\n", - 'type' => 'string', - 'example' => '101.XXX.XXX.7', - ], - 'StandbyStatus' => [ - 'description' => 'The status of the secondary EIP. Valid values:'."\n" - ."\n" - .'* Running'."\n" - .'* Stopping'."\n" - .'* Stopped'."\n" - .'* Starting'."\n", - 'type' => 'string', - 'example' => 'Stopped', - ], - ], - ], - ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '1152', + 'abilityTreeNodes' => ['FEATUREensCT6YHH'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair. The name must conform to the following naming conventions:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + ."\n" + .'- The name must start with a letter and cannot start with `http://` or `https://`.'."\n" + ."\n" + .'- The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'Before you delete a key pair, you can call the DescribeKeyPairs operation to query existing key pairs.', 'type' => 'string', 'required' => false, 'example' => 'TestKeyPairName', 'title' => ''], + ], + [ + 'name' => 'KeyPairId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SSH key pair.', 'type' => 'string', 'required' => false, 'example' => 'ssh-5lywanlkih1zo9yl8eg****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E ', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.NatNotFound', - 'errorMessage' => 'The specified Nat is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'PubKeyNameExisted', 'errorMessage' => 'Public Key Pair Name Existed.', 'description' => 'Key pair name already exists'], + ['errorCode' => 'PubKeyAttachedWithInstance', 'errorMessage' => 'Public Key Attached With Instance.', 'description' => 'Key already bound to instance'], + ['errorCode' => 'InvalidPubKeyBody', 'errorMessage' => 'Invalid Public Key Body.', 'description' => 'Illegal key'], + ['errorCode' => 'PubKeyNameNotExist', 'errorMessage' => 'Public Key Pair Name Not Exist.', 'description' => 'Key pair name does not exist'], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"TotalCount\\": \\"100\\",\\n \\"PageSize\\": \\"10\\",\\n \\"ForwardTableEntries\\": [\\n {\\n \\"NatGatewayId\\": \\"nat-5tawjw5j7sgd2deujxuk0****\\",\\n \\"ForwardEntryId\\": \\"fwd-5tf66679oi2uoxcvlg0g2****\\",\\n \\"ExternalIp\\": \\"120.XXX.XXX.70\\",\\n \\"ExternalPort\\": \\"22\\",\\n \\"InternalIp\\": \\"10.XXX.XXX.3\\",\\n \\"InternalPort\\": \\"22\\",\\n \\"ForwardEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"IpProtocol\\": \\"Any\\",\\n \\"HealthCheckPort\\": \\"80\\",\\n \\"StandbyExternalIp\\": \\"101.XXX.XXX.7\\",\\n \\"StandbyStatus\\": \\"Stopped\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 100\\n 10\\n \\n nat-5tawjw5j7sgd2deujxuk0****\\n fwd-5tf66679oi2uoxcvlg0g2****\\n 120.XXX.XXX.70\\n 22\\n 10.XXX.XXX.3\\n 22\\n test0\\n Available\\n Any\\n 80\\n \\n","errorExample":""}]', - 'title' => 'DescribeForwardTableEntries', - ], - 'CreateSnatEntry' => [ - 'summary' => 'Adds a source network address translation (SNAT) entry to a specified SNAT table.', - 'methods' => [ - 'post', - 'get', + 'title' => 'DeleteKeyPairs', + 'summary' => 'Deletes SSH key pairs.', + 'description' => '- After you delete an SSH key pair, you can no longer query the key pair by calling the DescribeKeyPairs operation.'."\n" + ."\n" + .'- If you delete an SSH key pair that is bound to an Edge Node Service (ENS) instance, ENS no longer stores the SSH key pair. However, you can still use the key pair to access the instance. When you call the DescribeInstance operation to query instance information, no other information but the name of the key pair (**KeyPairName**) is returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-01-22T05:49:35.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-21T08:03:41.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-10-17T07:58:53.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteKeyPairs'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteKeyPairs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\\\t\\"\\n}","type":"json"}]', + ], + 'DeleteLoadBalancerListener' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '128818', - 'abilityTreeNodes' => [ - 'FEATUREensHCNR8B', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '15344', + 'abilityTreeNodes' => ['FEATUREensU6BJRP'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'NatGatewayId', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Network Address Translation (NAT) gateway.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nat-5tawjw5j7sgd2deujxuk0****', - ], + 'schema' => ['description' => 'The frontend port that is used by the Edge Load Balance (ELB) instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '8080', 'title' => ''], ], [ - 'name' => 'SnatIp', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The elastic IP address (EIP) in the SNAT entry. Separate multiple EIPs with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '120.XXX.XXX.71', - ], + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5snthcyu1x10g7tywj7iu****', 'title' => ''], ], [ - 'name' => 'SourceVSwitchId', + 'name' => 'ListenerProtocol', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the vSwitch that you need to access over the Internet. This parameter specifies that Edge Node Service (ENS) instances in the vSwitch can use the SNAT entry to access the Internet.'."\n" + 'description' => 'The frontend protocol that is used by the ELB instance.'."\n" ."\n" - .'> If you specify **SourceVSwitchId** and **SourceCIDR**, **SourceVSwitchId** does not take effect. The value that you specified for **SourceCIDR** takes precedence.'."\n", + .'> This parameter is required if the same port is used by listeners that use different protocols.', 'type' => 'string', + 'enum' => ['tcp', 'udp', 'http', 'https'], 'required' => false, - 'example' => 'vsw-bp1hwx7gi495q260p****', + 'example' => 'tcp', + 'title' => '', ], ], - [ - 'name' => 'SourceCIDR', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The CIDR block. You can specify the CIDR block of a network, a vSwitch, or an instance. You can also specify a custom CIDR block. All instances within the CIDR block can access the Internet or external networks by using SNAT.'."\n" - ."\n" - .'> If you specify **SourceVSwitchId** and **SourceCIDR**, **SourceVSwitchId** does not take effect. The value that you specified for **SourceCIDR** takes precedence.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.0.0/24', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', ], ], - [ - 'name' => 'SnatEntryName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the SNAT entry. The name must be 1 to 128 characters in length. The name cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test0', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'The input parameter listener that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectListenerStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The listener status is incorrect.'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DeleteLoadBalancerListener', + 'summary' => 'Deletes a listener.', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2021-05-20T09:23:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:00.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:00.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteLoadBalancerListener'], ], + ], + 'ramActions' => [ [ - 'name' => 'SourceNetworkId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network. This parameter specifies that all ENS instances in the network can use the SNAT entry to access the Internet.'."\n" - ."\n" - .'> If you specify **SourceNetworkId** and **SourceVSwitchId** or **SourceCIDR**, **SourceNetworkId** does not take effect. The value that you specified for **SourceCIDR** takes precedence. Priority: **SourceCIDR** > **SourceVSwitchId** > **SourceNetworkId**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-2zeuphj08tt7q3brd****', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteLoadBalancerListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteMountTarget' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'StandbySnatIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The secondary EIP in the SNAT entry. Separate multiple secondary EIPs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '101.XXX.XXX.7', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ [ - 'name' => 'IdleTimeout', + 'name' => 'FileSystemId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for idle connections. Valid values: **1** to **86400**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '15', - ], + 'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'example' => 'c50f8*****', 'title' => ''], ], [ - 'name' => 'IspAffinity', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable operator affinity. Value taking:'."\n" - ."\n" - .'- false:Do not open.'."\n" - .'- true:Open.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing-cmcc', 'title' => ''], ], [ - 'name' => 'EipAffinity', + 'name' => 'MountTargetName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable IP affinity. If you do not specify this parameter, IP affinity is enabled by default. Valid values:'."\n" - ."\n" - .'* **false**'."\n" - .'* **true**'."\n" - ."\n" - .'> After you enable IP affinity, if multiple EIPs are associated with an SNAT entry, one client uses the same EIP to for communication. If IP affinity is disabled, the client uses a random EIP for communication.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The name of the mount target.', 'type' => 'string', 'required' => true, 'example' => 'TestMountPath', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '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' => '018EED6A-69CA-58C8-A345-498927D5D34E', - ], - 'SnatEntryId' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'example' => 'snat-5tc08qfj5ecblfdn2rqr9****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Forbidden.SourceCIDR.NotSupport', - 'errorMessage' => 'SourceCIDR support intranet cidr only.', - ], - [ - 'errorCode' => 'InvalidParameter.NatNotFound', - 'errorMessage' => 'The specified Nat is not found.', - ], - [ - 'errorCode' => 'InvalidParameter.SnatIp', - 'errorMessage' => 'The specified SnatIp is not found.', - ], - [ - 'errorCode' => 'SnatEntryLimitExceed', - 'errorMessage' => 'The limit of snat entry in the network reaches. ', - ], - [ - 'errorCode' => 'SnatIpLimitExceed', - 'errorMessage' => 'The Snat pool ip too many.', - ], - [ - 'errorCode' => 'InvalidParameter.SourceNetworkId', - 'errorMessage' => 'The specified parameter SourceNetworkId is invalid.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'Forbidden.SourceCIDR.Duplicated', - 'errorMessage' => 'The specified sourceCIDR is duplicated.', - ], - [ - 'errorCode' => 'Forbidden.SnatIpUsedInDnat', - 'errorMessage' => 'The snatIp is already in use in the DNAT rule.', - ], - [ - 'errorCode' => 'InvalidParameter.SourceCIDR', - 'errorMessage' => 'The specified parameter SourceCIDR is invalid.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'Specified virtual switch does not exist.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidMountTarget.NotExisted', 'errorMessage' => 'The specified mount target does not exist. ', 'description' => ''], + ['errorCode' => 'EdgeNasError', 'errorMessage' => 'EdgeNasError', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"018EED6A-69CA-58C8-A345-498927D5D34E\\",\\n \\"SnatEntryId\\": \\"snat-5tc08qfj5ecblfdn2rqr9****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 018EED6A-69CA-58C8-A345-498927D5D34E\\n snat-5tc08qfj5ecblfdn2rqr9****\\n","errorExample":""}]', - 'title' => 'CreateSnatEntry', - ], - 'DeleteSnatEntry' => [ - 'summary' => 'Deletes a source network address translation (SNAT) entry from a specified SNAT table.', - 'methods' => [ - 'get', - 'post', + 'title' => 'DeleteMountTarget', + 'summary' => 'Deletes a mount target.', + 'description' => 'After you delete a mount target, the mount target cannot be restored. Proceed with caution.', + 'changeSet' => [ + ['createdAt' => '2022-08-30T06:19:04.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMountTarget'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DeleteMountTarget', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', + ], + 'DeleteNatGateway' => [ + 'summary' => 'Deletes an Internet network address translation (NAT) gateway.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21159,191 +10020,310 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '130974', + 'abilityTreeNodes' => ['FEATUREensEFSRBY'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'SnatEntryId', + 'name' => 'NatGatewayId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SNAT entry that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'snat-5tfi6f8gds82mjmlofeym****', - ], + 'schema' => ['description' => 'The ID of the NAT gateway that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], + ], + [ + 'name' => 'ForceDelete', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to forcefully delete the NAT instance.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.SnatNotFound', - 'errorMessage' => 'The specified snat is not found.', - ], - [ - 'errorCode' => 'IncorretSnatEntryStatus', - 'errorMessage' => 'Snat entry status blocked this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NatNotFound', 'errorMessage' => 'The specified Nat is not found.', 'description' => 'The specified parameter Nat does not exist.'], + ['errorCode' => 'DependencyViolation.NatRule', 'errorMessage' => 'DependencyViolation.SNAT/DNAT', 'description' => ''], + ['errorCode' => 'DependencyViolation.Eip', 'errorMessage' => 'DependencyViolation.Eip', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'No instance ID found. Enter a valid instance ID.', 'description' => 'No instance ID found. Enter a valid instance ID.'], + ], + ], + 'title' => 'DeleteNatGateway', + 'changeSet' => [ + ['createdAt' => '2025-04-07T06:28:41.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-03-13T06:10:33.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-03-31T07:10:52.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNatGateway'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteNatGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DeleteSnatEntry', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], - 'DescribeSnatTableEntries' => [ - 'summary' => 'Queries source network address translation (SNAT) entries.', - 'methods' => [ - 'get', + 'DeleteNetwork' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => true, 'example' => 'n-5***', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidNetworkId.NotFound', 'errorMessage' => 'Network not found', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'DependencyViolation.VSwitch', 'errorMessage' => 'Specified network has vswitch.', 'description' => 'There is also a virtual switch under the network.'], + ['errorCode' => 'DependencyViolation.RouteEntry', 'errorMessage' => 'Specified network has route entry.', 'description' => 'There are also custom routes under the network.'], + ['errorCode' => 'DependencyViolation.CloudInstance', 'errorMessage' => 'Specified network has nat cloud instance.', 'description' => 'The network also contains cloud instances.'], + ['errorCode' => 'DependencyViolation.NAT', 'errorMessage' => 'Specified network has nat instance.', 'description' => 'There are also NAT instances under the network.'], + ['errorCode' => 'DependencyViolation.NetworkAcl', 'errorMessage' => 'Specified network has network acl.', 'description' => 'There is also a network ACL under this network.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DeleteNetwork', + 'summary' => 'Deletes a virtual private cloud (VPC).', + 'changeSet' => [ + ['createdAt' => '2024-06-25T08:17:09.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-04-13T09:10:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-09-08T05:56:36.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetwork'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteNetwork', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteNetworkAcl' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '128820', - 'abilityTreeNodes' => [ - 'FEATUREensSHG96R', - ], + 'abilityTreeNodes' => ['FEATUREensRPFZ7X'], ], 'parameters' => [ [ - 'name' => 'NatGatewayId', + 'name' => 'NetworkAclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Network Address Translation (NAT) gateway.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nat-5tawjw5j7sgd2deujxuk0****', - ], + 'schema' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'required' => true, 'example' => 'nacl-bp1lhl0taikrbgnh****', 'title' => ''], ], - [ - 'name' => 'SnatEntryId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'snat-5tfjp36fsrb36zs36faj0****', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'NetworkAclIdNotFound', 'errorMessage' => 'The specified instance does not exist. Please check whether the instance ID is correct.', 'description' => ''], + ['errorCode' => 'DependencyNetworkViolation', 'errorMessage' => 'A bound network can be deleted only after it is unbound', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied. ', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ], + ], + 'title' => 'DeleteNetworkAcl', + 'summary' => 'Deletes a network access control list (ACL).', + 'changeSet' => [ + ['createdAt' => '2022-09-08T03:07:52.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkAcl'], + ], + ], + 'ramActions' => [ [ - 'name' => 'SnatIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The elastic IP address (EIP) specified in the SNAT entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '58.XXXX.XXX.29', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:DeleteNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteNetworkAclEntry' => [ + 'summary' => 'Deletes a network access control list (ACL) rule.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SourceCIDR', - 'in' => 'query', - 'schema' => [ - 'description' => 'The source CIDR block specified in the SNAT entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.1.0.50/32', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ [ - 'name' => 'SnatEntryName', + 'name' => 'NetworkAclEntryId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the network ACL for which you want to delete a rule.', 'type' => 'string', 'required' => false, 'example' => 'nae-5****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the SNAT entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test0', - 'maxLength' => 128, + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'InvalidNetworkAclEntryId.NotFound', 'errorMessage' => 'The special Network Acl Entry is not found. ', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DeleteNetworkAclEntry', + 'changeSet' => [ + ['createdAt' => '2022-09-08T05:56:37.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkAclEntry'], + ], + ], + 'ramActions' => [ [ - 'name' => 'SnatIps', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The information about the EIP specified in the SNAT entry.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the EIP specified in the SNAT entry.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '58.XXXX.XXX.30', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DeleteNetworkAclEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 100, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteNetworkInterfaces' => [ + 'summary' => 'Deletes an elastic network interface (ENI).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**.'."\n" - ."\n" - .'Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'NetworkInterfaceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The number of entries per page. The maximum value is **100**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + 'description' => 'The IDs of the elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => false, 'example' => 'eni-gw85i6jmetcnyucnyfjm', 'title' => ''], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], ], @@ -21351,511 +10331,209 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The number of SNAT entries that are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'SnatTableEntries' => [ - 'description' => 'The details of the SNAT entries.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the SNAT entry.'."\n", - 'type' => 'object', - 'properties' => [ - 'NatGatewayId' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', - ], - 'SnatEntryId' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'example' => 'snat-5tfjp3537mi6iokl59g5c****', - ], - 'SnatIp' => [ - 'description' => 'The EIP specified in the SNAT entry.'."\n", - 'type' => 'string', - 'example' => '120.XXX.XXX.71', - ], - 'SourceCIDR' => [ - 'description' => 'The source CIDR block specified in the SNAT entry.'."\n", - 'type' => 'string', - 'example' => '10.0.0.13/32', - ], - 'SnatEntryName' => [ - 'description' => 'The name of the SNAT entry.'."\n", - 'type' => 'string', - 'example' => 'test0', - ], - 'Status' => [ - 'description' => 'The status of the SNAT entry. Valid values:'."\n" - ."\n" - .'* Pending: The SNAT entry is being created or modified.'."\n" - .'* Available: The SNAT entry is available.'."\n" - .'* Deleting: The SNAT entry is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'StandbySnatIp' => [ - 'description' => 'The secondary EIP. Multiple EIPs are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => '101.XXX.XXX.7', - ], - 'StandbyStatus' => [ - 'description' => 'The status of the secondary EIP. Valid values:'."\n" - ."\n" - .'* Running'."\n" - .'* Stopping'."\n" - .'* Stopped'."\n" - .'* Starting'."\n", - 'type' => 'string', - 'example' => 'Stopped', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period for idle connections. Valid values: **1** to **86400**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '900', - ], - 'IspAffinity' => [ - 'description' => 'Whether to enable operator affinity. Value taking:'."\n" - ."\n" - .'- false:Do not open.'."\n" - ."\n" - .'- true:Open.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'EipAffinity' => [ - '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' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.NatNotFound', - 'errorMessage' => 'The specified Nat is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 7,\\n \\"PageSize\\": 10,\\n \\"SnatTableEntries\\": [\\n {\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"SnatEntryId\\": \\"snat-5tfjp3537mi6iokl59g5c****\\",\\n \\"SnatIp\\": \\"120.XXX.XXX.71\\",\\n \\"SourceCIDR\\": \\"10.0.0.13/32\\",\\n \\"SnatEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"StandbySnatIp\\": \\"101.XXX.XXX.7\\",\\n \\"StandbyStatus\\": \\"Stopped\\",\\n \\"IdleTimeout\\": 900,\\n \\"IspAffinity\\": true,\\n \\"EipAffinity\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 7\\n 10\\n \\n nat-5t7nh1cfm6kxiszlttr38****\\n snat-5tfjp3537mi6iokl59g5c****\\n 120.XXX.XXX.71\\n 10.0.0.13/32\\n test0\\n Available\\n \\n","errorExample":""}]', - 'title' => 'DescribeSnatTableEntries', - ], - 'DescribeSnatAttribute' => [ - 'summary' => 'Queries the details of a specific source network address translation (SNAT) entry.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteNetworkInterfaces', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkInterfaces'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DeleteNetworkInterfaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', + ], + 'DeleteNetworkPeerConnection' => [ + 'summary' => 'Deletes a network peer connection.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '168709', - 'abilityTreeNodes' => [ - 'FEATUREensSHG96R', - ], + 'abilityTreeCode' => '251313', + 'abilityTreeNodes' => ['FEATUREensMJ1U79'], ], 'parameters' => [ [ - 'name' => 'SnatEntryId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'snat-5tc08qfj5ecblfdn2rqr9****', - ], + 'schema' => ['description' => 'The instance ID of the network peer connection to delete.', 'type' => 'string', 'required' => true, 'example' => 'pcc-5rr19av7tkpgi9os52ag1****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'NatGatewayId' => [ - 'description' => 'The ID of the Network Address Translation (NAT) gateway.'."\n", - 'type' => 'string', - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', - ], - 'SnatEntryId' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'example' => 'snat-5tfi6f8gds82mjmlofeym****', - ], - 'SnatIp' => [ - 'description' => 'The EIP specified in the SNAT entry. Multiple EIPs are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => '120.72.XX.XX', - ], - 'SourceCIDR' => [ - 'description' => 'The source CIDR block specified in the SNAT entry.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX/24', - ], - 'SnatEntryName' => [ - 'description' => 'The name of the SNAT entry.'."\n", - 'type' => 'string', - 'example' => 'test0', - ], - 'Status' => [ - 'description' => 'The status of the SNAT entry.'."\n" - ."\n" - .'* Pending: The SNAT entry is being created or modified.'."\n" - .'* Available: The SNAT entry is available.'."\n" - .'* Deleting: The SNAT entry is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'CreationTime' => [ - 'description' => 'The time when the entry was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2020-04-26T15:38:27Z', - ], - 'SnatIps' => [ - 'description' => 'The information about the EIP specified in the SNAT entry.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the EIP specified in the SNAT entry.'."\n", - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address.'."\n", - 'type' => 'string', - 'example' => '203.132.XX.XX', - ], - 'Status' => [ - 'description' => 'The status of the IP address.'."\n" - ."\n" - .'* Running'."\n" - .'* Stopping'."\n" - .'* Stopped'."\n" - .'* Starting'."\n" - .'* Releasing'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'CreationTime' => [ - 'description' => 'The time when the IP address was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2020-04-26T15:38:27Z', - ], - ], - ], - ], - 'StandbySnatIp' => [ - 'description' => 'The secondary EIP specified in the SNAT entry. Multiple secondary EIPs are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => '101.23. XX.XX', - ], - 'StandbyStatus' => [ - 'description' => 'The status of the secondary EIP.'."\n" - ."\n" - .'* Running'."\n" - .'* Stopping'."\n" - .'* Stopped'."\n" - .'* Starting'."\n", - 'type' => 'string', - 'example' => 'Stopped', - ], - 'Type' => [ - 'description' => 'The type of the NAT.'."\n" - ."\n" - .'* Empty: symmetric NAT.'."\n" - .'* FullCone: full cone NAT.'."\n", - 'type' => 'string', - 'example' => 'FullCone', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'DestCIDR' => [ - 'description' => 'The destination CIDR block. The rule takes effect only on requests that access the destination CIDR block.'."\n", - 'type' => 'string', - 'example' => '101.10. XX.XX/24', - ], - 'IspAffinity' => [ - 'description' => 'Whether to enable operator affinity. Value taking:'."\n" - .'- false:Do not open.'."\n" - .'- true:Open.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'EipAffinity' => [ - 'description' => 'Specifies whether to enable IP affinity. Valid values:'."\n" - ."\n" - .'* **false**'."\n" - .'* **true**'."\n" - ."\n" - .'> After you enable IP affinity, if multiple EIPs are associated with an SNAT entry, one client uses the same EIP to for communication. If IP affinity is disabled, the client uses a random EIP for communication.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.SnatNotFound', - 'errorMessage' => 'The specified snat is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"SnatEntryId\\": \\"snat-5tfi6f8gds82mjmlofeym****\\",\\n \\"SnatIp\\": \\"120. XXX. XXX.71\\",\\n \\"SourceCIDR\\": \\"10. XXX. XXX.0/24\\",\\n \\"SnatEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\",\\n \\"SnatIps\\": [\\n {\\n \\"Ip\\": \\"203. XXX. XXX.139\\",\\n \\"Status\\": \\"Running\\",\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\"\\n }\\n ],\\n \\"StandbySnatIp\\": \\"101. XXX. XXX.4\\",\\n \\"StandbyStatus\\": \\"Stopped\\",\\n \\"Type\\": \\"FullCone\\",\\n \\"IdleTimeout\\": 10,\\n \\"DestCIDR\\": \\"101. XXX. XXX.0/24\\",\\n \\"IspAffinity\\": true,\\n \\"EipAffinity\\": false\\n}","type":"json"}]', - 'title' => 'DescribeSnatAttribute', - ], - 'AddSnatIpForSnatEntry' => [ - 'summary' => 'Adds an elastic IP address (EIP) to a Source Network Address Translation (SNAT) entry.', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InstanceNotFound.NetworkPeerConnection', 'errorMessage' => 'Network peer connection not found, please check the InstanceId.', 'description' => 'The instance cannot be found, please check the instance ID.'], + ['errorCode' => 'IncorrectStatus.NetworkPeerConnection', 'errorMessage' => 'The status of the network peer connection is incorrect.', 'description' => 'The status of the network peer connection is incorrect.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteNetworkPeerConnection', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'DeleteObject' => [ + 'summary' => 'Deletes an object.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '120837', + 'abilityTreeNodes' => ['FEATUREens4K3NWA'], + ], 'parameters' => [ [ - 'name' => 'SnatEntryId', + 'name' => 'ObjectKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'snat-5xkzf89dndkzh8yg9stzqz9m4', - ], + 'schema' => ['description' => 'The name of the file.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'image5'], ], [ - 'name' => 'SnatIp', + 'name' => 'BucketName', 'in' => 'query', - 'schema' => [ - 'description' => 'The EIP specified in the SNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '219.152.82.144', - ], + 'schema' => ['description' => 'The name of the bucket.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'tets'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CD1FFCC6-5E9E-5C31-A014-13D02737B0EA', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A5626B44-0189-443E-9816-D951F596CC89'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error ', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'Forbidden.SnatIpUsedInDnat', - 'errorMessage' => 'Forbidden.SnatIpUsedInDnat', - ], - [ - 'errorCode' => 'InvalidParameter.SnatIp', - 'errorMessage' => 'The specified SnatIp is not found.', - ], - [ - 'errorCode' => 'SnatIpLimitExceed', - 'errorMessage' => 'The Snat pool ip too many.', - ], - [ - 'errorCode' => 'InvalidParameter.SnatNotFound', - 'errorMessage' => 'The specified snat is not found.', - ], - [ - 'errorCode' => 'IncorretSnatEntryStatus', - 'errorMessage' => 'Snat entry status blocked this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'Auth is not valid.', 'description' => 'This account does not have access permissions.'], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], + ['errorCode' => 'NoSuchKey', 'errorMessage' => 'The specified key does not exist.', 'description' => 'The specified key does not exist.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DeleteObject', + 'changeSet' => [ + ['createdAt' => '2025-04-11T03:11:20.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CD1FFCC6-5E9E-5C31-A014-13D02737B0EA\\"\\n}","type":"json"}]', - 'title' => 'AddSnatIpForSnatEntry', - ], - 'DeleteSnatIpForSnatEntry' => [ - 'summary' => 'Deletes an elastic IP address (EIP) from a source network address translation (SNAT) entry.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteObject'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteObject', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A5626B44-0189-443E-9816-D951F596CC89\\"\\n}","type":"json"}]', + ], + 'DeleteSDG' => [ + 'summary' => 'Deletes a shared data group (SDG).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'SnatEntryId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'snat-5tfi6f8gds82mjmlofeym****', - ], - ], - [ - 'name' => 'SnatIp', + 'name' => 'SDGId', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The EIP that you want to delete from the SNAT entry.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the SDGs that you want to delete.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the SDG that you want to delete. You can delete a maximum of 10 SDGs at a time.', 'type' => 'string', 'required' => false, 'example' => 'sdg-xxx', 'title' => ''], 'required' => true, - 'example' => '120.72.56.71', + 'title' => '', + 'example' => '', ], ], ], @@ -21863,207 +10541,286 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '86A6D421-A0C7-4C01-8648-47377CA6A2CE'], + 'Data' => [ + 'description' => 'The returned data object.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- true: All tasks are successful.'."\n" + ."\n" + .'- false: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about the failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about a failed task.', + 'type' => 'object', + 'properties' => [ + 'Item' => [ + 'description' => 'Description', + 'type' => 'object', + 'properties' => [ + 'SdgId' => ['description' => 'The ID of the shared data group (SDG).', 'type' => 'string', 'example' => 'sdg-dfet5vvvgy', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error ', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'InvalidParameter.SnatNotFound', - 'errorMessage' => 'The specified snat is not found.', - ], - [ - 'errorCode' => 'IncorretSnatEntryStatus', - 'errorMessage' => 'Snat entry status blocked this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.SnatIpNotFound', - 'errorMessage' => 'The specified snat ip not found.', - ], - [ - 'errorCode' => 'IncorretSnatIpStatus', - 'errorMessage' => 'Snat ip status blocked this operation.', - ], - [ - 'errorCode' => 'Forbidden.SnatIp', - 'errorMessage' => 'Snat requires at least one running snat ip', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteSDG', + 'description' => 'If all the SDGs corresponding to the original disk are deleted, the original disk is automatically cleared.', + 'changeSet' => [ + ['createdAt' => '2024-06-27T11:11:06.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-03-22T07:11:26.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => 'DeleteSnatIpForSnatEntry', - ], - 'StartSnatIpForSnatEntry' => [ - 'summary' => 'Starts the elastic IP address (EIP) specified in a source network address translation (SNAT) entry.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DeleteSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86A6D421-A0C7-4C01-8648-47377CA6A2CE\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"SuccessCount\\": 1,\\n \\"FailedItems\\": [\\n {\\n \\"Item\\": {\\n \\"SdgId\\": \\"sdg-dfet5vvvgy\\"\\n },\\n \\"ErrMessage\\": \\"sdg not found\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'DeleteSecurityGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '1714', + 'abilityTreeNodes' => ['FEATUREensJVII2K'], + 'tenantRelevance' => 'tenant', + ], 'parameters' => [ [ - 'name' => 'SnatEntryId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'snat-5tfi6f8gds82mjmlofeym****', - ], - ], - [ - 'name' => 'SnatIp', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The EIP specified in the SNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '219.152.82.143', - ], + 'schema' => ['description' => 'The security group ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4ph***', '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' => '85BBD491-CE05-5BDA-979E-843FE52B74CF', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error ', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'InvalidParameter.SnatNotFound', - 'errorMessage' => 'The specified snat is not found.', - ], - [ - 'errorCode' => 'IncorretSnatEntryStatus', - 'errorMessage' => 'Snat entry status blocked this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.SnatIpNotFound', - 'errorMessage' => 'The specified snat ip not found.', - ], - [ - 'errorCode' => 'IncorretSnatIpStatus', - 'errorMessage' => 'Snat ip status blocked this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'SecurityGroupRule.NotFound', 'errorMessage' => 'The input security group rule does not exist.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified InstanceId does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'DependencyViolation', 'errorMessage' => 'There is still instance(s) in the specified security group.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DeleteSecurityGroup', + 'summary' => 'Deletes a security group.', + 'description' => 'Before you delete a security group, make sure that no instances exist in the security group.', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85BBD491-CE05-5BDA-979E-843FE52B74CF\\"\\n}","type":"json"}]', - 'title' => 'StartSnatIpForSnatEntry', - ], - 'StopSnatIpForSnatEntry' => [ - 'summary' => 'Disables an elastic IP address (EIP) in a source network address translation (SNAT) entry.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSecurityGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteSecurityGroupPermissions' => [ + 'summary' => 'Deletes an ENS security group rule.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '255795', + 'abilityTreeNodes' => ['FEATUREensMBU7KJ'], + ], 'parameters' => [ [ - 'name' => 'SnatEntryId', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'snat-5tfi6f8gds82mjmlofeym****', - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4p**** ', 'title' => ''], ], [ - 'name' => 'SnatIp', + 'name' => 'Permissions', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The EIP specified in the SNAT entry.'."\n", - 'type' => 'string', + 'description' => 'The security group rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The security group rule.', + 'type' => 'object', + 'properties' => [ + 'Direction' => [ + 'description' => 'The direction in which the security group rule is applied.'."\n" + ."\n" + .'- egress'."\n" + ."\n" + .'- ingress', + 'type' => 'string', + 'required' => true, + 'enum' => ['egress', 'ingress'], + 'example' => 'ingress', + 'title' => '', + ], + 'IpProtocol' => [ + 'description' => 'Protocol type. Valid values:'."\n" + ."\n" + .'- TCP'."\n" + ."\n" + .'- UDP'."\n" + ."\n" + .'- ICMP: the ICMP protocol'."\n" + ."\n" + .'- ICMPv6: the IPv6 ICMP protocol.'."\n" + ."\n" + .'- ALL: All protocols are supported.', + 'type' => 'string', + 'required' => true, + 'enum' => ['TCP', 'UDP', 'ICMP', 'ALL', 'GRE', 'tcp', 'udp', 'icmp', 'all', 'gre', 'icmpv6', 'ICMPV6'], + 'example' => 'TCP', + 'title' => '', + ], + 'PortRange' => ['description' => 'The destination port range of the security group rule. Valid values:'."\n" + ."\n" + .'- If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" + ."\n" + .'- If you set IpProtocol to ICMP, the port range is -1/-1.'."\n" + ."\n" + .'- If you set IpProtocol to ALL, the port number range is -1/-1.', 'type' => 'string', 'required' => true, 'example' => '80/80', 'title' => ''], + 'SourcePortRange' => ['description' => 'The range of source port numbers for the protocols specified in the security group rule. Valid values:'."\n" + ."\n" + .'- If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" + ."\n" + .'- If you set IpProtocol to ICMP, the port range is -1/-1.'."\n" + ."\n" + .'- If you set IpProtocol to ALL, the port range is -1/-1.', 'type' => 'string', 'required' => false, 'example' => '22/22', 'title' => ''], + 'Policy' => [ + 'description' => 'The action specified in the security group rule. Valid values:'."\n" + ."\n" + .'- Accept'."\n" + ."\n" + .'- Drop', + 'type' => 'string', + 'required' => true, + 'enum' => ['Accept', 'Drop'], + 'example' => 'Accept', + 'title' => '', + ], + 'DestCidrIp' => ['description' => 'The destination IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.', 'type' => 'string', 'required' => false, 'example' => '10.XX.XX.91', 'title' => ''], + 'SourceCidrIp' => ['description' => 'The source IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.', 'type' => 'string', 'required' => false, 'example' => '0.XX.XX.0/0', 'title' => ''], + 'Priority' => ['description' => 'The priority of the security group rule. A smaller value specifies a higher priority. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], + 'Ipv6SourceCidrIp' => ['description' => 'The source IPv6 CIDR block of the security group rule. IPv6 CIDR blocks and IPv6 addresses are supported.'."\n" + ."\n" + .'> This parameter and the `DestCidrIp` parameter cannot be set at the same time.', 'type' => 'string', 'required' => false, 'example' => '::/0', 'title' => ''], + 'Ipv6DestCidrIp' => ['description' => 'The destination IPv6 CIDR block. IPv6 CIDR blocks and IPv6 addresses are supported.'."\n" + ."\n" + .'> This parameter and the `DestCidrIp` parameter cannot be set at the same time.', 'type' => 'string', 'required' => false, 'example' => '::/0', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => true, - 'example' => '221.178.103.143', + 'maxItems' => 200, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], ], @@ -22071,4022 +10828,3299 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9A415CB9-7591-566F-924B-32709578756B', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error ', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'InvalidParameter.SnatNotFound', - 'errorMessage' => 'The specified snat is not found.', - ], - [ - 'errorCode' => 'IncorretSnatEntryStatus', - 'errorMessage' => 'Snat entry status blocked this operation.', - ], - [ - 'errorCode' => 'InvalidParameter.SnatIpNotFound', - 'errorMessage' => 'The specified snat ip not found.', - ], - [ - 'errorCode' => 'IncorretSnatIpStatus', - 'errorMessage' => 'Snat ip status blocked this operation.', - ], - [ - 'errorCode' => 'Forbidden.SnatIp', - 'errorMessage' => 'Snat requires at least one running snat ip', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.PortRange', 'errorMessage' => 'The parameter PortRange is not valid.', 'description' => 'The port range is not configured correctly.'], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'InvalidParameter.CidrIp', 'errorMessage' => 'The parameter CidrIp is not valid.', 'description' => 'The security group rule CIDR block parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SourceIpConflict', 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.', 'description' => 'Parameter SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.'], + ['errorCode' => 'InvalidParameter.DestIpConflict', 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.', 'description' => 'Parameter DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.'], + ['errorCode' => 'InvalidParameter.Ipv4ProtocolConflictWithIpv6Address', 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', 'description' => 'The IPv4 protocol cannot specify an IPv6 address.'], + ['errorCode' => 'InvalidParameter.Ipv6ProtocolConflictWithIpv4Address', 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', 'description' => 'The IPv6 protocol cannot specify an IPv4 address.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9A415CB9-7591-566F-924B-32709578756B\\"\\n}","type":"json"}]', - 'title' => 'StopSnatIpForSnatEntry', - ], - 'CreateLoadBalancer' => [ - 'summary' => 'Creates an Edge Load Balancer (ELB) instance.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteSecurityGroupPermissions', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSecurityGroupPermissions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSecurityGroupPermissions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', + ], + 'DeleteSnapshot' => [ + 'summary' => 'Deletes a snapshot.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '18910', - 'abilityTreeNodes' => [ - 'FEATUREens6EB2HM', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'title' => 'ENS节点ID。', - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-chengdu-telecom', - ], - ], - [ - 'name' => 'LoadBalancerSpec', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的名称。', - 'description' => 'The specification of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'elb.s2.medium', - ], - ], - [ - 'name' => 'LoadBalancerName', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的名称。', - 'description' => 'The name of the ELB instance. The name must be 1 to 80 characters in length. If you leave this parameter empty, the system randomly allocates a name as the value of this parameter.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'gcs-pre-websocket-eslb-telecom', - ], - ], - [ - 'name' => 'PayType', - 'in' => 'query', - 'schema' => [ - 'title' => '付费类型。PostPaid(目前只支持此种):按量付费', - 'description' => 'The billing method of the cluster. Valid value: PostPaid. PostPaid specifies the pay-as-you-go billing method.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'PostPaid', - 'enum' => [ - 'PostPaid', - ], - ], - ], - [ - 'name' => 'NetworkId', - 'in' => 'query', - 'schema' => [ - 'title' => '要创建的ELB实例的网络ID', - 'description' => 'The network ID of the created ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-5sax03dh2eyagujgsn7z9****', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'title' => '专有网络实例的所属的交换机ID。', - 'description' => 'The ID of the vSwitch to which the internal-facing ELB instance belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vsw-5s78haoys9oylle6ln71m****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. This prevents repeated operations caused by multiple retries.'."\n" - ."\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 only contain ASCII characters and cannot exceed 64 characters in length.'."\n" - .'* If you retry an API request with the same client token and request parameters after it has completed successfully, the result of the original request is returned. The server status does not change.'."\n" - .'* You can initiate a retry when the operation times out or the error code is PROCESSING. The idempotence is valid. If HTTP status code 200 is returned, the client receives the same result as the last request. However, your server status is not affected. If HTTP status code 4xx is returned and error code is not PROCESSING, the idempotence is invalid.'."\n" - .'* A client token is valid for 10 minutes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '26C28756-2586-17AF-B802-0DC50D8FDEBB', - ], - ], - [ - 'name' => 'BillingCycle', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'default' => 'Month', - 'enum' => [ - 'Hour', - 'Month', - ], - ], - ], - [ - 'name' => 'LoadBalancerType', + 'name' => 'SnapshotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'default' => 'CLB', - 'enum' => [ - 'CLB', - 'InternetDR', - ], - ], + 'schema' => ['description' => 'The ID of the snapshot.', 'type' => 'string', 'required' => true, 'example' => 'sp-bp1c0doj0taqyzzl****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '1ECC937A-AE0E-4626-BE51-DED1D6D1C888', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-5s7crik3yo3bp03gqrbp5****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch to which the ELB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'vsw-5savh5ngxh8sbj14bu7n****', - ], - 'LoadBalancerName' => [ - 'description' => 'The name of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'gcs-pre-websocket-****', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5sax03dh2eyagujgsn7z9****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'Processing', - 'errorMessage' => 'Request is in progress, please try again later.', - ], + ['errorCode' => 'INSTANCE_ID_NOT_FOUND', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation', 'description' => ''], + ['errorCode' => 'ERROR_SNAPSHOT_COPY_IN_PROGRESS', 'errorMessage' => 'Destination site has incomplete snapshot copy or delete sequence.', 'description' => 'Destination site has incomplete snapshot copy or delete sequence.'], + ['errorCode' => 'DISK_SNAPSHOT_STATUS_NOT_MATCH', 'errorMessage' => 'Snapshot status mismatch.', 'description' => 'Snapshot status mismatch.'], + ['errorCode' => 'ERROR_SNAPSHOT_NOT_FOUND', 'errorMessage' => 'The specified snapshot does not exist.', 'description' => 'The specified snapshot does not exist.'], + ['errorCode' => 'SNAPSHOT_CLONE_DISK_NOT_NULL', 'errorMessage' => 'Clone disk exists for this snapshot.', 'description' => 'Clone disk exists for this snapshot.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\",\\n \\"LoadBalancerId\\": \\"lb-5s7crik3yo3bp03gqrbp5****\\",\\n \\"VSwitchId\\": \\"vsw-5savh5ngxh8sbj14bu7n****\\",\\n \\"LoadBalancerName\\": \\"gcs-pre-websocket-****\\",\\n \\"NetworkId\\": \\"n-5sax03dh2eyagujgsn7z9****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\n lb-5s7crik3yo3bp03gqrbp5****\\n vsw-5savh5ngxh8sbj14bu7n****\\n gcs-pre-websocket-****\\n n-5sax03dh2eyagujgsn7z9****\\n","errorExample":""}]', - 'title' => 'CreateLoadBalancer', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 5 times per second per user.'."\n", - ], - 'ModifyLoadBalancerAttribute' => [ - 'summary' => 'Modifies the information about an Edge Load Balancer (ELB) instance.', - 'methods' => [ - 'get', - 'post', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteSnapshot', + 'changeSet' => [ + ['createdAt' => '2024-09-26T01:43:49.000Z', 'description' => 'Error codes changed'], ], - 'security' => [ + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSnapshot'], + ], + ], + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '16810', - 'abilityTreeNodes' => [ - 'FEATUREensKQ0M0M', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteSnatEntry' => [ + 'summary' => 'Deletes a source network address translation (SNAT) entry from a specified SNAT table.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], - 'tenantRelevance' => 'tenant', ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5q73cv04zeyh43lh74lp4gtm8', - ], - ], - [ - 'name' => 'LoadBalancerName', + 'name' => 'SnatEntryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ELB instance. The name must be **2** to **128** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - 'maxLength' => 128, - 'minLength' => 2, - ], + 'schema' => ['description' => 'The ID of the SNAT entry that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'snat-5tfi6f8gds82mjmlofeym****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SnatNotFound', 'errorMessage' => 'The specified snat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'Snat entry status blocked this operation.', 'description' => 'Snat status is not correct, please check Snat status.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'ModifyLoadBalancerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'SetLoadBalancerStatus' => [ - 'summary' => 'Modifies the status of an Edge Load Balancer (ELB) instance.', - 'methods' => [ - 'get', - 'post', + 'title' => 'DeleteSnatEntry', + 'changeSet' => [ + ['createdAt' => '2024-06-28T01:51:54.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSnatEntry'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteSnatIpForSnatEntry' => [ + 'summary' => 'Deletes an elastic IP address (EIP) from a source network address translation (SNAT) entry.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '16809', - 'abilityTreeNodes' => [ - 'FEATUREensU6BJRP', - ], - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'SnatEntryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5t18quoohsrc3xkf86spmnu77', - ], + 'schema' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'snat-5tfi6f8gds82mjmlofeym****', 'title' => ''], ], [ - 'name' => 'LoadBalancerStatus', + 'name' => 'SnatIp', 'in' => 'query', - 'schema' => [ - 'description' => 'The new instance status. Valid values:'."\n" - ."\n" - .'* **Active**'."\n" - .'* **InActive**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Active', - 'enum' => [ - 'InActive', - 'Active', - ], - ], + 'schema' => ['description' => 'The EIP that you want to delete from the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => '120.72.56.71', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error ', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'InvalidParameter.SnatNotFound', 'errorMessage' => 'The specified snat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'Snat entry status blocked this operation.', 'description' => 'Snat status is not correct, please check Snat status.'], + ['errorCode' => 'InvalidParameter.SnatIpNotFound', 'errorMessage' => 'The specified snat ip not found.', 'description' => ''], + ['errorCode' => 'IncorretSnatIpStatus', 'errorMessage' => 'Snat ip status blocked this operation.', 'description' => ''], + ['errorCode' => 'Forbidden.SnatIp', 'errorMessage' => 'Snat requires at least one running snat ip', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'SetLoadBalancerStatus', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'DescribeLoadBalancerAttribute' => [ - 'summary' => 'Queries detailed information about an Edge Load Balancer (ELB) instance.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteSnatIpForSnatEntry', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSnatIpForSnatEntry'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteStorageGateway' => [ + 'summary' => 'Deletes a storage gateway.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '14488', - 'abilityTreeNodes' => [ - 'FEATUREensU6BJRP', - ], + 'abilityTreeNodes' => ['FEATUREensEFSRBY'], ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'GatewayId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5rcvo1n1t3hykfhhjwjgq****', - ], + 'schema' => ['description' => 'The ID of the gateway.', 'type' => 'string', 'required' => true, 'example' => 'sgw-****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-5rcvo1n1t3hykfhhjwjgqp****', - ], - 'LoadBalancerName' => [ - 'description' => 'The name of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'example', - ], - 'LoadBalancerStatus' => [ - 'description' => 'The status of the ELB instance. Valid values:'."\n" - ."\n" - .'* **Active** (default): The listener for the instance can forward the received traffic based on the rule.'."\n" - .'* **InActive**: The listener for the instance does not forward the received traffic.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-telecom', - ], - 'Address' => [ - 'description' => 'The IP address that the Edge Load Balancer (ELB) instance uses to provide services.'."\n", - 'type' => 'string', - 'example' => '192.168XX.XX', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5rwbi3g9zvgxcsiufwhw8****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-5s78m2pdr9osa0j64bn78****', - ], - 'Bandwidth' => [ - 'description' => 'The peak bandwidth of the ELB. The default value is -1, which indicates that the bandwidth is unlimited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'LoadBalancerSpec' => [ - 'description' => 'The specifications of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'elb.s2.medium', - ], - 'CreateTime' => [ - 'description' => 'The time when the ELB instance was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-05-21T12:22:00Z', - ], - 'EndTime' => [ - 'description' => 'The time when the ELB instance was disabled.'."\n", - 'type' => 'string', - 'example' => '2020-05-21T12:22:00Z', - ], - 'ListenerPorts' => [ - 'description' => 'The frontend ports that are used by the ELB instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The frontend port that is used by the ELB instance.'."\n", - 'type' => 'string', - 'example' => '80', - ], - ], - 'BackendServers' => [ - 'description' => 'The list of backend servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of backend servers.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerId' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'i-5vb5h5njxiuhn48a****', - ], - 'Ip' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX'."\n", - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Type' => [ - 'description' => 'The type of backend server.'."\n", - 'type' => 'string', - 'example' => 'ens', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - ], - ], - ], - 'ListenerPortsAndProtocols' => [ - 'description' => 'The frontend ports and protocols that are used by the ELB instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The frontend port and protocol that are used by the ELB instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'ListenerPort' => [ - 'description' => 'The listener port of the instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'ListenerProtocol' => [ - 'description' => 'The listener protocol of the instance.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'Description' => [ - 'description' => 'The description of the listener.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ListenerForward' => [ - 'description' => 'Indicates whether the listener is enabled.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'ForwardPort' => [ - 'description' => 'The destination listening port to which requests are forwarded.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'BackendServerPort' => [ - 'description' => 'The backend port that is used by the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6000', - ], - ], - ], - ], - 'AddressIPVersion' => [ - 'description' => 'The IP version of the ELB instance. Valid values: ipv4 and ipv6.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - 'PayType' => [ - 'description' => 'The billing method. Valid values:'."\n" - ."\n" - .'* **PrePaid**: subscription.'."\n" - .'* **PostPaid**: pay-as-you-go. Only this billing method is supported.'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'LoadBalancerType' => [ - 'type' => 'string', - ], - 'AddressType' => [ - 'type' => 'string', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '853D6E71-E087-1557-B65C-32BFBEE5CD97'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'VolumeBind', 'errorMessage' => 'Storage volumes bound to the instance.', 'description' => 'Storage volumes bound to the instance'], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'No instance ID found. Enter a valid instance ID.', 'description' => 'No instance ID found. Enter a valid instance ID.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LoadBalancerId\\": \\"lb-5rcvo1n1t3hykfhhjwjgqp****\\",\\n \\"LoadBalancerName\\": \\"example\\",\\n \\"LoadBalancerStatus\\": \\"Active\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom\\",\\n \\"Address\\": \\"192.168.XX.XX\\",\\n \\"NetworkId\\": \\"n-5rwbi3g9zvgxcsiufwhw8****\\",\\n \\"VSwitchId\\": \\"vsw-5s78m2pdr9osa0j64bn78****\\",\\n \\"Bandwidth\\": -1,\\n \\"LoadBalancerSpec\\": \\"elb.s2.medium\\",\\n \\"CreateTime\\": \\"2019-05-21T12:22:00Z\\",\\n \\"EndTime\\": \\"2020-05-21T12:22:00Z\\",\\n \\"ListenerPorts\\": [\\n \\"80\\"\\n ],\\n \\"BackendServers\\": [\\n {\\n \\"ServerId\\": \\"i-5vb5h5njxiuhn48a****\\",\\n \\"Ip\\": \\"192.168.XX.XX\\\\n\\",\\n \\"Port\\": \\"0\\",\\n \\"Type\\": \\"ens\\",\\n \\"Weight\\": 100\\n }\\n ],\\n \\"ListenerPortsAndProtocols\\": [\\n {\\n \\"ListenerPort\\": 8080,\\n \\"ListenerProtocol\\": \\"tcp\\",\\n \\"Description\\": \\"test\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": 0,\\n \\"BackendServerPort\\": 6000\\n }\\n ],\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"LoadBalancerType\\": \\"\\",\\n \\"AddressType\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n lb-5rcvo1n1t3hykfhhjwjgqp****\\n example\\n Active\\n cn-chengdu-telecom\\n
192.168.0.1
\\n n-5rwbi3g9zvgxcsiufwhw8****\\n vsw-5s78m2pdr9osa0j64bn78****\\n 2000\\n elb.s2.medium\\n 2019-05-21T12:22:00Z\\n 2020-05-21T12:22:00Z\\n 80\\n \\n i-5vb5h5njxiuhn48a****\\n 192.168.0.5\\n\\n 0\\n ens\\n 100\\n \\n \\n 8080\\n tcp\\n test\\n off\\n 0\\n \\n ipv4\\n PostPaid\\n
","errorExample":""}]', - 'title' => 'DescribeLoadBalancerAttribute', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - ], - 'DescribeLoadBalancers' => [ - 'summary' => 'Queries the Edge Load Balance (ELB) instances that you have created.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteStorageGateway', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStorageGateway'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteStorageGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"853D6E71-E087-1557-B65C-32BFBEE5CD97\\"\\n}","type":"json"}]', + ], + 'DeleteStorageVolume' => [ + 'summary' => 'Deletes a storage volume.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '14851', - 'abilityTreeNodes' => [ - 'FEATUREensU6BJRP', - ], - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'VolumeId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-guangzhou-10', - ], + 'schema' => ['description' => 'The ID of the volume.', 'type' => 'string', 'required' => true, 'example' => 'sv-***', 'title' => ''], ], - [ - 'name' => 'ServerId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5f67ffjc004wwz0t****', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '853D6E71-E087-1557-B65C-32BFBEE5CD97'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'INSTANCE_ID_NOT_FOUND', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation', 'description' => ''], + ['errorCode' => 'ERROR_VOLUME_STATUS', 'errorMessage' => 'The storage volume status is unavailable', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteStorageVolume', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStorageVolume'], + ], + ], + 'ramActions' => [ [ - 'name' => 'LoadBalancerStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the listener for the ELB instance. Valid values:'."\n" - ."\n" - .'* **Active**: The listener for the instance can forward the received traffic based on forwarding rules.'."\n" - .'* **InActive**: The listener for the instance does not forward the received traffic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InActive', - 'enum' => [ - 'InActive', - 'Active', - 'Locked', - 'Releasing', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteStorageVolume', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"853D6E71-E087-1557-B65C-32BFBEE5CD97\\"\\n}","type":"json"}]', + ], + 'DeleteVSwitch' => [ + 'summary' => 'Deletes a vSwitch.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-5q73cv04zeyh43lh74lp4****', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '2183', + 'abilityTreeNodes' => ['FEATUREensD2JHRI'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'LoadBalancerName', + 'name' => 'VSwitchId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => true, 'example' => 'vsw-5m9xhl****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the ELB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example', - 'maxLength' => 128, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DeleteVSwitch', + 'description' => 'Before you delete a vSwitch, make sure that no instances exist in the vSwitch.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:43.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVSwitch'], + ], + ], + 'ramActions' => [ [ - 'name' => 'NetworkId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-5s9ayrxsd9hszrlt5fgv2****', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteVSwitch', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeployInstanceSDG' => [ + 'summary' => 'Deploy SDG to a compute instance.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5sy773iy25rulsmgskmba****', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'Address', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The IP address that the ELB instance uses to provide services.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX'."\n", + 'description' => 'The IDs of the instances. The value is a JSON array that consists of up to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the Android in Container (AIC) instance.', 'type' => 'string', 'required' => false, 'example' => '["aic-1", "aic-2", "aic-3"]', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'SDGId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of the Edge Node Service (ENS) nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the Edge Node Service (ENS) nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'DeploymentType', 'in' => 'query', + 'allowEmptyValue' => false, 'schema' => [ - 'description' => 'The page number. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The deployment type of the SDG. shared: shared read/write splitting deployment. The content of the SDG is read-only, and data updates are written to the local storage of the instance.', + 'type' => 'string', + 'enum' => ['shared'], 'required' => false, - 'example' => '1', - 'default' => '1', + 'example' => 'shared', + 'title' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'DiskType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: 10. Valid values: **10** to **100**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '100', - 'default' => '10', - ], + 'schema' => ['description' => 'The disk type of the shared disk to be generated:'."\n" + ."\n" + .'- standard (standard disk).'."\n" + ."\n" + .'- rbd (RBD disk).'."\n" + ."\n" + .'> * If the shared disk type is not specified, a standard disk is generated by default.'."\n" + .'>'."\n" + .'> * RBD shared disks can be generated only when the source disk type is RBD.', 'type' => 'string', 'required' => false, 'example' => 'standard', 'title' => ''], ], [ - 'name' => 'LoadBalancerType', + 'name' => 'DiskAccessProtocol', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'enum' => [ - 'CLB', - 'InternetDR', - ], - ], + 'schema' => ['description' => 'The protocol type for disk access:'."\n" + ."\n" + .'- iscsi: The default protocol for standard disks. Both RBD disks and standard disks support this protocol.'."\n" + ."\n" + .'- rbd: The default protocol for RBD disks. Only RBD disks support this mount protocol.', 'type' => 'string', 'required' => false, 'example' => 'iscsi', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page. Default value: 10. Valid values: **10** to **100**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'TotalCount' => [ - 'description' => 'The number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'LoadBalancers' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + 'Data' => [ + 'description' => 'The returned data object.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'LoadBalancer' => [ - 'description' => 'An array of ELB instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'An array of CLB instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', - ], - 'LoadBalancerName' => [ - 'description' => 'The name of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'example', - ], - 'LoadBalancerStatus' => [ - 'description' => 'The status of the listener for the ELB instance. Valid values:'."\n" - ."\n" - .'* **Active**: The listener for the instance can forward the received traffic based on forwarding rules.'."\n" - .'* **InActive**: The listener for the instance does not forward the received traffic.'."\n", - 'type' => 'string', - 'example' => 'InActive', - ], - 'Address' => [ - 'description' => 'The IP address that the ELB instance uses to provide services.'."\n", - 'type' => 'string', - 'example' => '10.10.XX.XX', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-wuhan-telecom', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5rz0rj1caexauilpsjx0w****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-5rllcjb3ol6duzjdnbm1om****', - ], - 'CreateTime' => [ - 'description' => 'The time when the ELB instance was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-05-06T11:13:41Z', - ], - 'AddressIPVersion' => [ - 'description' => 'The IP version. Valid values: ipv4 and ipv6.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - 'PayType' => [ - 'description' => 'The billing method. Valid values:'."\n" - ."\n" - .'* **PrePaid**: subscription.'."\n" - .'* **PostPaid**: pay-as-you-go. Only this billing method is supported.'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'LoadBalancerType' => [ - 'type' => 'string', - 'default' => 'CLB', - ], - 'AddressType' => [ - 'type' => 'string', + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about the failed tasks.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ErrMessage' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- true: All tasks are successful.'."\n" + ."\n" + .'- false: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 100,\\n \\"TotalCount\\": 1,\\n \\"LoadBalancers\\": {\\n \\"LoadBalancer\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5snthcyu1x10g7tywj7iu****\\",\\n \\"LoadBalancerName\\": \\"example\\",\\n \\"LoadBalancerStatus\\": \\"InActive\\",\\n \\"Address\\": \\"10.10.XX.XX\\",\\n \\"EnsRegionId\\": \\"cn-wuhan-telecom\\",\\n \\"NetworkId\\": \\"n-5rz0rj1caexauilpsjx0w****\\",\\n \\"VSwitchId\\": \\"vsw-5rllcjb3ol6duzjdnbm1om****\\",\\n \\"CreateTime\\": \\"2021-05-06T11:13:41Z\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"LoadBalancerType\\": \\"\\",\\n \\"AddressType\\": \\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 100\\n 6\\n \\n lb-5snthcyu1x10g7tywj7iu****\\n example\\n InActive\\n
10.10.10.10
\\n cn-wuhan-telecom\\n n-5rz0rj1caexauilpsjx0w****\\n vsw-5rllcjb3ol6duzjdnbm1om****\\n 2021-05-06T11:13:41Z\\n ipv4\\n PostPaid\\n
\\n
","errorExample":""}]', - 'title' => 'DescribeLoadBalancers', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'CreateLoadBalancerUDPListener' => [ - 'summary' => 'Creates a User Datagram Protocol (UDP) listener.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Deploy SDG to an instance', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeployInstanceSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DeployInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'DeploySDG' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '15376', - 'abilityTreeNodes' => [ - 'FEATUREens6XC4W4', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '170221', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', + 'description' => 'The IDs of instances on which you want to deploy SDGs. You can deploy SDGs on a maximum of 100 instances at a time.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of instances on which you want to deploy SDGs. You can deploy SDGs on a maximum of 100 instances at a time.', 'type' => 'string', 'required' => false, 'example' => '["aic-1", "aic-2", "aic-3"]', 'title' => ''], 'required' => true, - 'example' => 'lb-5q73cv04zeyh43lh74lp4****', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ListenerPort', + 'name' => 'SDGId', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listener port that is used by Edge Load Balancer (ELB) to receive requests and forward the requests to backend servers. Valid values: **1** to **65535**.'."\n" - ."\n" - .'> You cannot specify ports 250, 4789, or 4790 for UDP listeners. They are system reserved ports.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The SDG ID. This parameter is used to create a disk, which is attached to an instance.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxxx', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'DeploymentType', 'in' => 'query', + 'schema' => ['description' => 'The SDG deployment type. Valid values:'."\n" + ."\n" + .'- common (default): read/write deployment. Data updates are written to disks.'."\n" + ."\n" + .'- overlay: read/write splitting deployment. Content in SDGs is read-only. Data updates are written to the local storage of the instance.', 'type' => 'string', 'required' => false, 'example' => 'common', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example', - 'maxLength' => 80, - 'minLength' => 1, + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A331CA96-3948-4BD2-B067-F6174F5C17EA'], + 'Data' => [ + 'description' => 'The returned data object.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The task result.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details of failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ErrMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- true: All tasks are successful.'."\n" + ."\n" + .'- false: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => 'Schema of Response', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeploySDG', + 'summary' => 'Deploys shared data groups (SDGs).', + 'changeSet' => [ + ['createdAt' => '2024-03-22T07:11:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-02-28T01:27:17.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-11-23T02:05:31.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeploySDG'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'title' => '调度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。 sch:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than backend servers with lower weights. This is the default value.'."\n" - .'* **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections on a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: Consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: Consistent hashing based on Quick UDP Internet Connection (QUIC) IDs. Requests that contain the same QUIC ID are scheduled to the same backend server.'."\n" - .'* **iqch**: Consistent hashing based on three specific bytes of iQUIC CID. Requests with the same second, third, and forth bytes are scheduled to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', - 'sch', - 'qch', - 'iqch', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:DeploySDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A331CA96-3948-4BD2-B067-F6174F5C17EA\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'DescribeAICImages' => [ + 'summary' => 'Retrieve image information.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2-10。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**. Default value: **3**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'UnhealthyThreshold', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2-10。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**. Default value: **3**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', - ], + 'schema' => ['description' => 'The image ID of the AIC instance.', 'type' => 'string', 'required' => false, 'example' => 'm-ad0ddaddc2d54adeaa09b7c0f1e****', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectTimeout', + 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'title' => '接收来自运行状况检查的响应需要等待的时间。 如果后端ENS在指定的时间内没有正确响应,则判定为健康检查失败。 取值:1-300(秒)。默认为5秒', - 'description' => 'The timeout period for a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> If the value of the HealthCheckConnectTimeout parameter is smaller than that of the HealthCheckInterval parameter, the timeout period specified by the HealthCheckConnectTimeout parameter becomes invalid and the value of the HealthCheckInterval parameter is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - ], + 'schema' => ['description' => 'The URL of the AIC image repository.', 'type' => 'string', 'required' => false, 'example' => '****.alibaba-inc.com/aic/socimage:test', 'title' => ''], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的时间间隔。 取值:1-50(秒)。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Default value: **2**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => 'The page number. Pages start from page **1**. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'BackendServerPort', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例后端使用的端口,取值:1~65535', - 'description' => 'The port used by the backend ELB server of the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + 'schema' => ['description' => 'The number of entries per page. The maximum value is **100**. Default value: **10**.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'Status', 'in' => 'query', 'schema' => [ - 'title' => '健康检查使用的端口。取值:1-65535 不设置此参数时,表示使用后端服务端口(BackendServerPort)', - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The status of the image. Valid values:'."\n" + ."\n" + .'- **verifying**'."\n" + ."\n" + .'- **disable**'."\n" + ."\n" + .'- **available**', + 'enumValueTitles' => ['verifying' => 'verifying', 'disable' => 'disable', 'available' => 'available'], + 'type' => 'string', 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', + 'example' => 'available', + 'title' => '', ], ], [ - 'name' => 'HealthCheckReq', + 'name' => 'MinDate', 'in' => 'query', - 'schema' => [ - 'title' => 'UDP监听健康检查的请求串,只允许包含字母、数字,最大长度限制为64个字符。', - 'description' => 'The request string for UDP listener health checks. The string can be up to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hello', - 'maxLength' => 64, - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-01-02', 'title' => ''], ], [ - 'name' => 'HealthCheckExp', + 'name' => 'MaxDate', 'in' => 'query', - 'schema' => [ - 'title' => 'UDP监听健康检查的响应串,只允许包含字母、数字,最大长度限制为64个字符。', - 'description' => 'The response string for UDP listener health checks. The string can be up to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ok', - 'maxLength' => 64, - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-02-02', 'title' => ''], ], [ - 'name' => 'EipTransmit', + 'name' => 'ImageType', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to enable Elastic IP address (EIP) pass-through. Valid values:'."\n" + 'description' => 'The type of the image. Valid values:'."\n" ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", + .'- **public**: public image'."\n" + ."\n" + .'- **private**: custom image', + 'enumValueTitles' => ['private' => 'private', 'public' => 'public'], 'type' => 'string', 'required' => false, - 'example' => 'on', - 'enum' => [ - 'on', - 'off', - ], + 'example' => 'public', + 'title' => '', ], ], [ - 'name' => 'EstablishedTimeout', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a connection. Valid values: **10** to **900**. Default value: **900**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', - ], + 'schema' => ['description' => 'The description of the image.', 'type' => 'string', 'example' => 'Console test operation', 'required' => false, 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '72DC6C0A-D9A8-5345-A2BE-FE354CC728A0'], + 'Images' => [ + 'description' => 'The information about the images.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image.', + 'type' => 'object', + 'properties' => [ + 'ImageUrl' => ['description' => 'The URL of the AIC image repository.', 'type' => 'string', 'example' => '****.alibaba-inc.com/aic/socimage:test', 'title' => ''], + 'ImageId' => ['description' => 'The image ID of the AIC instance.', 'type' => 'string', 'example' => 'm-ad0ddaddc2d54adeaa09b7c0f1e****', 'title' => ''], + 'User' => ['description' => 'The username of the image repository.', 'type' => 'string', 'example' => 'user', 'title' => ''], + 'Status' => ['description' => 'The status of the image. **Available** is returned for this parameter. Available indicates that the image is available.', 'type' => 'string', 'example' => 'available', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the image was created.', 'type' => 'string', 'example' => '2022-01-22 10:54:34', 'title' => ''], + 'Description' => ['description' => 'The description of the image.', 'type' => 'string', 'example' => 'Console test operation', 'title' => ''], + 'AndroidVersion' => ['description' => 'The Android version of the image.', 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n" + ."\n" + .'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' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'The listenerPort already exists.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\n","errorExample":""}]', - 'title' => 'CreateLoadBalancerUDPListener', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'SetLoadBalancerUDPListenerAttribute' => [ - 'summary' => 'Modifies the configurations of a UDP listener.', - 'methods' => [ - 'get', - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"72DC6C0A-D9A8-5345-A2BE-FE354CC728A0\\",\\n \\"Images\\": [\\n {\\n \\"ImageUrl\\": \\"****.alibaba-inc.com/aic/socimage:test\\",\\n \\"ImageId\\": \\"m-ad0ddaddc2d54adeaa09b7c0f1e****\\",\\n \\"User\\": \\"user\\",\\n \\"Status\\": \\"available\\",\\n \\"CreationTime\\": \\"2022-01-22 10:54:34\\",\\n \\"Description\\": \\"Console test operation\\",\\n \\"AndroidVersion\\": \\"10\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1\\n}","type":"json"}]', + 'title' => 'Retrieve image information ', + 'changeSet' => [ + ['createdAt' => '2025-07-08T03:52:43.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-09T03:52:22.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-10-13T03:24:11.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAICImages'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeAICImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeARMServerInstances' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '15896', - 'abilityTreeNodes' => [ - 'FEATUREensKQ0M0M', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '141176', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5pzipr2fszqtl2xf64uy5****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listener port whose attributes are to be modified. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The name of the listener. The valuemust be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example', - 'maxLength' => 80, - 'minLength' => 1, - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'title' => '调度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。 sch:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', - 'sch', - 'qch', - 'iqch', - ], - ], - ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2-10。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', - ], - ], - [ - 'name' => 'UnhealthyThreshold', + 'name' => 'ServerIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2-10。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The IDs of the ARM servers.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ARM server.', 'type' => 'string', 'required' => false, 'example' => 'cas-instance****', 'title' => ''], 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HealthCheckConnectTimeout', + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '接收来自运行状况检查的响应需要等待的时间。 如果后端ENS在指定的时间内没有正确响应,则判定为健康检查失败。 取值:1-300(秒)。默认为5秒', - 'description' => 'The timeout period of a health check response. If the backend ENS does not respond within the specified time, the health check fails.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> If the value of the HealthCheckTimeout property is smaller than the value of the HealthCheckInterval property, the timeout period specified by the HealthCheckTimeout property becomes invalid and the value of the HealthCheckInterval property is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The IDs of the Edge Node Service (ENS) nodes.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的时间间隔。 取值:1-50(秒)。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['description' => 'The page number. Pages start from page **1**.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查使用的端口。取值:1-65535 不设置此参数时,表示使用后端服务端口(BackendServerPort)', - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified for BackendServerPort is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **100**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'HealthCheckReq', + 'name' => 'MinDate', 'in' => 'query', - 'schema' => [ - 'title' => 'UDP监听健康检查的请求串,只允许包含字母、数字,最大长度限制为64个字符。', - 'description' => 'The request string for UDP listener health checks. The string can be up to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hello', - 'maxLength' => 64, - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2006-01-02', 'title' => ''], ], [ - 'name' => 'HealthCheckExp', + 'name' => 'MaxDate', 'in' => 'query', - 'schema' => [ - 'title' => 'UDP监听健康检查的响应串,只允许包含字母、数字,最大长度限制为64个字符。', - 'description' => 'The response string for UDP listener health checks. The string can be up to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ok', - 'maxLength' => 64, - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2006-01-03', 'title' => ''], ], [ - 'name' => 'EipTransmit', + 'name' => 'States', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to enable elastic IP address (EIP) pass-through. Valid values:'."\n" + 'description' => 'The operation statuses.', + 'type' => 'array', + 'items' => ['description' => 'The operation status of the server. Valid values:'."\n" ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', + .'- **success**'."\n" + ."\n" + .'- **failed**'."\n" + ."\n" + .'- **creating**'."\n" + ."\n" + .'- **releasing**'."\n" + ."\n" + .'- **rebooting**'."\n" + ."\n" + .'- **upgrading**', 'type' => 'string', 'required' => false, 'example' => 'success', 'title' => ''], 'required' => false, - 'example' => 'on', - 'enum' => [ - 'on', - 'off', - ], + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'EstablishedTimeout', + 'name' => 'AICSpecs', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The timeout period of a connection. Valid values: **10** to **900**. Default value: **900**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The container specifications.', + 'type' => 'array', + 'items' => ['description' => 'The container specification.', 'type' => 'string', 'required' => false, 'example' => 'aic.cf53r.c2.np', 'title' => ''], 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', - ], - ], - ], - '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' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectListenerStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'Listener is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + [ + 'name' => 'ServerSpecs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The server specifications.', + 'type' => 'array', + 'items' => ['description' => 'The server specification.', 'type' => 'string', 'required' => false, 'example' => 'cas.cf53r', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\n","errorExample":""}]', - 'title' => 'SetLoadBalancerUDPListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - ], - 'DescribeLoadBalancerUDPListenerAttribute' => [ - 'summary' => 'Queries the configuration of a User Datagram Protocol (UDP) listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the server.', 'type' => 'string', 'required' => false, 'example' => 'Server-Name', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'ListenerPort', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The listening port that you want to query. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'The namespace.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'Tags', 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5pzipr2fszqtl2xf64uy5****', + 'maxItems' => 20, + 'docRequired' => false, + 'description' => 'List of tags', + 'title' => 'List of tags ', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['title' => 'tag key ', 'description' => 'tag key', 'type' => 'string', 'example' => 'key-1', 'required' => false], + 'Value' => ['title' => 'tag value ', 'description' => 'tag value', 'type' => 'string', 'example' => 'value-1', 'required' => false], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'example' => '', ], ], + [ + 'name' => 'OrderByParams', + 'in' => 'query', + 'schema' => ['description' => 'The sorting order of the results to return. Valid values: ServerIdSort, ServerNameSort, ExpireTimeSort, CreationTimeSort, and EnsRegionIdSort.'."\n" + ."\n" + .'asc: ascending order. desc: descending order.', 'type' => 'string', 'example' => '{"ServerIdSort":"desc","ServerNameSort":"desc","ExpireTimeSort":"asc"}', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'DescribeAICInstances', + 'in' => 'query', + 'schema' => ['description' => 'Spcifies whether the result contains the container information. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'default' => 'true', 'required' => false, 'example' => 'true', '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' => '5D7597CF-1630-54EC-A945-624A33F2E7E8', - ], - 'ListenerPort' => [ - 'description' => 'The listener port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Starting**'."\n" - .'* **Configuring**'."\n" - .'* **Stopping**'."\n", - 'type' => 'string', - 'example' => 'Stopped', - ], - 'Bandwidth' => [ - 'description' => 'The peak bandwidth of the Edge Load Balancer (ELB) instance. The default value is -1, which indicates that the bandwidth is not limited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Scheduler' => [ - 'description' => 'The routing algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections to a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing that is based on specific three bytes of the iQUIC CIDs. Requests whose second to fourth bytes are the same are distributed to the same backend server.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthCheck' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => 'The timeout period for a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of the HealthCheckTimeout property is smaller than the value of the HealthCheckInterval property, the timeout period specified by the HealthCheckTimeout property becomes invalid and the value of the HealthCheckInterval property is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Description' => [ - 'description' => 'The name of the listener.'."\n", - 'type' => 'string', - 'example' => 'example', - ], - 'BackendServerPort' => [ - 'description' => 'The port used by the backend ELB server of the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8000', - ], - 'HealthCheckReq' => [ - 'description' => 'The request string for UDP listener health checks. The string can be up to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'example' => 'hello', - ], - 'HealthCheckExp' => [ - 'description' => 'The response string for UDP listener health checks. The string can be up to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'example' => 'ok', - ], - 'EipTransmit' => [ - 'description' => 'Indicates whether EIP pass-through is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'EstablishedTimeout' => [ - 'description' => 'The timeout period of a connection. Valid values: **10** to **900**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], + 'Servers' => [ + 'description' => 'The information about the servers and the AIC instances.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the instance was created.', 'type' => 'string', 'example' => '2022-05-07 11:59:09', 'title' => ''], + 'ExpiredTime' => ['description' => 'The time when the instance expires.', 'type' => 'string', 'example' => '2027-05-07 11:59:09', 'title' => ''], + 'AICInstances' => [ + 'description' => 'The information about the AIC instances.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Frequency' => ['description' => 'The refresh rate of the AIC instance. Unit: Hz.', 'type' => 'integer', 'format' => 'int64', 'example' => '120', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the AIC image.', 'type' => 'string', 'example' => 'm-****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'example' => 'aic-instance****', 'title' => ''], + 'NetworkAttributes' => [ + 'description' => 'The network attributes of the AIC instance.', + 'type' => 'object', + 'properties' => [ + 'IpAddress' => ['description' => 'The IP address of the AIC instance.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], + 'NetworkId' => ['description' => 'The network ID of the AIC instance.', 'type' => 'string', 'example' => 'n-*****', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID of the AIC instance.', 'type' => 'string', 'example' => 'vsw-****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'SdgDeployInfo' => [ + 'description' => 'The information about the shared data group (SDG) that is deployed on the AIC instance.', + 'type' => 'object', + 'properties' => [ + 'SDGId' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'example' => 'sdg-xxxxx', 'title' => ''], + 'Status' => ['description' => 'The deployment status of the SDG. Valid values:'."\n" + ."\n" + .'- **sdg\\_deploying**'."\n" + ."\n" + .'- **failed**'."\n" + ."\n" + .'- **success**', 'type' => 'string', 'example' => 'success', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Resolution' => ['description' => 'The resolution of the AIC instance.', 'type' => 'string', 'example' => '1920*1080', 'title' => ''], + 'Spec' => ['description' => 'The specification of the AIC instance.', 'type' => 'string', 'example' => 'aic.cf53r.c2.np', 'title' => ''], + 'State' => ['description' => 'The operation status of the AIC instance. Valid values:'."\n" + ."\n" + .'- **success**'."\n" + ."\n" + .'- **failed**'."\n" + ."\n" + .'- **creating**'."\n" + ."\n" + .'- **releasing**'."\n" + ."\n" + .'- **rebooting**'."\n" + ."\n" + .'- **reseting**', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Status' => ['description' => 'The running status of the AIC instance. Valid values:'."\n" + ."\n" + .'- **running**'."\n" + ."\n" + .'- **pending**'."\n" + ."\n" + .'- **terminating**', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'Name' => ['description' => 'The name of the container.', 'type' => 'string', 'example' => 'AIC-Name', 'title' => ''], + 'LatestAction' => ['description' => 'The operation that was most recently performed.', 'type' => 'string', 'example' => 'ServerCreate', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-hanghzou-27', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the server.', 'type' => 'string', 'example' => 'cas-******', 'title' => ''], + 'SpecName' => ['description' => 'The server specification.', 'type' => 'string', 'example' => 'cas.cf53r', 'title' => ''], + 'State' => ['description' => 'The operation status of the server. Valid values:'."\n" + ."\n" + .'- **success**'."\n" + ."\n" + .'- **failed**'."\n" + ."\n" + .'- **creating**'."\n" + ."\n" + .'- **releasing**'."\n" + ."\n" + .'- **rebooting**'."\n" + ."\n" + .'- **upgrading**', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Status' => ['description' => 'The running status of the server. Valid values:'."\n" + ."\n" + .'- **running**'."\n" + ."\n" + .'- **stopping**'."\n" + ."\n" + .'- **down**'."\n" + ."\n" + .'- **starting**', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'Namespace' => ['description' => 'The namespace of the cluster to which the server belongs.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'Name' => ['description' => 'The name of the server.', 'type' => 'string', 'example' => 'Server-Name', 'title' => ''], + 'PayType' => ['description' => 'The billing method.', 'type' => 'string', 'example' => 'prepay', 'title' => ''], + 'LatestAction' => ['description' => 'The operation that was most recently performed.', 'type' => 'string', 'example' => 'ServerCreate', 'title' => ''], + 'Tags' => [ + 'description' => 'Tag collection.', + 'type' => 'array', + 'items' => [ + 'description' => 'Tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'Tag key.', 'type' => 'string', 'example' => 'key-1', 'title' => ''], + 'Value' => ['description' => 'Tag value.', 'type' => 'string', 'example' => 'value-1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'Listener is not found.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'This service has not been activated.', 'description' => 'This product service has not been activated'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5D7597CF-1630-54EC-A945-624A33F2E7E8\\",\\n \\"ListenerPort\\": 80,\\n \\"Status\\": \\"Stopped\\",\\n \\"Bandwidth\\": 5,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 4,\\n \\"UnhealthyThreshold\\": 4,\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"example\\",\\n \\"BackendServerPort\\": 8080,\\n \\"HealthCheckConnectPort\\": 8000,\\n \\"HealthCheckReq\\": \\"hello\\",\\n \\"HealthCheckExp\\": \\"ok\\",\\n \\"EipTransmit\\": \\"on\\",\\n \\"EstablishedTimeout\\": 500\\n}","errorExample":""},{"type":"xml","example":"\\n 5D7597CF-1630-54EC-A945-624A33F2E7E8\\n 80\\n Stopped\\n 5\\n wrr\\n on\\n 4\\n 4\\n 100\\n 5\\n example\\n 8080\\n 8000\\n hello\\n ok\\n on\\n","errorExample":""}]', - 'title' => 'DescribeLoadBalancerUDPListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'CreateLoadBalancerTCPListener' => [ - 'summary' => 'Creates a Transmission Control Protocol (TCP) listener.', - 'methods' => [ - 'get', - 'post', + 'title' => 'Obtain information about ARM servers and AIC instances ', + 'summary' => 'Obtain information about ARM servers and AIC instances.', + 'changeSet' => [ + ['createdAt' => '2025-05-08T08:42:18.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-11-14T03:05:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T07:39:24.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-08-09T11:32:13.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-05-09T03:52:22.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-03-28T03:30:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-23T09:05:34.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-22T06:24:10.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeARMServerInstances'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeARMServerInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"Servers\\": [\\n {\\n \\"CreationTime\\": \\"2022-05-07 11:59:09\\",\\n \\"ExpiredTime\\": \\"2027-05-07 11:59:09\\",\\n \\"AICInstances\\": [\\n {\\n \\"Frequency\\": 120,\\n \\"ImageId\\": \\"m-****\\",\\n \\"InstanceId\\": \\"aic-instance****\\",\\n \\"NetworkAttributes\\": {\\n \\"IpAddress\\": \\"192.168.XX.XX\\",\\n \\"NetworkId\\": \\"n-*****\\",\\n \\"VSwitchId\\": \\"vsw-****\\"\\n },\\n \\"SdgDeployInfo\\": {\\n \\"SDGId\\": \\"sdg-xxxxx\\",\\n \\"Status\\": \\"success\\"\\n },\\n \\"Resolution\\": \\"1920*1080\\",\\n \\"Spec\\": \\"aic.cf53r.c2.np\\",\\n \\"State\\": \\"success\\",\\n \\"Status\\": \\"running\\",\\n \\"Name\\": \\"AIC-Name\\",\\n \\"LatestAction\\": \\"ServerCreate\\"\\n }\\n ],\\n \\"EnsRegionId\\": \\"cn-hanghzou-27\\",\\n \\"ServerId\\": \\"cas-******\\",\\n \\"SpecName\\": \\"cas.cf53r\\",\\n \\"State\\": \\"success\\",\\n \\"Status\\": \\"running\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Name\\": \\"Server-Name\\",\\n \\"PayType\\": \\"prepay\\",\\n \\"LatestAction\\": \\"ServerCreate\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key-1\\",\\n \\"Value\\": \\"value-1\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 2\\n}","type":"json"}]', + ], + 'DescribeAddon' => [ + 'summary' => 'You can call the DescribeAddon operation to query information about a target component.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '15797', - 'abilityTreeNodes' => [ - 'FEATUREens6XC4W4', - ], + 'abilityTreeNodes' => ['FEATUREensPHDAAN'], + 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5ovkn1piwqmoqrfjdyhq4****', - ], - ], - [ - 'name' => 'ListenerPort', + 'name' => 'AddonName', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listener port that is used by Edge Load Balancer (ELB) to receive requests and forward the requests to backend servers. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The name of the component.', 'type' => 'string', 'required' => true, 'example' => 'edge-csi-lite', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'AddonVersion', 'in' => 'query', - 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The version of the component. If you do not specify this parameter, all active versions are returned by default.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], - [ - 'name' => 'Scheduler', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。 sch:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', - 'sch', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'Addons' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the component.', 'type' => 'string', 'example' => 'edge-csi-lite', 'title' => ''], + 'Version' => ['description' => 'The version of the component.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'CleanupCloudResources' => ['description' => 'Indicates whether to automatically clean up associated cloud resources.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ConfigSchema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The version of the application.', 'type' => 'string', 'example' => '859e9d595b2974ed79c444658d1dea89', 'title' => ''], + 'ConfigVersion' => ['description' => 'The version of the configuration.', 'type' => 'string', 'example' => '4155709cd12a09bdb8cbaca71bf03233', 'title' => ''], + 'Name' => ['description' => 'The name of the component.', 'type' => 'string', 'example' => 'edge-csi-lite', 'title' => ''], + 'Params' => ['description' => 'The custom parameters of the component.', 'type' => 'any', 'example' => '{"key1":"val1"}', 'title' => ''], + ], + 'description' => 'The schema of the custom parameters for the component.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The schema of the custom parameters for the component.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The information about the component.', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'minItems' => 0, + 'description' => 'The information about the component.', + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], - [ - 'name' => 'PersistenceTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '会话保持的超时时间。 取值:0~3600(秒)。 默认值:0,表示关闭会话保持。', - 'description' => 'The timeout period of session persistence.'."\n" - ."\n" - .'* Default value: 0. If the default value is used, the system disables session persistence.'."\n" - .'* Valid values: **0** to **3600**.'."\n" - .'* Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '0', - 'example' => '0', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeAddon', + 'description' => '- Each user is limited to 100 calls per second.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAddon'], ], - [ - 'name' => 'EstablishedTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '连接超时时间。 取值:10~900(秒)。', - 'description' => 'The timeout period of a connection. Valid values: **10** to **900**. Default value: **900**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Version\\": \\"v1\\",\\n \\"CleanupCloudResources\\": \\"true\\",\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"859e9d595b2974ed79c444658d1dea89\\",\\n \\"ConfigVersion\\": \\"4155709cd12a09bdb8cbaca71bf03233\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": \\"{\\\\\\"key1\\\\\\":\\\\\\"val1\\\\\\"}\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeApplication' => [ + 'summary' => 'Queries the basic properties, resources, and container status of an application.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'HealthyThreshold', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值: 2~10。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**. Default value: **3**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', - ], + 'schema' => ['description' => 'The ID of the application. You can call the ListApplications operation to obtain the application ID.', 'type' => 'string', 'required' => true, 'example' => 'a2bac6f4-75dc-455e-8389-2dc8e47526d3', 'title' => ''], ], [ - 'name' => 'UnhealthyThreshold', + 'name' => 'AppVersions', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2~10。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**. Default value: **3**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', - ], + 'schema' => ['description' => 'The version number of the application. Separate multiple version numbers with commas (,). If you want to query data of all versions of applications, specify All for this parameter. By default, only data of applications in the stable versions are queried.', 'type' => 'string', 'required' => false, 'example' => 'v1,v2', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectTimeout', + 'name' => 'Level', 'in' => 'query', 'schema' => [ - 'title' => '每次健康检查响应的最大超时时间。 取值:1~300(秒)。 默认值:5。', - 'description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" + 'description' => 'The region level by which edge resources of the application are collected. The value is of the enumeration type. Valid values:'."\n" ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" + .'- National: Chinese mainland'."\n" ."\n" - .'> If the value of the HealthCheckConnectTimeout parameter is smaller than that of the HealthCheckInterval parameter, the timeout period specified by the HealthCheckConnectTimeout parameter is ignored and the period of time specified by the HealthCheckInterval parameter is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'- Big: area'."\n" + ."\n" + .'- Middle: province'."\n" + ."\n" + .'- Small: city'."\n" + ."\n" + .'- RegionId: edge node'."\n" + ."\n" + .'Default value: National.', + 'enumValueTitles' => ['Big' => '', 'Small' => '', 'National' => '', 'RegionId' => '', 'Middle' => ''], + 'type' => 'string', 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', + 'enum' => ['National', 'Big', 'Middle', 'Small', 'RegionId'], + 'example' => 'National', + 'title' => '', ], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'OutDetailStatParams', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的时间间隔。 取值:1~50(秒)。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Default value: **2**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => 'Specifies whether to return other information about the application, such as statistics on resource instances and pods. The value must be a JSON string. By default, all information is returned.', 'type' => 'string', 'required' => false, 'example' => '{\\"appInfo\\":true,\\"detailStat\\": true, \\"appVersionStat\\": true, \\"districtStat\\":true ,\\"instanceStat\\": true, \\"podCountStat\\": true}', 'title' => ''], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'ResourceSelector', 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的域名', - 'description' => 'The domain name that you want to use for health checks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.aliyundoc.com', - 'maxLength' => 80, - 'minLength' => 1, + 'schema' => ['description' => 'The resource filtering condition.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '[{\\"regionCode\\": \\"cn-wuxi-telecom_unicom_cmcc-3\\", \\"ispCode\\": \\"telecom\\", \\"count\\": 2 },{ \\"regionCode\\": \\"cn-shanghai-cmcc\\", \\"count\\": 4 }]'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Application' => ['description' => 'The returned application information.', 'type' => 'string', 'example' => '{'."\n" + .'    "AppMetaData":{'."\n" + .'        "AppId":"b0b27670-87d5-4c40-9ea8-adeeec2986ce",'."\n" + .'        "AppName":"asp-yz",'."\n" + .'        "ClusterName":"poc",'."\n" + .'        "AppStableVersion":"0825",'."\n" + .'        "AppType":"Scheduler",'."\n" + .'        "Description":"Daily test CPU environment",'."\n" + .'        "CreateTime":"2020-08-25 16:36:16"'."\n" + .'    },'."\n" + .'    "AppStatus":{'."\n" + .'        "Phase":"RUNNING",'."\n" + .'        "StatusDescrip":"{\\"status\\":\\"UPDATE_SUCCESS\\",\\"step\\":\\"DONE\\",\\"descrip\\":\\"delVersion success\\",\\"start_time\\":\\"2021-08-18 14:46:45\\"}",'."\n" + .'        "UpdateTime":"2021-08-18 14:46:45"'."\n" + .'    },'."\n" + .'    "ResourceAttribute":{'."\n" + .'        "ResourceType":"Ens",'."\n" + .'        "ResourceAgent":"Linux",'."\n" + .'        "InstanceSpec":"ens.sn1.large",'."\n" + .'        "SystemDiskSize":40,'."\n" + .'        "DataDiskSize":0,'."\n" + .'        "BandwithOut":10,'."\n" + .'        "SchedulingStrategy":"Disperse",'."\n" + .'        "AreaLevel":"RegionId",'."\n" + .'        "IpType":"PublicIP"'."\n" + .'    },'."\n" + .'    "WorkloadAttribute":['."\n" + .'        {'."\n" + .'            "Name":"andorid",'."\n" + .'            "PodCount":7,'."\n" + .'            "ServiceConfig":{'."\n" + .'                "PortsBindConfig":{'."\n" + .'                    "NetServiceContainer":"aspserver-android",'."\n" + .'                    "Ports":['."\n" + .'                        {'."\n" + .'                            "Protocol":"TCP",'."\n" + .'                            "BindType":"PassThrough",'."\n" + .'                            "StartNodePorts":"5000-5000",'."\n" + .'                            "ContainerPorts":"5000-5000"'."\n" + .'                        },'."\n" + .'                        {'."\n" + .'                            "Protocol":"UDP",'."\n" + .'                            "BindType":"PassThrough",'."\n" + .'                            "StartNodePorts":"4001-4010",'."\n" + .'                            "ContainerPorts":"4001-4010"'."\n" + .'                        }'."\n" + .'                    ]'."\n" + .'                },'."\n" + .'                "ServiceContainerName":"android"'."\n" + .'            }'."\n" + .'        },'."\n" + .'        {'."\n" + .'            "Name":"aic-manager",'."\n" + .'            "PodCount":1,'."\n" + .'            "ServiceConfig":null'."\n" + .'        }'."\n" + .'    ],'."\n" + .'    "DetailStat":{'."\n" + .'        "Level":"Small",'."\n" + .'        "InstanceTotalCount":1,'."\n" + .'        "InstanceRunningCount":0,'."\n" + .'        "PodCountStat":['."\n" + .'            {'."\n" + .'                "Name":"andorid",'."\n" + .'                "RunningCount":7,'."\n" + .'                "ProducedCount":7,'."\n" + .'                "Devices":null'."\n" + .'            },'."\n" + .'            {'."\n" + .'                "Name":"aic-manager",'."\n" + .'                "RunningCount":1,'."\n" + .'                "ProducedCount":1,'."\n" + .'                "Devices":null'."\n" + .'            }'."\n" + .'        ],'."\n" + .'        "AppVersionStat":['."\n" + .'            {'."\n" + .'                "AppVersion":"08102",'."\n" + .'                "Descrip":"GUI-based test 2",'."\n" + .'                "CreateTime":"2021-08-10 11:20:04",'."\n" + .'                "InstanceTotalCount":1,'."\n" + .'                "InstanceRunningCount":0,'."\n" + .'                "PodCountStat":['."\n" + .'                    {'."\n" + .'                        "Name":"andorid",'."\n" + .'                        "RunningCount":7,'."\n" + .'                        "ProducedCount":7,'."\n" + .'                        "Devices":null'."\n" + .'                    },'."\n" + .'                    {'."\n" + .'                        "Name":"aic-manager",'."\n" + .'                        "RunningCount":1,'."\n" + .'                        "ProducedCount":1,'."\n" + .'                        "Devices":null'."\n" + .'                    }'."\n" + .'                ],'."\n" + .'                "DistrictStat":['."\n" + .'                    {'."\n" + .'                        "AreaCode":"310100",'."\n" + .'                        "AreaName":"East China,,",'."\n" + .'                        "RegionCode":"310100",'."\n" + .'                        "RegionName":"",'."\n" + .'                        "IspCode":"telecom",'."\n" + .'                        "RegionIds":['."\n" + .'                            "cn-shanghai-telecom-2"'."\n" + .'                        ],'."\n" + .'                        "InstanceTotalCount":1,'."\n" + .'                        "InstanceRunningCount":0,'."\n" + .'                        "PodCountStat":['."\n" + .'                            {'."\n" + .'                                "Name":"andorid",'."\n" + .'                                "RunningCount":7,'."\n" + .'                                "ProducedCount":7,'."\n" + .'                                "Devices":null'."\n" + .'                            },'."\n" + .'                            {'."\n" + .'                                "Name":"aic-manager",'."\n" + .'                                "RunningCount":1,'."\n" + .'                                "ProducedCount":1,'."\n" + .'                                "Devices":null'."\n" + .'                            }'."\n" + .'                        ],'."\n" + .'                        "InstanceStat":['."\n" + .'                            {'."\n" + .'                                "InstanceId":"i-xxxxxxx",'."\n" + .'                                "PublicIps":['."\n" + .'                                    {'."\n" + .'                                        "PublicIp":"101.227.7.12",'."\n" + .'                                        "Isp":"telecom"'."\n" + .'                                    }'."\n" + .'                                ],'."\n" + .'                                "InternalIps":['."\n" + .'                                    {'."\n" + .'                                        "Ip":"10.0.1.4"'."\n" + .'                                    }'."\n" + .'                                ],'."\n" + .'                                "RegionId":"cn-shanghai-telecom-2",'."\n" + .'                                "NcName":"",'."\n" + .'                                "InstanceStatus":"",'."\n" + .'                                "CreateTime":"2020-09-12 22:33:08",'."\n" + .'                                "PodCountStat":['."\n" + .'                                    {'."\n" + .'                                        "Name":"andorid",'."\n" + .'                                        "RunningCount":7,'."\n" + .'                                        "ProducedCount":7,'."\n" + .'                                        "Devices":['."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-andorid-08102-zjzmcyaw-0",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            },'."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-andorid-08102-zjzmcyaw-1",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            },'."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-andorid-08102-zjzmcyaw-2",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            },'."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-andorid-08102-zjzmcyaw-3",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            },'."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-andorid-08102-zjzmcyaw-4",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            },'."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-andorid-08102-zjzmcyaw-5",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            },'."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-andorid-08102-zjzmcyaw-6",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            }'."\n" + .'                                        ]'."\n" + .'                                    },'."\n" + .'                                    {'."\n" + .'                                        "Name":"aic-manager",'."\n" + .'                                        "RunningCount":1,'."\n" + .'                                        "ProducedCount":1,'."\n" + .'                                        "Devices":['."\n" + .'                                            {'."\n" + .'                                                "Name":"asp-yz-aic-manager-08102-zjzmcyaw-0",'."\n" + .'                                                "Status":"Running",'."\n" + .'                                                "Ports":null'."\n" + .'                                            }'."\n" + .'                                        ]'."\n" + .'                                    }'."\n" + .'                                ],'."\n" + .'                                "AppVersionDescrip":""'."\n" + .'                            }'."\n" + .'                        ]'."\n" + .'                    }'."\n" + .'                ]'."\n" + .'            }'."\n" + .'        ]'."\n" + .'    }'."\n" + .'}', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Application\\": \\"{\\\\n    \\\\\\"AppMetaData\\\\\\":{\\\\n        \\\\\\"AppId\\\\\\":\\\\\\"b0b27670-87d5-4c40-9ea8-adeeec2986ce\\\\\\",\\\\n        \\\\\\"AppName\\\\\\":\\\\\\"asp-yz\\\\\\",\\\\n        \\\\\\"ClusterName\\\\\\":\\\\\\"poc\\\\\\",\\\\n        \\\\\\"AppStableVersion\\\\\\":\\\\\\"0825\\\\\\",\\\\n        \\\\\\"AppType\\\\\\":\\\\\\"Scheduler\\\\\\",\\\\n        \\\\\\"Description\\\\\\":\\\\\\"Daily test CPU environment\\\\\\",\\\\n        \\\\\\"CreateTime\\\\\\":\\\\\\"2020-08-25 16:36:16\\\\\\"\\\\n    },\\\\n    \\\\\\"AppStatus\\\\\\":{\\\\n        \\\\\\"Phase\\\\\\":\\\\\\"RUNNING\\\\\\",\\\\n        \\\\\\"StatusDescrip\\\\\\":\\\\\\"{\\\\\\\\\\\\\\"status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"UPDATE_SUCCESS\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"step\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DONE\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"descrip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"delVersion success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"start_time\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2021-08-18 14:46:45\\\\\\\\\\\\\\"}\\\\\\",\\\\n        \\\\\\"UpdateTime\\\\\\":\\\\\\"2021-08-18 14:46:45\\\\\\"\\\\n    },\\\\n    \\\\\\"ResourceAttribute\\\\\\":{\\\\n        \\\\\\"ResourceType\\\\\\":\\\\\\"Ens\\\\\\",\\\\n        \\\\\\"ResourceAgent\\\\\\":\\\\\\"Linux\\\\\\",\\\\n        \\\\\\"InstanceSpec\\\\\\":\\\\\\"ens.sn1.large\\\\\\",\\\\n        \\\\\\"SystemDiskSize\\\\\\":40,\\\\n        \\\\\\"DataDiskSize\\\\\\":0,\\\\n        \\\\\\"BandwithOut\\\\\\":10,\\\\n        \\\\\\"SchedulingStrategy\\\\\\":\\\\\\"Disperse\\\\\\",\\\\n        \\\\\\"AreaLevel\\\\\\":\\\\\\"RegionId\\\\\\",\\\\n        \\\\\\"IpType\\\\\\":\\\\\\"PublicIP\\\\\\"\\\\n    },\\\\n    \\\\\\"WorkloadAttribute\\\\\\":[\\\\n        {\\\\n            \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n            \\\\\\"PodCount\\\\\\":7,\\\\n            \\\\\\"ServiceConfig\\\\\\":{\\\\n                \\\\\\"PortsBindConfig\\\\\\":{\\\\n                    \\\\\\"NetServiceContainer\\\\\\":\\\\\\"aspserver-android\\\\\\",\\\\n                    \\\\\\"Ports\\\\\\":[\\\\n                        {\\\\n                            \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n                            \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n                            \\\\\\"StartNodePorts\\\\\\":\\\\\\"5000-5000\\\\\\",\\\\n                            \\\\\\"ContainerPorts\\\\\\":\\\\\\"5000-5000\\\\\\"\\\\n                        },\\\\n                        {\\\\n                            \\\\\\"Protocol\\\\\\":\\\\\\"UDP\\\\\\",\\\\n                            \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n                            \\\\\\"StartNodePorts\\\\\\":\\\\\\"4001-4010\\\\\\",\\\\n                            \\\\\\"ContainerPorts\\\\\\":\\\\\\"4001-4010\\\\\\"\\\\n                        }\\\\n                    ]\\\\n                },\\\\n                \\\\\\"ServiceContainerName\\\\\\":\\\\\\"android\\\\\\"\\\\n            }\\\\n        },\\\\n        {\\\\n            \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n            \\\\\\"PodCount\\\\\\":1,\\\\n            \\\\\\"ServiceConfig\\\\\\":null\\\\n        }\\\\n    ],\\\\n    \\\\\\"DetailStat\\\\\\":{\\\\n        \\\\\\"Level\\\\\\":\\\\\\"Small\\\\\\",\\\\n        \\\\\\"InstanceTotalCount\\\\\\":1,\\\\n        \\\\\\"InstanceRunningCount\\\\\\":0,\\\\n        \\\\\\"PodCountStat\\\\\\":[\\\\n            {\\\\n                \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n                \\\\\\"RunningCount\\\\\\":7,\\\\n                \\\\\\"ProducedCount\\\\\\":7,\\\\n                \\\\\\"Devices\\\\\\":null\\\\n            },\\\\n            {\\\\n                \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n                \\\\\\"RunningCount\\\\\\":1,\\\\n                \\\\\\"ProducedCount\\\\\\":1,\\\\n                \\\\\\"Devices\\\\\\":null\\\\n            }\\\\n        ],\\\\n        \\\\\\"AppVersionStat\\\\\\":[\\\\n            {\\\\n                \\\\\\"AppVersion\\\\\\":\\\\\\"08102\\\\\\",\\\\n                \\\\\\"Descrip\\\\\\":\\\\\\"GUI-based test 2\\\\\\",\\\\n                \\\\\\"CreateTime\\\\\\":\\\\\\"2021-08-10 11:20:04\\\\\\",\\\\n                \\\\\\"InstanceTotalCount\\\\\\":1,\\\\n                \\\\\\"InstanceRunningCount\\\\\\":0,\\\\n                \\\\\\"PodCountStat\\\\\\":[\\\\n                    {\\\\n                        \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n                        \\\\\\"RunningCount\\\\\\":7,\\\\n                        \\\\\\"ProducedCount\\\\\\":7,\\\\n                        \\\\\\"Devices\\\\\\":null\\\\n                    },\\\\n                    {\\\\n                        \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n                        \\\\\\"RunningCount\\\\\\":1,\\\\n                        \\\\\\"ProducedCount\\\\\\":1,\\\\n                        \\\\\\"Devices\\\\\\":null\\\\n                    }\\\\n                ],\\\\n                \\\\\\"DistrictStat\\\\\\":[\\\\n                    {\\\\n                        \\\\\\"AreaCode\\\\\\":\\\\\\"310100\\\\\\",\\\\n                        \\\\\\"AreaName\\\\\\":\\\\\\"East China,,\\\\\\",\\\\n                        \\\\\\"RegionCode\\\\\\":\\\\\\"310100\\\\\\",\\\\n                        \\\\\\"RegionName\\\\\\":\\\\\\"\\\\\\",\\\\n                        \\\\\\"IspCode\\\\\\":\\\\\\"telecom\\\\\\",\\\\n                        \\\\\\"RegionIds\\\\\\":[\\\\n                            \\\\\\"cn-shanghai-telecom-2\\\\\\"\\\\n                        ],\\\\n                        \\\\\\"InstanceTotalCount\\\\\\":1,\\\\n                        \\\\\\"InstanceRunningCount\\\\\\":0,\\\\n                        \\\\\\"PodCountStat\\\\\\":[\\\\n                            {\\\\n                                \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n                                \\\\\\"RunningCount\\\\\\":7,\\\\n                                \\\\\\"ProducedCount\\\\\\":7,\\\\n                                \\\\\\"Devices\\\\\\":null\\\\n                            },\\\\n                            {\\\\n                                \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n                                \\\\\\"RunningCount\\\\\\":1,\\\\n                                \\\\\\"ProducedCount\\\\\\":1,\\\\n                                \\\\\\"Devices\\\\\\":null\\\\n                            }\\\\n                        ],\\\\n                        \\\\\\"InstanceStat\\\\\\":[\\\\n                            {\\\\n                                \\\\\\"InstanceId\\\\\\":\\\\\\"i-xxxxxxx\\\\\\",\\\\n                                \\\\\\"PublicIps\\\\\\":[\\\\n                                    {\\\\n                                        \\\\\\"PublicIp\\\\\\":\\\\\\"101.227.7.12\\\\\\",\\\\n                                        \\\\\\"Isp\\\\\\":\\\\\\"telecom\\\\\\"\\\\n                                    }\\\\n                                ],\\\\n                                \\\\\\"InternalIps\\\\\\":[\\\\n                                    {\\\\n                                        \\\\\\"Ip\\\\\\":\\\\\\"10.0.1.4\\\\\\"\\\\n                                    }\\\\n                                ],\\\\n                                \\\\\\"RegionId\\\\\\":\\\\\\"cn-shanghai-telecom-2\\\\\\",\\\\n                                \\\\\\"NcName\\\\\\":\\\\\\"\\\\\\",\\\\n                                \\\\\\"InstanceStatus\\\\\\":\\\\\\"\\\\\\",\\\\n                                \\\\\\"CreateTime\\\\\\":\\\\\\"2020-09-12 22:33:08\\\\\\",\\\\n                                \\\\\\"PodCountStat\\\\\\":[\\\\n                                    {\\\\n                                        \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n                                        \\\\\\"RunningCount\\\\\\":7,\\\\n                                        \\\\\\"ProducedCount\\\\\\":7,\\\\n                                        \\\\\\"Devices\\\\\\":[\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-0\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            },\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-1\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            },\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-2\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            },\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-3\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            },\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-4\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            },\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-5\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            },\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-6\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            }\\\\n                                        ]\\\\n                                    },\\\\n                                    {\\\\n                                        \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n                                        \\\\\\"RunningCount\\\\\\":1,\\\\n                                        \\\\\\"ProducedCount\\\\\\":1,\\\\n                                        \\\\\\"Devices\\\\\\":[\\\\n                                            {\\\\n                                                \\\\\\"Name\\\\\\":\\\\\\"asp-yz-aic-manager-08102-zjzmcyaw-0\\\\\\",\\\\n                                                \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n                                                \\\\\\"Ports\\\\\\":null\\\\n                                            }\\\\n                                        ]\\\\n                                    }\\\\n                                ],\\\\n                                \\\\\\"AppVersionDescrip\\\\\\":\\\\\\"\\\\\\"\\\\n                            }\\\\n                        ]\\\\n                    }\\\\n                ]\\\\n            }\\\\n        ]\\\\n    }\\\\n}\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'DescribeApplication', + 'changeSet' => [ + ['createdAt' => '2024-05-11T10:24:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-21T08:03:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeApplication'], + ], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的URI。长度限制为1~80,只能使用字母、数字、短横线(-)、正斜杠(/)、点号(.)、百分号(%)、#和&这些字符。 URL不能只为/,但必须以/开头。 当TCP监听需要使用HTTP健康检查时可配置此参数,如不配置则按TCP健康检查。', - 'description' => 'The Uniform Resource Identifier (URI) that you want to use for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The URL must start with `/` and contain characters other than `/`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/checkpreload.htm', - 'maxLength' => 80, - 'minLength' => 1, + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'translator' => 'manual', + ], + 'DescribeAvailableResource' => [ + 'summary' => 'Queries the resources that can be created.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '1519', + 'abilityTreeNodes' => ['FEATUREensRIM251'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '健康检查正常的HTTP状态码,多个状态码用逗号(,)分割。 取值:http_2xx(默认值) | http_3xx | http_4xx | http_5xx。', - 'description' => 'The HTTP status codes for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**.'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => 'The details of the images.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_alibase_20171208', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_alibase_****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The ID of the request. This is a common parameter. Each request has a unique ID. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'SupportResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportResource' => [ + 'description' => 'The specifications of resources that you can purchase.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'DataDiskSize' => ['description' => 'The size of the data disk. Unit: GB.', 'type' => 'string', 'example' => '500', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-beijing-cmcc', 'title' => ''], + 'InstanceSpec' => ['description' => 'The specifications of the resource plan.', 'type' => 'string', 'example' => 'ens.sn1.stiny', 'title' => ''], + 'SupportResourcesCount' => ['description' => 'The number of resources that you can purchase.', 'type' => 'string', 'example' => '9', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system disk. Unit: GiB.', 'type' => 'string', 'example' => '20', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DescribeAvailableResource', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:51.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAvailableResource'], + ], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckType', - 'in' => 'query', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeAvailableResource', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_20171208\\",\\n \\"ImageName\\": \\"centos_6_08_64_20G_alibase_****\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"DataDiskSize\\": \\"500\\",\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"InstanceSpec\\": \\"ens.sn1.stiny\\",\\n \\"SupportResourcesCount\\": \\"9\\",\\n \\"SystemDiskSize\\": \\"20\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeAvailableResourceInfo' => [ + 'summary' => 'You can call DescribeAvailableResourceInfo to query the specifications of purchasable resources for instance creation.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '18008', + 'abilityTreeNodes' => ['FEATUREensRIM251'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '健康检查类型。 取值:tcp(默认值) | http。', - 'description' => 'The type of health checks. Valid values:'."\n" - ."\n" - .'* **tcp** (default)'."\n" - .'* **http**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - 'enum' => [ - 'tcp', - 'http', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8629F679-B51D-4194-A1CC-5D8F504C362B', 'title' => ''], + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => 'The image information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ImageSize' => ['description' => 'The size of the image. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_a****', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_a****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SupportResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportResource' => [ + 'description' => 'The specifications of the purchasable resources.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DataDiskMaxSize' => ['description' => 'The maximum size of the data disk. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'BandwidthTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BandwidthType' => [ + 'description' => 'The billing method for bandwidth.', + 'type' => 'array', + 'items' => ['description' => 'The billing method.'."\n" + ."\n" + .'- BandwidthByDay: Pay-by-daily-peak-bandwidth.'."\n" + ."\n" + .'- 95BandwidthByMonth: Pay-by-monthly-95th-percentile-bandwidth.', 'type' => 'string', 'example' => '95BandwidthByMonth', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SystemDiskMinSize' => ['description' => 'The minimum size of the system disk. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'EnsRegionIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EnsRegionId' => [ + 'description' => 'A list of ENS edge zone IDs.', + 'type' => 'array', + 'items' => ['description' => 'A list of edge zones.', 'type' => 'string', 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EnsRegionIdsExtends' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EnsRegionId' => [ + 'description' => 'Additional information about the edge zones.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + 'EnName' => ['description' => 'The English name. This parameter is empty by default.', 'type' => 'string', 'example' => 'EnName', 'title' => ''], + 'Area' => ['description' => 'The region.', 'type' => 'string', 'example' => 'EastChina', 'title' => ''], + 'Name' => ['description' => 'The name of the edge zone.', 'type' => 'string', 'example' => 'Taizhou Telecom/Unicom/Mobile', 'title' => ''], + 'Province' => ['description' => 'The province.', 'type' => 'string', 'example' => '浙江省', 'title' => ''], + 'Isp' => ['description' => 'The ISP.', 'type' => 'string', 'example' => 'unicom', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceSpeces' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceSpec' => [ + 'description' => 'The instance type.', + 'type' => 'array', + 'items' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ens.se1.tiny', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SystemDiskMaxSize' => ['description' => 'The maximum size of the system disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'DataDiskMinSize' => ['description' => 'The minimum size of the data disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Isp' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Isp' => [ + 'description' => 'The ISP.', + 'type' => 'array', + 'items' => ['description' => 'The ISP. Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile.'."\n" + ."\n" + .'- telecom: China Telecom.'."\n" + ."\n" + .'- unicom: China Unicom.'."\n" + ."\n" + .'- multiCarrier: Multi-carrier.', 'type' => 'string', 'example' => '{'."\n" + .' "Isp": ['."\n" + .' "telecom"'."\n" + .' ]'."\n" + .'}', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'BackendServerPort', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例后端使用的端口,取值:1~65535', - 'description' => 'The port used by the backend ELB server of the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查使用的端口。 取值:1~65535。 不设置此参数时,表示使用后端服务端口(BackendServerPort)。', - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified for BackendServerPort is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8629F679-B51D-4194-A1CC-5D8F504C362B\\",\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"ImageSize\\": 20,\\n \\"ImageName\\": \\"centos_6_08_64_20G_a****\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_a****\\"\\n }\\n ]\\n },\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"DataDiskMaxSize\\": 200,\\n \\"BandwidthTypes\\": {\\n \\"BandwidthType\\": [\\n \\"95BandwidthByMonth\\"\\n ]\\n },\\n \\"SystemDiskMinSize\\": 20,\\n \\"EnsRegionIds\\": {\\n \\"EnsRegionId\\": [\\n \\"cn-chengdu-telecom-4\\"\\n ]\\n },\\n \\"EnsRegionIdsExtends\\": {\\n \\"EnsRegionId\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom-4\\",\\n \\"EnName\\": \\"EnName\\",\\n \\"Area\\": \\"EastChina\\",\\n \\"Name\\": \\"Taizhou Telecom/Unicom/Mobile\\",\\n \\"Province\\": \\"浙江省\\",\\n \\"Isp\\": \\"unicom\\"\\n }\\n ]\\n },\\n \\"InstanceSpeces\\": {\\n \\"InstanceSpec\\": [\\n \\"ens.se1.tiny\\"\\n ]\\n },\\n \\"SystemDiskMaxSize\\": 100,\\n \\"DataDiskMinSize\\": 100,\\n \\"Isp\\": {\\n \\"Isp\\": [\\n \\"{\\\\n \\\\\\"Isp\\\\\\": [\\\\n \\\\\\"telecom\\\\\\"\\\\n ]\\\\n}\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query purchasable instance type information', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:39.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-10-16T01:55:55.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-09-19T01:54:31.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAvailableResourceInfo'], ], + ], + 'ramActions' => [ [ - 'name' => 'EipTransmit', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable elastic IP address (EIP) pass-through. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'enum' => [ - 'on', - 'off', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], + 'translator' => 'manual', + ], + 'DescribeBandWithdChargeType' => [ + 'summary' => 'Queries available bandwidth metering methods.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '1411', + 'abilityTreeNodes' => ['FEATUREensRIM251'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], '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' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456', - ], + 'BandWithTypeInfo' => ['description' => 'The information about the metering method.', 'type' => 'string', 'example' => '{ "BandWidthName": "Monthly 95th percentile bandwidth", "BandWidthType": "95BandwidthByMonth" }', 'title' => ''], + 'ChargeContractType' => ['description' => 'The metering type.'."\n" + ."\n" + .'- ChargeByUnified: unified metering.'."\n" + ."\n" + .'- ChargeByGrade: differential metering.', 'type' => 'string', 'example' => 'ChargeByGrade', 'title' => ''], + 'ChargeCycleInfo' => ['description' => 'The metering cycle. Currently, this parameter is empty in the response.', 'type' => 'string', 'example' => '{null}', 'title' => ''], + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '791049FD-49CE-4667-BD6C-F23094DEDA7A', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'The listener already exists.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\n","errorExample":""}]', - 'title' => 'CreateLoadBalancerTCPListener', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'SetLoadBalancerTCPListenerAttribute' => [ - 'summary' => 'Modifies the configurations of a TCP listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandWithTypeInfo\\": \\"{ \\\\\\"BandWidthName\\\\\\": \\\\\\"Monthly 95th percentile bandwidth\\\\\\", \\\\\\"BandWidthType\\\\\\": \\\\\\"95BandwidthByMonth\\\\\\" }\\",\\n \\"ChargeContractType\\": \\"ChargeByGrade\\",\\n \\"ChargeCycleInfo\\": \\"{null}\\",\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"791049FD-49CE-4667-BD6C-F23094DEDA7A\\"\\n}","type":"json"}]', + 'title' => 'DescribeBandWithdChargeType', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-10-10T09:11:37.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '15899', - 'abilityTreeNodes' => [ - 'FEATUREens6XC4W4', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBandWithdChargeType'], ], - 'tenantRelevance' => 'tenant', ], - 'parameters' => [ - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listener port whose attributes are to be modified. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The description of the listener. The description must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example', - 'maxLength' => 80, - 'minLength' => 1, - ], - ], + 'ramActions' => [ [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'title' => '度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。 sch:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', - 'sch', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeBandWithdChargeType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'translator' => 'manual', + ], + 'DescribeBandwitdhByInternetChargeType' => [ + 'summary' => 'Queries the metering method for the bandwidth.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PersistenceTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '会话保持的超时时间。 取值:0~3600(秒)。 默认值:0,表示关闭会话保持。', - 'description' => 'The timeout period of session persistence.'."\n" - ."\n" - .'* Default value: 0. If the default value is used, the system disables session persistence.'."\n" - .'* Valid values: **0** to **3600**.'."\n" - .'* Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '0', - 'example' => '0', - ], - ], - [ - 'name' => 'EstablishedTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '连接超时时间。 取值:10~900(秒)。', - 'description' => 'The timeout period of a connection. Valid values: **10** to **900**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', - ], - ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值: 2~10。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', - ], - ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2~10。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '4', - ], + 'AK' => [], ], + ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'HealthCheckConnectTimeout', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'title' => '每次健康检查响应的最大超时时间。 取值:1~300(秒)。 默认值:5。', - 'description' => 'The timeout period for a health check response. If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> If the value of the HealthCheckConnectTimeout parameter is smaller than that of the HealthCheckInterval parameter, the timeout period specified by the HealthCheckConnectTimeout parameter is ignored and the period of time specified by the HealthCheckInterval parameter is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2021-11-15T16:00:00Z', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查使用的端口。 取值:1~65535。 不设置此参数时,表示使用后端服务端口(BackendServerPort)。', - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8000', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2022-01-18T09:39:54Z', 'title' => ''], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'Isp', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的时间间隔。 取值:1~50(秒)。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['description' => 'The Internet service provider (ISP). Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- telecom: China Telecom'."\n" + ."\n" + .'- unicom: China Unicom'."\n" + ."\n" + .'- multiCarrier: multi-line ISP', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的域名', - 'description' => 'The domain name that you want to use for health checks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.aliyundoc.com', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-cbn-2', 'title' => ''], ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '用于健康检查的URI。长度限制为1~80,只能使用字母、数字、短横线(-)、正斜杠(/)、点号(.)、百分号(%)、#和&这些字符。 URL不能只为/,但必须以/开头。 当TCP监听需要使用HTTP健康检查时可配置此参数,如不配置则按TCP健康检查。', - 'description' => 'The Uniform Resource Identifier (URI) that you want to use for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The URL must start with `/` and contain characters other than `/`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/aliyundoc/index.html', - 'maxLength' => 80, - 'minLength' => 1, + 'type' => 'object', + 'properties' => [ + 'BandwidthValue' => ['description' => 'The bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''], + 'InternetChargeType' => ['description' => 'The metering method. Valid values:'."\n" + ."\n" + .'- BandwidthByDay: Pay by daily peak bandwidth'."\n" + ."\n" + .'- 95BandwidthByMonth: Pay by monthly 95th percentile bandwidth'."\n" + ."\n" + .'- PayByBandwidth4thMonth: Pay by monthly fourth peak bandwidth'."\n" + ."\n" + .'- PayByBandwidth: Pay by fixed bandwidth'."\n" + ."\n" + .'You can specify only one metering method for network usage and cannot overwrite the existing metering method.', 'type' => 'string', 'example' => '95BandwidthByMonth', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.', 'type' => 'string', 'example' => '08027633-8501-5A36-B90D-F7C38B5EC75D', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp. The time follows the ISO 8601 standard. The time is displayed in UTC. Example: 2016-10-20T04:00:00Z.', 'type' => 'string', 'example' => '2019-10-12T05:45:00Z', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查正常的HTTP状态码,多个状态码用逗号(,)分割。 取值:http_2xx(默认值) | http_3xx | http_4xx | http_5xx。', - 'description' => 'The HTTP status code for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**.'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InsufficientEipCapacity', 'errorMessage' => 'Insufficient EIP inventory under the specified territory.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], - [ - 'name' => 'HealthCheckType', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查类型。 取值:tcp(默认值) | http。', - 'description' => 'The type of health checks. Valid values:'."\n" - ."\n" - .'* **tcp** (default)'."\n" - .'* **http**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - 'enum' => [ - 'tcp', - 'http', - ], - ], + ], + 'title' => 'DescribeBandwitdhByInternetChargeType', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:45.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBandwitdhByInternetChargeType'], ], + ], + 'ramActions' => [ [ - 'name' => 'EipTransmit', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable elastic IP address (EIP) pass-through. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'enum' => [ - 'on', - 'off', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeBandwitdhByInternetChargeType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthValue\\": 123,\\n \\"InternetChargeType\\": \\"95BandwidthByMonth\\",\\n \\"RequestId\\": \\"08027633-8501-5A36-B90D-F7C38B5EC75D\\",\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\"\\n}","type":"json"}]', + ], + 'DescribeCloudDiskAvailableResourceInfo' => [ + 'summary' => 'Queries the available resources in a region.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0AE4F26E-7527-569F-A987-E3CF269A3C11'], + 'SupportResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportResource' => [ + 'description' => 'The specifications of resources that you can purchase.', + 'type' => 'array', + 'items' => [ + 'description' => 'The specifications of resource that you can purchase.', + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-beijing-cmcc', 'title' => ''], + 'EnsRegionName' => ['description' => 'The name of the task node.', 'type' => 'string', 'example' => 'Beijing China Mobile', 'title' => ''], + 'DiskMinSize' => ['description' => 'The minimum size of the disk size. Unit: GiB.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'DiskMaxSize' => ['description' => 'The maximum size of the disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int64', 'example' => '80', 'title' => ''], + 'CanBuyCount' => ['description' => 'The number of disks that you can purchase.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'Category' => ['description' => 'The type of the disk.'."\n" + ."\n" + .'- cloud\\_efficiency:ultra disk.'."\n" + ."\n" + .'- cloud\\_ssd:all-flash disk.'."\n" + ."\n" + .'- local\\_hdd:local HDD.'."\n" + ."\n" + .'- local\\_ssd:local SSD.', 'type' => 'string', 'example' => 'cloud_ssd', 'title' => ''], + 'DefaultDiskSize' => ['description' => 'The default size of the disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Ability' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ability' => [ + 'description' => 'Node product capability.', + 'type' => 'array', + 'items' => ['description' => 'Node product capability.', 'type' => 'string', 'example' => 'cloud_efficiency:高效云盘'."\n" + .'cloud_ssd:全闪云盘', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'The input parameter listener that is not found.', - ], - [ - 'errorCode' => 'IncorrectListenerStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\n","errorExample":""}]', - 'title' => 'SetLoadBalancerTCPListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'DescribeLoadBalancerTCPListenerAttribute' => [ - 'summary' => 'Queries the configurations of a Transmission Control Protocol (TCP) listener.', - 'methods' => [ - 'get', - 'post', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AE4F26E-7527-569F-A987-E3CF269A3C11\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"EnsRegionName\\": \\"Beijing China Mobile\\",\\n \\"DiskMinSize\\": 20,\\n \\"DiskMaxSize\\": 80,\\n \\"CanBuyCount\\": 2,\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"DefaultDiskSize\\": 20,\\n \\"Ability\\": {\\n \\"Ability\\": [\\n \\"cloud_efficiency:高效云盘\\\\ncloud_ssd:全闪云盘\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCloudDiskAvailableResourceInfo', + 'changeSet' => [ + ['createdAt' => '2025-02-13T02:14:49.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCloudDiskAvailableResourceInfo'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeCloudDiskAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeCloudDiskTypes' => [ + 'summary' => 'The specifications of available resources are queried when you create a disk.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'list', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ - 'name' => 'ListenerPort', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The listening port that you want to query. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The ID of the edge node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chongqing-cmcc'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', + 'description' => 'The edge nodes.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chongqing-cmcc', 'title' => ''], + 'required' => false, + '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the ELB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Starting**'."\n" - .'* **Configuring**'."\n" - .'* **Stopping**'."\n", - 'type' => 'string', - 'example' => 'Stopped', - ], - 'Bandwidth' => [ - 'description' => 'The peak bandwidth of the Edge Load Balancer (ELB) instance. The default value is -1, which indicates that the bandwidth is not limited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Scheduler' => [ - 'description' => 'The routing algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections to a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing that is based on specific three bytes of the iQUIC CIDs. Requests whose second to fourth bytes are the same are distributed to the same backend server.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'PersistenceTimeout' => [ - 'description' => 'The timeout period of session persistence.'."\n" - ."\n" - .'* Default value: 0. If the default value is used, the system disables session persistence.'."\n" - .'* Valid values: **0** to **3600**.'."\n" - .'* Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'EstablishedTimeout' => [ - 'description' => 'The timeout period of a connection. Valid values: **10** to **900**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => 'The timeout period for a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of the HealthCheckTimeout property is smaller than the value of the HealthCheckInterval property, the timeout period specified by the HealthCheckTimeout property becomes invalid and the value of the HealthCheckInterval property is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Description' => [ - 'description' => 'The name of the listener.'."\n", - 'type' => 'string', - 'example' => 'example', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status codes for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'example' => 'http_2xx', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'example' => '/example/index.html', - ], - 'HealthCheckType' => [ - 'description' => 'The type of health checks. Valid values:'."\n" - ."\n" - .'* **tcp** (default)'."\n" - .'* **http**'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'BackendServerPort' => [ - 'description' => 'The port used by the backend server of the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If an empty string is returned for this parameter, the port specified by BackendServerPort is used for health checks.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8000', - ], - 'EipTransmit' => [ - 'description' => 'Indicates whether EIP pass-through is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'example' => 'on', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '77990CEE-B714-5702-BDE6-943F702277DD', 'title' => ''], + 'SupportResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportResource' => [ + 'description' => 'The specifications of resources that you can purchase.', + 'type' => 'array', + 'items' => [ + 'description' => 'The specifications of resource that you can purchase.', + 'type' => 'object', + 'properties' => [ + 'Category' => ['description' => 'The category of the disk.'."\n" + ."\n" + .'- cloud\\_efficiency: ultra disk.'."\n" + ."\n" + .'- cloud\\_ssd: all-flash disk.'."\n" + ."\n" + .'- local\\_hdd: local HDD.'."\n" + ."\n" + .'- local\\_ssd: local SSD.', 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-guangzhou-10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found. ', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'Listener is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ListenerPort\\": 80,\\n \\"Status\\": \\"Stopped\\",\\n \\"Bandwidth\\": -1,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"PersistenceTimeout\\": 0,\\n \\"EstablishedTimeout\\": 500,\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 4,\\n \\"UnhealthyThreshold\\": 4,\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"example\\",\\n \\"HealthCheckHttpCode\\": \\"http_2xx\\",\\n \\"HealthCheckDomain\\": \\"example.com\\",\\n \\"HealthCheckURI\\": \\"/example/index.html\\",\\n \\"HealthCheckType\\": \\"tcp\\",\\n \\"BackendServerPort\\": 8080,\\n \\"HealthCheckConnectPort\\": 8000,\\n \\"EipTransmit\\": \\"on\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 80\\n Stopped\\n 5\\n wrr\\n 0\\n 500\\n on\\n 4\\n 4\\n 100\\n 5\\n example\\n http_2xx\\n example.com\\n /example/index.html\\n tcp\\n 8080\\n 8000\\n on\\n","errorExample":""}]', - 'title' => 'DescribeLoadBalancerTCPListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'CreateLoadBalancerHTTPListener' => [ - 'summary' => 'Creates an HTTP listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'security' => [ - [ - 'AK' => [], - ], + 'title' => 'DescribeCloudDiskTypes', + 'changeSet' => [ + ['createdAt' => '2024-10-16T01:35:24.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'OpenAPI offline'], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '15849', - 'abilityTreeNodes' => [ - 'FEATUREens6XC4W4', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCloudDiskTypes'], ], - 'tenantRelevance' => 'tenant', ], - 'parameters' => [ - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5s7crik3yo3bp03gqrbp5****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listener port that is used by Edge Load Balancer (ELB) to receive requests and forward the requests to backend servers. Valid values: **1** to **65535**.'."\n" - ."\n" - .'> We recommend that you use port 80 for HTTP.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], - ], - [ - 'name' => 'ListenerForward', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启HTTP至HTTPS的转发。取值:on | off。', - 'description' => 'Specifies whether to enable redirection from HTTP to HTTPS. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - 'enum' => [ - 'on', - 'off', - ], - ], - ], - [ - 'name' => 'ForwardPort', - 'in' => 'query', - 'schema' => [ - 'title' => 'HTTP至HTTPS的监听转发端口。', - 'description' => 'The listener port that is used to redirect HTTP requests to HTTPS.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '0', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Monitoring instructions'."\n", - 'maxLength' => 80, - 'minLength' => 1, - ], - ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启通过X-Forwarded-For头字段获取来访者真实 IP。 取值为on。', - 'description' => 'Specifies whether to use the X-Forwarded-For header to obtain the real IP address of the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - 'enum' => [ - 'on', - 'off', - ], - ], - ], + 'ramActions' => [ [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'title' => '调度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeCloudDiskTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"77990CEE-B714-5702-BDE6-943F702277DD\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"Category\\": \\"cloud_efficiency\\",\\n \\"EnsRegionId\\": \\"cn-guangzhou-10\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCluster' => [ + 'summary' => 'Queries Container Service for Kubernetes (ACK) edge clusters.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheck', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启健康检查。 取值:on | off。', - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'on', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'HealthCheckDomain', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的域名,取值: $_ip: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。是否要支持? domain:域名长度为1-80字符,只能包含字母、数字、点号(.)和连字符(-)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The domain name that you want to use for health checks.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.aliyundoc.com', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c8f0377146d104687ac562eef9403****', 'title' => ''], ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '用于健康检查的URI。 长度限制为1~80,只能使用字母、数字和”-/.%?#&“这些字符。 URL不能只为”/“,但必须以”/“开头。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/checkpreload.htm', - 'maxLength' => 80, - 'minLength' => 1, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + 'Clusters' => [ + 'description' => 'An array that consists of the information about clusters.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about a cluster.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The cluster name.', 'type' => 'string', 'example' => 'vc-a622bb**', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c8f0377146d104687ac562eef9403****', 'title' => ''], + 'CurrentVersion' => ['description' => 'The version of the cluster.', 'type' => 'string', 'example' => '1.18.8', 'title' => ''], + 'NextVersion' => ['description' => 'The next version of the cluster.', 'type' => 'string', 'example' => '1.20.8', 'title' => ''], + 'Status' => [ + 'description' => 'The health status of the instance.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- healthy'."\n" + ."\n" + .'- unhealthy', + 'enumValueTitles' => ['healthy' => 'healthy', 'unhealthy' => 'unhealthy'], + 'type' => 'string', + 'example' => 'healthy', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**. Default value: **3**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'BadRequest', 'errorMessage' => '请求参数错误 ', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => '内部服务错误', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeCluster', + 'description' => '- up to 100 times per second per account.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCluster'], ], + ], + 'ramActions' => [ [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**. Default value: **3**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Clusters\\": [\\n {\\n \\"Name\\": \\"vc-a622bb**\\",\\n \\"ClusterId\\": \\"c8f0377146d104687ac562eef9403****\\",\\n \\"CurrentVersion\\": \\"1.18.8\\",\\n \\"NextVersion\\": \\"1.20.8\\",\\n \\"Status\\": \\"healthy\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeClusterAttachScripts' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。在HealthCheck值为on时才会有效。 取值:1~300(秒)。 说明 如果HealthCHeckTimeout的值小于HealthCheckInterval的值,则HealthCHeckTimeout无效,超时时间为HealthCheckInterval的值。', - 'description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '5', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的后端服务器的端口。 取值: 1~65535。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The backend port that is used for health checks. Valid values: **1** to **65535**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '30040', - ], + 'schema' => ['description' => 'The ID of the ECK cluster.', 'type' => 'string', 'required' => true, 'example' => 'eck-11111111', 'title' => ''], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'NodepoolId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的时间间隔。 取值: 1~50(秒)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Default value: **2**. Unit: seconds.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the node pool to which the node will be added.', 'type' => 'string', 'required' => true, 'example' => 'np68mi5y1dd748ky37ojo2kqdrz', 'title' => ''], ], [ - 'name' => 'HealthCheckHttpCode', + 'name' => 'Options', 'in' => 'query', + 'schema' => ['description' => 'Optional parameters for the script, provided as a JSON string.', 'type' => 'string', 'required' => false, 'example' => '{\\"key1\\":\\"val1\\"}', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。 默认值为http_2xx。 取值:http_2xx | http_3xx | http_4xx | http_5xx。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The HTTP status code for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + 'Script' => ['description' => 'The cluster attachment script, Base64-encoded.', 'type' => 'string', 'example' => 'Y2QgWnhiU0o=', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeClusterAttachScripts', + 'summary' => 'To add an existing ENS instance to an ECK cluster as a worker node or re-add a node to a node pool, call the DescribeClusterAttachScripts operation to get the required script.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Script\\": \\"Y2QgWnhiU0o=\\"\\n}","type":"json"}]', + ], + 'DescribeClusterDetail' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '指定连接空闲超时时间,取值范围为1~60秒,默认值为15秒。 在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" - ."\n" - .'> If no request is received within the specified timeout period, ELB closes the connection. When a request is received, ELB creates a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '60', - 'minimum' => '1', - 'example' => '15', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'RequestTimeout', + 'name' => 'ClusterId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'eck-11111111', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '指定请求超时时间,取值范围为1~180秒,默认值为60秒。 在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回 HTTP 504 错误码。', - 'description' => 'The timeout period of a request. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" - ."\n" - .'> If no response is received from the backend server within the specified timeout period, ALB returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '180', - 'minimum' => '1', - 'example' => '60', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => 'eck-11111111', 'title' => ''], + 'Name' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'your-cluster-name', 'title' => ''], + 'AliUid' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1574790082031102', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS edge zone.', 'type' => 'string', 'example' => 'cn-fuzhou-23', 'title' => ''], + 'KubernetesVersion' => ['description' => 'The version of the cluster. It is consistent with the baseline version of the Kubernetes community. Select the latest version. If you do not specify a version, the latest version is used by default.', 'type' => 'string', 'example' => '1.32.1.aliyunedge.1', 'title' => ''], + 'VpcId' => ['description' => 'The virtual private cloud (VPC) that the cluster uses.', 'type' => 'string', 'example' => 'n-xxxxxxxxx', 'title' => ''], + 'VswitchIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of the virtual switch associated with the cluster node.', 'type' => 'string', 'example' => 'vsw-xxxxxxxxx', 'title' => ''], + 'description' => 'The IDs of the virtual switches that contain the cluster nodes.', + 'title' => '', + 'example' => '', + ], + 'PodVswitchIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of the pod virtual switch.', 'type' => 'string', 'example' => 'vsw-xxxxxxxx', 'title' => ''], + 'description' => 'The ID of the pod virtual switch.', + 'title' => '', + 'example' => '', + ], + 'ContainerCidr' => ['description' => 'The CIDR block for pods.', 'type' => 'string', 'example' => '172.20.0.0/16', 'title' => ''], + 'ServiceCidr' => ['description' => 'The CIDR block for services.', 'type' => 'string', 'example' => '172.19.0.0/20', 'title' => ''], + 'PublicAccess' => ['description' => 'Indicates whether public network access is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance for the API server.', 'type' => 'string', 'example' => 'lb-5snthcyu1x10g7tywj7iu****', 'title' => ''], + 'ControlPlaneConfig' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceSpec' => ['description' => 'The instance type for the node.', 'type' => 'string', 'example' => 'ens.esk.sn1.medium', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the virtual machine image for the control plane.', 'type' => 'string', 'example' => 'm-5ul335umat4e2y9ynwi84p3f9', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The system disk category of the node.', 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system disk for the node.', 'type' => 'integer', 'format' => 'int64', 'example' => '120', 'title' => ''], + 'ContainerRuntime' => ['description' => 'The type of the runtime.', 'type' => 'string', 'example' => 'containerd', 'title' => ''], + 'NodePortRange' => ['description' => 'The range of service ports for the node.', 'type' => 'string', 'example' => '30000-32767', 'title' => ''], + 'Size' => ['description' => 'The number of control plane nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + ], + 'description' => 'The configuration of the control plane.', + 'title' => '', + 'example' => '', + ], + 'JoinToken' => ['description' => 'The authentication token for joining the cluster.', 'type' => 'string', 'example' => 'xxxx.yyy', 'title' => ''], + 'Config' => ['description' => 'The kubeconfig of the cluster.', 'type' => 'any', 'example' => 'apiVersion: v1'."\n" + .'clusters:'."\n" + .'- cluster:'."\n" + .' certificate-authority-data: x'."\n" + .' server: https://111.111.111.111:6443'."\n" + .' name: kubernetes'."\n" + .'contexts:'."\n" + .'- context:'."\n" + .' cluster: kubernetes'."\n" + .' user: user'."\n" + .' name: eck-xxxxx'."\n" + .'current-context: eck-xxxx'."\n" + .'kind: Config'."\n" + .'preferences: {}'."\n" + .'users:'."\n" + .'- name: user'."\n" + .' user:'."\n" + .' client-certificate-data: x'."\n" + .' client-key-data: x', 'title' => ''], + 'State' => ['description' => 'The state of the cluster.'."\n" + ."\n" + .'- **initial**: The cluster is being created.'."\n" + ."\n" + .'- **failed**: The cluster failed to be created.'."\n" + ."\n" + .'- **running**: The cluster is running.'."\n" + ."\n" + .'- **deleting**: The cluster is being released.', 'type' => 'string', 'example' => 'running', 'title' => ''], + ], + 'title' => '', + 'description' => 'The schema of the response.', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeClusterDetail', + 'description' => '- Rate limit: 100 requests per second.', + 'summary' => 'Queries details of a cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterDetail'], + ], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckMethod', - 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP request method for health checks. Valid values:'."\n" - ."\n" - .'* **head** (default)'."\n" - .'* **get**'."\n" - ."\n" - .'> This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'head', - 'enum' => [ - 'head', - 'get', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-11111111\\",\\n \\"Name\\": \\"your-cluster-name\\",\\n \\"AliUid\\": \\"1574790082031102\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-23\\",\\n \\"KubernetesVersion\\": \\"1.32.1.aliyunedge.1\\",\\n \\"VpcId\\": \\"n-xxxxxxxxx\\",\\n \\"VswitchIds\\": [\\n \\"vsw-xxxxxxxxx\\"\\n ],\\n \\"PodVswitchIds\\": [\\n \\"vsw-xxxxxxxx\\"\\n ],\\n \\"ContainerCidr\\": \\"172.20.0.0/16\\",\\n \\"ServiceCidr\\": \\"172.19.0.0/20\\",\\n \\"PublicAccess\\": true,\\n \\"LoadBalancerId\\": \\"lb-5snthcyu1x10g7tywj7iu****\\",\\n \\"ControlPlaneConfig\\": {\\n \\"InstanceSpec\\": \\"ens.esk.sn1.medium\\",\\n \\"ImageId\\": \\"m-5ul335umat4e2y9ynwi84p3f9\\",\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SystemDiskSize\\": 120,\\n \\"ContainerRuntime\\": \\"containerd\\",\\n \\"NodePortRange\\": \\"30000-32767\\",\\n \\"Size\\": 3\\n },\\n \\"JoinToken\\": \\"xxxx.yyy\\",\\n \\"Config\\": \\"apiVersion: v1\\\\nclusters:\\\\n- cluster:\\\\n certificate-authority-data: x\\\\n server: https://111.111.111.111:6443\\\\n name: kubernetes\\\\ncontexts:\\\\n- context:\\\\n cluster: kubernetes\\\\n user: user\\\\n name: eck-xxxxx\\\\ncurrent-context: eck-xxxx\\\\nkind: Config\\\\npreferences: {}\\\\nusers:\\\\n- name: user\\\\n user:\\\\n client-certificate-data: x\\\\n client-key-data: x\\",\\n \\"State\\": \\"running\\"\\n}","type":"json"}]', + ], + 'DescribeClusterKubeConfig' => [ + 'summary' => 'Queries the certificate of a Container Service for Kubernetes (ACK) edge cluster.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'BackendServerPort', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The port used by the backend server of the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'c8f0377146d104687ac562eef9403****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The information about the cluster.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'c8f0377146d104687ac562eef9403****', 'title' => ''], + 'Kubeconfig' => ['description' => 'The cluster certificate.', 'type' => 'string', 'example' => 'apiVersion: v1'."\n" + .'clusters:'."\n" + .'- cluster:'."\n" + .' certificate-authority-data:***'."\n" + .' server: https://****:6443'."\n" + .' name: kubernetes'."\n" + .'contexts:'."\n" + .'- context:'."\n" + .' cluster: kubernetes'."\n" + .' user: "2580306074811*****"'."\n" + .' name: 258*******'."\n" + .'kind: Config'."\n" + .'users:'."\n" + .'- name: "2580306074811*****"'."\n" + .' user:'."\n" + .' client-certificate-data:***'."\n" + .' client-key-data: ***', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'The listenerPort already exists.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ['errorCode' => 'BadRequest', 'errorMessage' => '请求参数错误 ', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'StatusNotFound', 'errorMessage' => '证书不存在', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => '内部服务错误', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeClusterKubeConfig', + 'description' => '- The maximum number of times that each user can call this operation per second is 100.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterKubeConfig'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterKubeConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'CreateLoadBalancerHTTPListener', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ClusterId\\": \\"c8f0377146d104687ac562eef9403****\\",\\n \\"Kubeconfig\\": \\"apiVersion: v1\\\\nclusters:\\\\n- cluster:\\\\n certificate-authority-data:***\\\\n server: https://****:6443\\\\n name: kubernetes\\\\ncontexts:\\\\n- context:\\\\n cluster: kubernetes\\\\n user: \\\\\\"2580306074811*****\\\\\\"\\\\n name: 258*******\\\\nkind: Config\\\\nusers:\\\\n- name: \\\\\\"2580306074811*****\\\\\\"\\\\n user:\\\\n client-certificate-data:***\\\\n client-key-data: ***\\"\\n}","type":"json"}]', ], - 'SetLoadBalancerHTTPListenerAttribute' => [ - 'summary' => 'Modifies the configurations of an HTTP listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeClusterNodePools' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '15900', - 'abilityTreeNodes' => [ - 'FEATUREens6XC4W4', - ], + 'abilityTreeNodes' => ['FEATUREensPHDAAN'], + 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'ListenerPort', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listener port whose attributes are to be modified. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + 'schema' => ['description' => 'The page number to return. Pages are numbered starting from 1.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'title' => '', 'example' => '1'], ], [ - 'name' => 'Description', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_8080', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The number of entries to return per page.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '200', 'minimum' => '1', 'title' => '', 'example' => '10'], ], - [ - 'name' => 'Scheduler', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '调度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', + 'type' => 'object', + 'properties' => [ + 'Page' => [ + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + ], + 'description' => 'The pagination details.', + 'title' => '', + 'example' => '', + ], + 'NodePools' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NodepoolInfo' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the node pool.', 'type' => 'string', 'example' => 'eck-node-pool-1', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-fuzhou-23', 'title' => ''], + 'NodepoolId' => ['description' => 'The ID of the node pool.', 'type' => 'string', 'example' => 'np68mi5y1dd748ky37ojo2kqdrz', 'title' => ''], + ], + 'description' => 'The details of the node pool.', + 'title' => '', + 'example' => '', + ], + 'ScalingGroup' => [ + 'type' => 'object', + 'properties' => [ + 'VswitchIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of a vSwitch.', 'type' => 'string', 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', 'title' => ''], + 'description' => 'The IDs of the vSwitches.', + 'title' => '', + 'example' => '', + ], + 'InstanceChargeType' => ['description' => 'The billing method of the instances.', 'type' => 'string', 'example' => 'PrePaid', 'title' => ''], + 'InstanceTypes' => [ + 'type' => 'array', + 'items' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ens.sn1.small', 'title' => ''], + 'description' => 'The list of instance types.', + 'title' => '', + 'example' => '', + ], + 'SystemDiskCategory' => ['description' => 'The category of the system disk. Valid values: `local_ssd`, `cloud_ssd`, `cloud_efficiency`, and `local_hdd`.', 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system disk, in GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'm-673f5z4h69ibwtallg6zmcaxr', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair.', 'type' => 'string', 'example' => 'key-pair-name', 'title' => ''], + 'DataDisks' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Category' => ['description' => 'The category of the data disk.', 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'Size' => ['description' => 'The size of the data disk, in GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'description' => 'A data disk.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of data disks. The parameter constraints are the same as those for the system disk.', + 'title' => '', + 'example' => '', + ], + 'Password' => ['description' => 'The password for the instances.', 'type' => 'string', 'example' => '************', 'title' => ''], + ], + 'description' => 'The scaling group configuration.', + 'title' => '', + 'example' => '', + ], + 'KubernetesConfig' => [ + 'type' => 'object', + 'properties' => [ + 'PreUserData' => ['description' => 'The user data script to run on nodes before they are added to the cluster. The script must be Base64-encoded.', 'type' => 'string', 'example' => 'ZWNobyBvawo=', 'title' => ''], + 'UserData' => ['description' => 'The user data script to run on nodes after they are added to the cluster. The script must be Base64-encoded.', 'type' => 'string', 'example' => 'ZWNobyBvawo=', 'title' => ''], + ], + 'description' => 'The Kubernetes configuration.', + 'title' => '', + 'example' => '', + ], + 'Status' => [ + 'type' => 'object', + 'properties' => [ + 'State' => ['description' => 'The state of the node pool. Valid values:'."\n" + ."\n" + .'- `active`: The node pool is active.'."\n" + ."\n" + .'- `scaling`: The node pool is scaling out.'."\n" + ."\n" + .'- `removing_nodes`: The node pool is scaling in.', 'type' => 'string', 'example' => 'active', 'title' => ''], + 'TotalNodes' => ['description' => 'The total number of instances, including those that are being created, in service, or being removed.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'DesiredNodes' => ['description' => 'The expected number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ServingNodes' => ['description' => 'The number of instances in service.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InitialNodes' => ['description' => 'The number of instances that are being created.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RemovingNodes' => ['description' => 'The number of instances that are being removed.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'FailedNodes' => ['description' => 'The number of failed instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'description' => 'The status of the node pool.', + 'title' => '', + 'example' => '', + ], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => 'eck-xxxxxxxx', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of node pools.', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', 'title' => ''], ], + 'title' => '', + 'description' => 'The schema of the response.', + 'example' => '', ], ], - [ - 'name' => 'HealthCheck', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启健康检查。 取值:on | off。', - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeClusterNodePools', + 'summary' => 'Lists all node pools in a cluster.', + 'description' => '- Single-user call frequency: 100 calls per second.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterNodePools'], ], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的域名,取值: $_ip: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。是否要支持? domain:域名长度为1-80字符,只能包含字母、数字、点号(.)和连字符(-)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The domain name that is used for health checks.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.aliyundoc.com', - 'maxLength' => 80, - 'minLength' => 1, + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterNodePools', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Page\\": {\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 20\\n },\\n \\"NodePools\\": [\\n {\\n \\"NodepoolInfo\\": {\\n \\"Name\\": \\"eck-node-pool-1\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-23\\",\\n \\"NodepoolId\\": \\"np68mi5y1dd748ky37ojo2kqdrz\\"\\n },\\n \\"ScalingGroup\\": {\\n \\"VswitchIds\\": [\\n \\"vsw-58eu2p6v64qw8ihhit1wz7wgv\\"\\n ],\\n \\"InstanceChargeType\\": \\"PrePaid\\",\\n \\"InstanceTypes\\": [\\n \\"ens.sn1.small\\"\\n ],\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SystemDiskSize\\": 80,\\n \\"ImageId\\": \\"m-673f5z4h69ibwtallg6zmcaxr\\",\\n \\"KeyPairName\\": \\"key-pair-name\\",\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_efficiency\\",\\n \\"Size\\": 80\\n }\\n ],\\n \\"Password\\": \\"************\\"\\n },\\n \\"KubernetesConfig\\": {\\n \\"PreUserData\\": \\"ZWNobyBvawo=\\",\\n \\"UserData\\": \\"ZWNobyBvawo=\\"\\n },\\n \\"Status\\": {\\n \\"State\\": \\"active\\",\\n \\"TotalNodes\\": 10,\\n \\"DesiredNodes\\": 10,\\n \\"ServingNodes\\": 10,\\n \\"InitialNodes\\": 0,\\n \\"RemovingNodes\\": 0,\\n \\"FailedNodes\\": 0\\n },\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n }\\n ],\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', + ], + 'DescribeClusterNodes' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的URI。 长度限制为1~80,只能使用字母、数字和”-/.%?#&“这些字符。 URL不能只为”/“,但必须以”/“开头。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/checkpreload.htm', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'HealthyThreshold', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'UnhealthyThreshold', + 'name' => 'NodepoolId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', - ], + 'schema' => ['description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'np751e9d5464cf4ef081087137f33e4528'], ], [ - 'name' => 'HealthCheckTimeout', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。在HealthCheck值为on时才会有效。 取值:1~300(秒)。 说明 如果HealthCHeckTimeout的值小于HealthCheckInterval的值,则HealthCHeckTimeout无效,超时时间为HealthCheckInterval的值。', - 'description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails to pass the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['description' => 'The page number. The value starts from 1.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'title' => '', 'example' => '1'], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的后端服务器的端口。 取值: 1~65535。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '65500', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '200', 'minimum' => '1', 'title' => '', 'example' => '10'], ], - [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '健康检查的时间间隔。 取值: 1~50(秒)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '2', + 'type' => 'object', + 'properties' => [ + 'Page' => [ + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + ], + 'description' => 'The paging information.', + 'title' => '', + 'example' => '', + ], + 'Nodes' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'eck-xxxxxxxx', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ENS node ID.', 'type' => 'string', 'example' => 'cn-fuzhou-23', 'title' => ''], + 'NodepoolId' => ['description' => 'The node pool ID.', 'type' => 'string', 'example' => 'np861febb748f84f5f9f1c76819eff7f56', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'i-51mctytg7tv4yw4amu3oczxsx', 'title' => ''], + 'PayType' => ['description' => 'The billing method. The value is PostPaid (pay-as-you-go).', 'type' => 'string', 'example' => 'PrePaid', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the instance image.', 'type' => 'string', 'example' => 'm-680cki2ruj1q2bm0mz1k9tnbz', 'title' => ''], + 'IpAddress' => [ + 'type' => 'array', + 'items' => ['description' => 'The IP address of the ENS instance.', 'type' => 'string', 'example' => '111.1111.111.111', 'title' => ''], + 'description' => 'The IP address of the ENS instance.', + 'title' => '', + 'example' => '', + ], + 'State' => ['description' => 'The status of the node pool.'."\n" + ."\n" + .'- initial: The node pool is being created.'."\n" + ."\n" + .'- running: The node pool is created.'."\n" + ."\n" + .'- removing: The node pool is being removed.', 'type' => 'string', 'example' => 'initial', 'title' => ''], + ], + 'description' => 'The node information.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The node information.', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], - [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。 默认值为http_2xx。 取值:http_2xx | http_3xx | http_4xx | http_5xx。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The HTTP status code for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**.'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeClusterNodes', + 'summary' => 'You can call the DescribeClusterNodes operation to query information about nodes that meet specified criteria.', + 'description' => '- The maximum call frequency for a single user is 100 calls per second.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterNodes'], ], + ], + 'ramActions' => [ [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '指定连接空闲超时时间,取值范围为1~60秒,默认值为15秒。 在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" - ."\n" - .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '60', - 'minimum' => '1', - 'example' => '15', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '指定请求超时时间,取值范围为1~180秒,默认值为60秒。 在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回 HTTP 504 错误码。', - 'description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" - ."\n" - .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '180', - 'minimum' => '1', - 'example' => '60', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Page\\": {\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 30\\n },\\n \\"Nodes\\": [\\n {\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-23\\",\\n \\"NodepoolId\\": \\"np861febb748f84f5f9f1c76819eff7f56\\",\\n \\"InstanceId\\": \\"i-51mctytg7tv4yw4amu3oczxsx\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ImageId\\": \\"m-680cki2ruj1q2bm0mz1k9tnbz\\",\\n \\"IpAddress\\": [\\n \\"111.1111.111.111\\"\\n ],\\n \\"State\\": \\"initial\\"\\n }\\n ],\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DescribeClusterUserKubeconfig' => [ + 'summary' => 'A kubeconfig file contains the credentials required for a client to access an Elastic Container instance on Kubernetes (ECK) cluster. The file includes identity and authentication data for accessing the destination cluster. To manage a cluster using kubectl, you must first connect to the cluster with its kubeconfig file. You can call the DescribeClusterUserKubeconfig operation to query the kubeconfig file for a specific cluster.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'HealthCheckMethod', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP request method for health checks. Valid values:'."\n" - ."\n" - .'* **head**'."\n" - .'* **get**'."\n" - ."\n" - .'> This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'head', - 'enum' => [ - 'head', - 'get', - ], - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxxx', 'title' => ''], ], [ - 'name' => 'XForwardedFor', + 'name' => 'PrivateIpAddress', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the X-Forwarded-For header to obtain the real IP address of the client. Valid values:'."\n" - ."\n" - .'* **on** (default)'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'enum' => [ - 'on', - 'off', - ], - ], + 'schema' => ['description' => 'Specifies whether to use the internal access address. The default value is false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'Config' => ['description' => 'The kubeconfig file of the cluster.', 'type' => 'any', 'example' => 'apiVersion: v1'."\n" + .'clusters:'."\n" + .'- cluster:'."\n" + .' certificate-authority-data: x'."\n" + .' server: https://111.111.111.111:6443'."\n" + .' name: kubernetes'."\n" + .'contexts:'."\n" + .'- context:'."\n" + .' cluster: kubernetes'."\n" + .' user: user'."\n" + .' name: eck-xxxxx'."\n" + .'current-context: eck-xxxx'."\n" + .'kind: Config'."\n" + .'preferences: {}'."\n" + .'users:'."\n" + .'- name: user'."\n" + .' user:'."\n" + .' client-certificate-data: x'."\n" + .' client-key-data: x', 'title' => ''], ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'The input parameter listener that is not found.', - ], - [ - 'errorCode' => 'IncorrectListenerStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeClusterUserKubeconfig', + 'description' => '- A single user is limited to 100 calls per second.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterUserKubeconfig'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterUserKubeconfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'SetLoadBalancerHTTPListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Config\\": \\"apiVersion: v1\\\\nclusters:\\\\n- cluster:\\\\n certificate-authority-data: x\\\\n server: https://111.111.111.111:6443\\\\n name: kubernetes\\\\ncontexts:\\\\n- context:\\\\n cluster: kubernetes\\\\n user: user\\\\n name: eck-xxxxx\\\\ncurrent-context: eck-xxxx\\\\nkind: Config\\\\npreferences: {}\\\\nusers:\\\\n- name: user\\\\n user:\\\\n client-certificate-data: x\\\\n client-key-data: x\\"\\n}","type":"json"}]', ], - 'DescribeLoadBalancerHTTPListenerAttribute' => [ - 'summary' => 'Queries the configuration of an HTTP listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeClustersV1' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ListenerPort', + 'name' => 'Name', 'in' => 'query', 'schema' => [ - 'description' => 'The listener port that you want to query. Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '8080', + 'description' => 'The name of the cluster.', + 'enumValueTitles' => [], + 'type' => 'string', + 'required' => false, + 'example' => 'test-eck-name', + 'title' => '', ], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'ClusterId', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", + 'description' => 'The ID of the cluster.', + 'enumValueTitles' => [], 'type' => 'string', - 'required' => true, - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', + 'required' => false, + 'example' => 'eck-xxxxxxxx', + 'title' => '', + ], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the ENS region where the cluster is located.', + 'enumValueTitles' => [], + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-58', + 'title' => '', ], ], ], @@ -26094,1722 +14128,1462 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'ListenerPort' => [ - 'description' => 'The listener port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Starting**'."\n" - .'* **Configuring**'."\n" - .'* **Stopping**'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Bandwidth' => [ - 'description' => 'The peak bandwidth of the Edge Load Balancer (ELB) instance. The default value is -1, which indicates that the bandwidth is not limited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'Scheduler' => [ - 'description' => 'The routing algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections to a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing that is based on specific three bytes of the iQUIC CIDs. Requests whose second to fourth bytes are the same are distributed to the same backend server.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5000', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Description' => [ - 'description' => 'The description of the listener. The description must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'abc', - ], - 'ListenerForward' => [ - 'description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled. Valid values:'."\n" - ."\n" - .'* **on**: HTTP-to-HTTPS redirection is enabled.'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'ForwardPort' => [ - 'description' => 'The listener port that is used to redirect HTTP requests to HTTPS.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10002', - ], - 'RequestTimeout' => [ - 'description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" - ."\n" - .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" - ."\n" - .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, ELB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status codes for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**.'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'example' => 'http_2xx', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'example' => '/checkpreload.htm', - ], - 'ServerCertificateId' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'example' => '6027667', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method used in HTTP health checks. Valid values:'."\n" - ."\n" - .'* **head**: requests the head of the page.'."\n" - .'* **get**: requests the specified part of the page and returns the entity body.'."\n" - ."\n" - .'> This parameter is returned only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'example' => 'head', - ], - 'XForwardedFor' => [ - 'description' => 'Indicates whether the X-Forwarded-For header is used to obtain the real IP address of the client. Valid values:'."\n" - ."\n" - .'* **on** (default)'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on'."\n", - ], - 'BackendServerPort' => [ - 'description' => 'The port used by the backend server of the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'Clusters' => [ + 'description' => 'A list of cluster information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the cluster.', + 'type' => 'object', + 'properties' => [ + 'ClusterId' => ['description' => 'The ID of the cluster instance.', 'type' => 'string', 'example' => 'eck-xxxxxxx', 'title' => ''], + 'Name' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'test-eck-name', 'title' => ''], + 'AliUid' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1375383353108460', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS edge zone.', 'type' => 'string', 'example' => 'cn-hangzhou-55', 'title' => ''], + 'KubernetesVersion' => ['description' => 'The cluster version. It is consistent with the baseline version of the Kubernetes community. Select the latest version. If you do not specify a version, the latest version is used by default.', 'type' => 'string', 'example' => '1.31.9-aliyunedge.1', 'title' => ''], + 'VpcId' => ['description' => 'The virtual private cloud (VPC) used by the cluster.', 'type' => 'string', 'example' => 'n-5wsgr3xeolb2ist303wp3cscp', 'title' => ''], + 'VswitchIds' => [ + 'description' => 'The IDs of the virtual switches to which the cluster nodes belong. The virtual switches must be in the region specified by \\`ens\\_region\\_id\\`.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the virtual switch.', 'type' => 'string', 'example' => 'vsw-xxxxxxx', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'PodVswitchIds' => [ + 'description' => 'Each pod virtual switch corresponds to a virtual switch of a worker node. The zone of the pod virtual switch and the worker node virtual switch must be the same. If you do not specify this parameter, the value of vswitch\\_ids is used by default.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the virtual switch.', 'type' => 'string', 'example' => 'vsw-xxxxxxx', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ContainerCidr' => ['description' => 'The CIDR block for pods. It must be a valid private CIDR block, such as 10.0.0.0/8, 172.16-31.0.0/12-16, or 192.168.0.0/16, and their subnets. This CIDR block cannot overlap with the VPC CIDR block or the CIDR blocks of existing Kubernetes clusters in the VPC. After the cluster is created, this parameter cannot be changed.', 'type' => 'string', 'example' => '10.0.0.0/8', 'title' => ''], + 'ServiceCidr' => ['description' => 'The CIDR block for services. Valid ranges: 10.0.0.0/16-24, 172.16-31.0.0/16-24, and 192.168.0.0/16-24. The CIDR block cannot overlap with the VPC CIDR block 10.1.0.0/21 or the CIDR blocks used by existing Kubernetes clusters in the VPC. This parameter cannot be changed after the cluster is created.', 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], + 'PublicAccess' => ['description' => 'Specifies whether to enable public network access. The API server is exposed through an elastic IP address (EIP) to allow public access to the cluster. Valid values are \\`true\\` and \\`false\\`. If set to \\`true\\`, public network access is enabled. If set to \\`false\\`, public network access is disabled, and you cannot access the cluster API server from the internet.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'example' => 'lb-58dngw0fyimzzvwljfec7hy0z', 'title' => ''], + 'ControlPlaneConfig' => [ + 'description' => 'The control plane configuration.', + 'type' => 'object', + 'properties' => [ + 'InstanceSpec' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ens.sn1.medium', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'm-68be8cb9f71fhyvjekxa23qsf', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The type of the system disk for the edge zone. Valid values: "local\\_ssd", "cloud\\_ssd", "cloud\\_efficiency", and "local\\_hdd".', 'type' => 'string', 'example' => 'cloud_ssd', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system disk, in GB.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'ContainerRuntime' => ['description' => 'The type of the runtime.', 'type' => 'string', 'example' => 'containerd', 'title' => ''], + 'NodePortRange' => ['description' => 'The range of service ports on the node.', 'type' => 'string', 'example' => '30000-32767', 'title' => ''], + 'Size' => ['description' => 'The number of control plane nodes.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'JoinToken' => ['description' => 'The authentication token for accessing the cluster.', 'type' => 'string', 'example' => 'xxxxxxxxxx.yyyyyyy', 'title' => ''], + 'Config' => ['description' => 'The kubeconfig of the cluster.', 'type' => 'any', 'example' => '{'."\n" + .' "kind": "Config",'."\n" + .' "apiVersion": "v1",'."\n" + .' "preferences": {},'."\n" + .' "clusters": ['."\n" + .' {'."\n" + .' "name": "kubernetes",'."\n" + .' "cluster": {'."\n" + .' "server": "https://000.000.000.000:6443",'."\n" + .' "certificate-authority-data": ""'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "users": ['."\n" + .' {'."\n" + .' "name": "kubernetes-admin",'."\n" + .' "user": {'."\n" + .' "client-certificate-data": "",'."\n" + .' "client-key-data": ""'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "contexts": ['."\n" + .' {'."\n" + .' "name": "kubernetes-admin@kubernetes",'."\n" + .' "context": {'."\n" + .' "cluster": "kubernetes",'."\n" + .' "user": "kubernetes-admin"'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "current-context": "kubernetes-admin@kubernetes"'."\n" + .' }', 'title' => ''], + 'State' => ['description' => 'The status of the cluster.', 'type' => 'string', 'example' => 'running', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'Listener is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeClustersV1', + 'summary' => 'Queries a list of clusters.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClustersV1'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:DescribeClustersV1', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ListenerPort\\": 80,\\n \\"Status\\": \\"Running\\",\\n \\"Bandwidth\\": -1,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 3,\\n \\"UnhealthyThreshold\\": 3,\\n \\"HealthCheckTimeout\\": 10,\\n \\"HealthCheckConnectPort\\": 5000,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"abc\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": 10002,\\n \\"RequestTimeout\\": 60,\\n \\"IdleTimeout\\": 15,\\n \\"HealthCheckHttpCode\\": \\"http_2xx\\",\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"HealthCheckURI\\": \\"/checkpreload.htm\\",\\n \\"ServerCertificateId\\": \\"6027667\\",\\n \\"HealthCheckMethod\\": \\"head\\",\\n \\"XForwardedFor\\": \\"on\\\\n\\",\\n \\"BackendServerPort\\": 8080\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 8080\\n Running\\n 50\\n wrr\\n on\\n 3\\n 3\\n 10\\n 5000\\n 5\\n abc\\n off\\n 10002\\n 60\\n 15\\n http_2xx\\n www.example.com\\n /checkpreload.htm\\n 6027667\\n head\\n","errorExample":""}]', - 'title' => 'DescribeLoadBalancerHTTPListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Clusters\\": [\\n {\\n \\"ClusterId\\": \\"eck-xxxxxxx\\",\\n \\"Name\\": \\"test-eck-name\\",\\n \\"AliUid\\": \\"1375383353108460\\",\\n \\"EnsRegionId\\": \\"cn-hangzhou-55\\",\\n \\"KubernetesVersion\\": \\"1.31.9-aliyunedge.1\\",\\n \\"VpcId\\": \\"n-5wsgr3xeolb2ist303wp3cscp\\",\\n \\"VswitchIds\\": [\\n \\"vsw-xxxxxxx\\"\\n ],\\n \\"PodVswitchIds\\": [\\n \\"vsw-xxxxxxx\\"\\n ],\\n \\"ContainerCidr\\": \\"10.0.0.0/8\\",\\n \\"ServiceCidr\\": \\"192.168.0.0/16\\",\\n \\"PublicAccess\\": true,\\n \\"LoadBalancerId\\": \\"lb-58dngw0fyimzzvwljfec7hy0z\\",\\n \\"ControlPlaneConfig\\": {\\n \\"InstanceSpec\\": \\"ens.sn1.medium\\",\\n \\"ImageId\\": \\"m-68be8cb9f71fhyvjekxa23qsf\\",\\n \\"SystemDiskCategory\\": \\"cloud_ssd\\",\\n \\"SystemDiskSize\\": 100,\\n \\"ContainerRuntime\\": \\"containerd\\",\\n \\"NodePortRange\\": \\"30000-32767\\",\\n \\"Size\\": 5\\n },\\n \\"JoinToken\\": \\"xxxxxxxxxx.yyyyyyy\\",\\n \\"Config\\": \\"{\\\\n \\\\\\"kind\\\\\\": \\\\\\"Config\\\\\\",\\\\n \\\\\\"apiVersion\\\\\\": \\\\\\"v1\\\\\\",\\\\n \\\\\\"preferences\\\\\\": {},\\\\n \\\\\\"clusters\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"kubernetes\\\\\\",\\\\n \\\\\\"cluster\\\\\\": {\\\\n \\\\\\"server\\\\\\": \\\\\\"https://000.000.000.000:6443\\\\\\",\\\\n \\\\\\"certificate-authority-data\\\\\\": \\\\\\"\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"users\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"kubernetes-admin\\\\\\",\\\\n \\\\\\"user\\\\\\": {\\\\n \\\\\\"client-certificate-data\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"client-key-data\\\\\\": \\\\\\"\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"contexts\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"kubernetes-admin@kubernetes\\\\\\",\\\\n \\\\\\"context\\\\\\": {\\\\n \\\\\\"cluster\\\\\\": \\\\\\"kubernetes\\\\\\",\\\\n \\\\\\"user\\\\\\": \\\\\\"kubernetes-admin\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"current-context\\\\\\": \\\\\\"kubernetes-admin@kubernetes\\\\\\"\\\\n }\\",\\n \\"State\\": \\"running\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'CreateLoadBalancerHTTPSListener' => [ - 'summary' => 'Creates an HTTPS listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCreatePrePaidInstanceResult' => [ + 'summary' => 'Queries the results of creating an instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5s8w63yydi59w7klaikam****', - ], + 'schema' => ['description' => 'The ID of the instance. You can call the CreateIntance operation to create an instance.', 'type' => 'string', 'required' => true, 'example' => 'i-6ecpqvkicnchxccozrp****', 'title' => ''], ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listening port that is used by Edge Load Balancer (ELB) to receive requests and forward the requests to backend servers. Valid values: **1** to **65535**.'."\n" - ."\n" - .'> We recommend that you use port 443 for HTTPS.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', + 'type' => 'object', + 'properties' => [ + 'InstanceCreateResult' => [ + 'description' => 'Returned results of creating an instance.', + 'type' => 'object', + 'properties' => [ + 'InstanceCreateStatus' => ['description' => 'The status of the instance creation.'."\n" + ."\n" + .'- Accepted'."\n" + ."\n" + .'- Creating'."\n" + ."\n" + .'- Failed'."\n" + ."\n" + .'- Successed', 'type' => 'string', 'example' => 'Successed', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-6ecpqvkicnchxccozrpxxxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The input parameter is Invalid.', 'description' => ''], + ['errorCode' => 'StockNotEnough', 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DescribeCreatePrePaidInstanceResult', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:40.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCreatePrePaidInstanceResult'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ListenerForward', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启HTTP至HTTPS的转发。取值:on | off。', - 'description' => 'Specifies whether to enable redirection from HTTP to HTTPS. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - 'enum' => [ - 'on', - 'off', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeCreatePrePaidInstanceResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceCreateResult\\": {\\n \\"InstanceCreateStatus\\": \\"Successed\\",\\n \\"InstanceId\\": \\"i-6ecpqvkicnchxccozrpxxxx\\"\\n },\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', + ], + 'DescribeDataDistResult' => [ + 'summary' => 'Queries the distribution status of data files on edge instances of an application.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ForwardPort', - 'in' => 'query', - 'schema' => [ - 'title' => 'HTTP至HTTPS的监听转发端口。', - 'description' => 'The listener port that is used to redirect HTTP requests to HTTPS.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '0', - ], + 'AK' => [], ], + ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'Description', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The description of the listener. The description must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https_80', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', 'title' => ''], ], [ - 'name' => 'Scheduler', + 'name' => 'DataNames', 'in' => 'query', - 'schema' => [ - 'title' => '调度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections on a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', - ], - ], + 'schema' => ['description' => 'The name of the data file. Separate multiple names with commas (,). By default, all data files are queried.', 'type' => 'string', 'required' => false, 'example' => 'cloudgame-shanghai/deploy_app/20220215/1644895216305ACG_M21B-ota-1.1.2-D-0215.0628_V1_0002-pre-weiduan.zip', 'title' => ''], ], [ - 'name' => 'StickySessionType', + 'name' => 'DataVersions', 'in' => 'query', - 'schema' => [ - 'title' => 'cookie的处理方式。取值: insert:植入Cookie。 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。 server:重写Cookie。 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。 说明 当StickySession的值为on时,必须指定该参数。', - 'description' => 'The method that is used to handle cookies. Valid values:'."\n" - ."\n" - .'* **insert**: inserts a cookie. ELB inserts a session cookie (SERVERID) into the first HTTP or HTTPS response that is sent to a client. Subsequent requests to ELB carry this cookie, and ELB determines the destination servers of the requests based on the cookies.'."\n" - .'* **server**: rewrites the original cookie. SLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.'."\n" - ."\n" - .'> This parameter is required when the StickySession parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - 'enum' => [ - 'insert', - 'server', - ], - ], + 'schema' => ['description' => 'The version number of the data file. Separate multiple numbers with commas (,). By default, all versions of data files are queried.', 'type' => 'string', 'required' => false, 'example' => '4885', 'title' => ''], ], [ - 'name' => 'CookieTimeout', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'title' => 'Cookie超时时间。 取值:1~86400(秒)。 说明 当StickySession为on且StickySessionType为insert时,该参数必选。', - 'description' => 'The timeout period of a cookie. Valid values: **1** to **86400**. Unit: seconds.'."\n" - ."\n" - .'> This parameter is required if you set StickySession to on and StickySessionType to insert.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '100', - ], + 'schema' => ['description' => 'The IDs of ENS instances. Separate multiple IDs with commas (,). By default, all instances are queried.', 'type' => 'string', 'required' => false, 'example' => 'i-7ecpqvkicnchxccozrp,i-6ecpqvkicnchxccozrp', 'title' => ''], ], [ - 'name' => 'Cookie', + 'name' => 'MinDate', 'in' => 'query', - 'schema' => [ - 'title' => '服务器上配置的Cookie。 长度为1-200,只能包含ASCII英文字母和数字字符,不能包含逗号、分号或空格,也不能以$开头。 说明 当StickySession为on且StickySessionType为server时,该参数必选。', - 'description' => 'The cookie that is configured on the server. The cookie must be **1** to **200** characters in length and contain only ASCII characters and digits.'."\n" - ."\n" - .'> This parameter is required if you set StickySession to on and StickySessionType to server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-01-02', 'title' => ''], ], [ - 'name' => 'HealthCheck', + 'name' => 'MaxDate', 'in' => 'query', - 'schema' => [ - 'title' => '是否开启健康检查。 取值:on | off。', - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'on', - 'enum' => [ - 'on', - 'off', - ], - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-02-01', 'title' => ''], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的域名,取值: $_ip: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。是否要支持? domain:域名长度为1-80字符,只能包含字母、数字、点号(.)和连字符(-)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The domain name that you want to use for health checks.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The page number. Pages start from page 1. This parameter is optional if you want to return the push status of all data files.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'HealthCheckURI', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的URI。 长度限制为1~80,只能使用字母、数字和”-/.%?#&“这些字符。 URL不能只为”/“,但必须以”/“开头。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/checkpreload.htm', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The number of entries per page. This parameter is optional if you want to return the distribution status of all data files.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'HealthyThreshold', + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**. Default value: **3**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The IDs of the ENS nodes.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => '[\\"cn-xiangyang-19\\"]', 'title' => ''], 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**. Default value: **3**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', + 'type' => 'object', + 'properties' => [ + 'DistResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DistResult' => [ + 'description' => 'The distribution status of data files on edge instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data distribution status of edge resource instances.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the data file.', 'type' => 'string', 'example' => 'gcs-prod-websocket-eip-unicom', 'title' => ''], + 'StatusStats' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StatusStat' => [ + 'description' => 'The distribution status statistics.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'InstanceCount' => ['description' => 'The number of associated edge instances.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'Instances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => 'The distribution status of the edge instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The distribution status of edge resource instances.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the instance', 'type' => 'string', 'example' => 'i-5qzje8f5un1wmi341m2yetaxv', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the distribution. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-11-19T07:24:52Z', 'title' => ''], + 'StatusDescrip' => ['description' => 'The description of the distribution status.', 'type' => 'string', 'example' => 'Succeeded', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the distribution status was last updated. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-10-11T02:38:19Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Status' => ['description' => 'The distribution status. The value is of the enumeration type. Valid values:'."\n" + ."\n" + .'- SUCCESS: The distribution is successful.'."\n" + ."\n" + .'- FAILED: The distribution failed.'."\n" + ."\n" + .'- DISTING: The data is being distributed.'."\n" + ."\n" + .'- POD\\_RESTARTING: The idle pod is being restarted.'."\n" + ."\n" + .'- DELETED: The data is cleared or removed.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Version' => ['description' => 'The version number of the data file.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '50373E71-7710-4620-8AAB-133CCE49451C', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '49', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。在HealthCheck值为on时才会有效。 取值:1~300(秒)。 说明 如果HealthCHeckTimeout的值小于HealthCheckInterval的值,则HealthCHeckTimeout无效,超时时间为HealthCheckInterval的值。', - 'description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails to pass the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '5', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'LimitExceeded.SecurityGroup', 'errorMessage' => 'The number of securityGroup exceeds the limit.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的后端服务器的端口。 取值: 1~65535。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '11', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DistResults\\": {\\n \\"DistResult\\": [\\n {\\n \\"Name\\": \\"gcs-prod-websocket-eip-unicom\\",\\n \\"StatusStats\\": {\\n \\"StatusStat\\": [\\n {\\n \\"InstanceCount\\": \\"10\\",\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"InstanceId\\": \\"i-5qzje8f5un1wmi341m2yetaxv\\",\\n \\"StartTime\\": \\"2021-11-19T07:24:52Z\\",\\n \\"StatusDescrip\\": \\"Succeeded\\",\\n \\"UpdateTime\\": \\"2021-10-11T02:38:19Z\\"\\n }\\n ]\\n },\\n \\"Status\\": \\"SUCCESS\\"\\n }\\n ]\\n },\\n \\"Version\\": \\"standard\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"50373E71-7710-4620-8AAB-133CCE49451C\\",\\n \\"TotalCount\\": 49\\n}","type":"json"}]', + 'title' => 'DescribeDataDistResult', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:43.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2023-03-02T05:54:57.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataDistResult'], ], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的时间间隔。 取值: 1~50(秒)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Default value: **2**. Unit: seconds.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '2', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDataDistResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'translator' => 'manual', + ], + 'DescribeDataDownloadURL' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。 默认值为http_2xx。 取值:http_2xx | http_3xx | http_4xx | http_5xx。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The HTTP status code for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'IdleTimeout', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '指定连接空闲超时时间,取值范围为1~60秒,默认值为15秒。 在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" - ."\n" - .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, ELB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '60', - 'minimum' => '1', - 'example' => '15', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '474bdef0-d149-4695-abfb-52912d9143f0', 'title' => ''], ], [ - 'name' => 'RequestTimeout', + 'name' => 'DataName', 'in' => 'query', - 'schema' => [ - 'title' => '指定请求超时时间,取值范围为1~180秒,默认值为60秒。 在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回 HTTP 504 错误码。', - 'description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" - ."\n" - .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '180', - 'minimum' => '1', - 'example' => '60', - ], + 'schema' => ['description' => 'The name of the data file.', 'type' => 'string', 'required' => true, 'example' => 'mirror_file/pk-1642597182026-878199448832413.tar', 'title' => ''], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'DataVersion', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '服务器证书的ID。', - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '60276**', - ], + 'schema' => ['description' => 'The version number of the data file.', 'type' => 'string', 'required' => true, 'example' => '7895', 'title' => ''], ], [ - 'name' => 'HealthCheckMethod', + 'name' => 'ServerFilterStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP request method for health checks. Valid values:'."\n" - ."\n" - .'* **head** (default): requests the head of the page.'."\n" - .'* **get**: requests the specified part of the page and returns the entity body.'."\n" - ."\n" - .'> This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'head', - 'enum' => [ - 'get', - 'head', - ], - ], + 'schema' => ['description' => 'The condition that you want to use to filter file servers. You can specify multiple canary release policies. By default, all resources are queried.', 'type' => 'string', 'required' => false, 'example' => '{\\"name\\": \\"ScheduleToRegionId\\",\\"parameters\\":{\\"operator\\": \\"In\\",\\"values\\": [\\"cn-shijiazhuang-telecom_unicom_cmcc\\"]}}', 'title' => ''], ], [ - 'name' => 'BackendServerPort', + 'name' => 'ExpireTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port that is used by the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + 'schema' => ['description' => 'This parameter is reserved.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '600', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'Data' => [ + 'description' => 'The download URLs of data files.', + 'type' => 'object', + 'properties' => [ + 'ServerList' => [ + 'description' => 'The file servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Host' => ['description' => 'The host address of the file server.', 'type' => 'string', 'example' => '1.1.1.1:8080', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'example' => 'cn-chenzhou-5', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Url' => ['description' => 'The download URL of the data file.', 'type' => 'string', 'example' => '/file/1450088842124331/97a32f2a-aa2c-436a-b19c-05b20d258618/f0313053530fc727f81b7d03fad93cd2/e4c2e8edac362acab7123654b9e73432?ak=edgepaas-innerapi-daily&ts=1611229454&sign=Yycbax%2F4OsTgm6BLoxR6lPs5gKE%3D', 'title' => ''], + 'ExpireTime' => ['description' => 'The time when the data file expires. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-12-10T03:36:27Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'Success', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found. ', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ServerCertificateNotFound', - 'errorMessage' => 'The input parameter serverCertificateId that is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'The listener already exists.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'CreateLoadBalancerHTTPSListener', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'SetLoadBalancerHTTPSListenerAttribute' => [ - 'summary' => 'Modifies the configurations of an HTTPS listener.', - 'methods' => [ - 'get', - 'post', + 'title' => 'DescribeDataDownloadURL', + 'summary' => 'Queries the download URLs of application data on file servers and returns the file servers on which data is pushed.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataDownloadURL'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDataDownloadURL', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": {\\n \\"ServerList\\": [\\n {\\n \\"Host\\": \\"1.1.1.1:8080\\",\\n \\"RegionId\\": \\"cn-chenzhou-5\\"\\n }\\n ],\\n \\"Url\\": \\"/file/1450088842124331/97a32f2a-aa2c-436a-b19c-05b20d258618/f0313053530fc727f81b7d03fad93cd2/e4c2e8edac362acab7123654b9e73432?ak=edgepaas-innerapi-daily&ts=1611229454&sign=Yycbax%2F4OsTgm6BLoxR6lPs5gKE%3D\\",\\n \\"ExpireTime\\": \\"2021-12-10T03:36:27Z\\"\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": 0,\\n \\"Message\\": \\"Success\\"\\n}","type":"json"}]', + ], + 'DescribeDataPushResult' => [ + 'summary' => 'You can invoke DescribeDataPushResult to obtain the pre-push status results of an application\'s data files on edge zones.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例的ID。', - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'DataNames', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例前端使用的端口。 取值:1-65535。', - 'description' => 'The listener port whose attributes are to be modified. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '10002', - ], + 'schema' => ['description' => 'The name of the data file. Separate multiple names with commas (,). By default, all data files are queried.', 'type' => 'string', 'required' => false, 'example' => '159828628258496/mirror_file/game-2553efe7-7bf8-40fb-a6e7-09c9c00a992a.tar', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'DataVersions', 'in' => 'query', - 'schema' => [ - 'title' => '设置监听的描述信息。 长度限制为1-80个字符,允许包含字母、数字、“-”、“/”、“.”和“_”等字符。支持中文描述。', - 'description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" - ."\n" - .'> The value cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Monitoring instructions', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The version number of the data file. Separate multiple numbers with commas (,). By default, all versions of data files are queried.', 'type' => 'string', 'required' => false, 'example' => '90396', 'title' => ''], ], [ - 'name' => 'Scheduler', + 'name' => 'MinDate', 'in' => 'query', - 'schema' => [ - 'title' => '调度算法。取值: wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'enum' => [ - 'wrr', - 'wlc', - 'rr', - ], - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-02-15', 'title' => ''], ], [ - 'name' => 'HealthCheck', + 'name' => 'MaxDate', 'in' => 'query', - 'schema' => [ - 'title' => '是否开启健康检查。 取值:on | off。', - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-02-20', 'title' => ''], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的域名,取值: $_ip: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。是否要支持? domain:域名长度为1-80字符,只能包含字母、数字、点号(.)和连字符(-)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The domain name that you want to use for health checks.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example.com', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'Page number, starting from 1. This parameter can be omitted when exporting all information.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'HealthCheckURI', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '用于健康检查的URI。 长度限制为1~80,只能使用字母、数字和”-/.%?#&“这些字符。 URL不能只为”/“,但必须以”/“开头。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/checkpreload.htm', - 'maxLength' => 80, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The number of entries per page. This parameter is optional if you want to return the push status of all data files.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'HealthyThreshold', + 'name' => 'RegionIds', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', - ], + 'schema' => ['description' => 'The IDs of ENS nodes. Separate multiple IDs with commas (,). By default, all ENS nodes are queried.', 'type' => 'string', 'required' => false, 'example' => 'cn-wuhan-telecom_unicom_cmcc-2,cn-jiaozuo-2', 'title' => ''], ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。 取值:2~10。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '2', - 'example' => '3', + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PushResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PushResult' => [ + 'description' => 'The push results of data files.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the data file.', 'type' => 'string', 'example' => 'gcs-pre-websocket-eip-telecom', 'title' => ''], + 'StatusStatS' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StatusStat' => [ + 'description' => 'The push status of data files.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RegionIdCount' => ['description' => 'The total number of ENS nodes.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'RegionIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionId' => [ + 'description' => 'The push status of data files on the ENS node.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-wuxi-5', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the push operation. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-12-28T16:00:00Z', 'title' => ''], + 'StatusDescrip' => ['description' => 'The description of the status.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the status was last updated. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-12-07T02:37:10Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Status' => ['description' => 'The push status. The value is of the enumeration type. Valid values: SUCCESS FAILED PUSHING', 'type' => 'string', 'example' => 'FAILED', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Version' => ['description' => 'The version number of the data file.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'LimitExceeded.SecurityGroup', 'errorMessage' => 'The number of securityGroup exceeds the limit.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'Query application data pre-push results', + 'changeSet' => [ + ['createdAt' => '2024-03-12T08:43:29.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataPushResult'], + ], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。在HealthCheck值为on时才会有效。 取值:1~300(秒)。 说明 如果HealthCHeckTimeout的值小于HealthCheckInterval的值,则HealthCHeckTimeout无效,超时时间为HealthCheckInterval的值。', - 'description' => 'The timeout period of a health check response. If the backend ENS does not respond within the specified time, the health check fails.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of the HealthCheckTimeout property is smaller than the value of the HealthCheckInterval property, the timeout period specified by the HealthCheckTimeout property becomes invalid and the value of the HealthCheckInterval property is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '9', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDataPushResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"PushResults\\": {\\n \\"PushResult\\": [\\n {\\n \\"Name\\": \\"gcs-pre-websocket-eip-telecom\\",\\n \\"StatusStatS\\": {\\n \\"StatusStat\\": [\\n {\\n \\"RegionIdCount\\": 2,\\n \\"RegionIds\\": {\\n \\"RegionId\\": [\\n {\\n \\"RegionId\\": \\"cn-wuxi-5\\",\\n \\"StartTime\\": \\"2021-12-28T16:00:00Z\\",\\n \\"StatusDescrip\\": \\"Success\\",\\n \\"UpdateTime\\": \\"2021-12-07T02:37:10Z\\"\\n }\\n ]\\n },\\n \\"Status\\": \\"FAILED\\"\\n }\\n ]\\n },\\n \\"Version\\": \\"standard\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"TotalCount\\": 6\\n}","type":"json"}]', + ], + 'DescribeDeviceService' => [ + 'summary' => 'Queries the properties of instances and virtual devices in a specific edge application.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的后端服务器的端口。 取值: 1~65535。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '7001', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'HealthCheckInterval', + 'name' => 'ServiceId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查的时间间隔。 取值: 1~50(秒)。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '2', - ], + 'schema' => ['title' => 'Service ID', 'description' => 'Service ID', 'type' => 'string', 'required' => false, 'example' => 's-cxxxxx'], ], [ - 'name' => 'HealthCheckHttpCode', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。 默认值为http_2xx。 取值:http_2xx | http_3xx | http_4xx | http_5xx。 说明 在HealthCheck值为on时才会有效。', - 'description' => 'The HTTP status code for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**.'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n" - ."\n" - .'> This parameter takes effect only if you set HealthCheck to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'i-5sg1owx0g4ojy66ab2tez77r2', 'title' => ''], ], [ - 'name' => 'IdleTimeout', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => '指定连接空闲超时时间,取值范围为1~60秒,默认值为15秒。 在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" - ."\n" - .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, ELB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '60', - 'minimum' => '1', - 'example' => '15', - ], + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chongqing-11', 'title' => ''], ], [ - 'name' => 'RequestTimeout', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '指定请求超时时间,取值范围为1~180秒,默认值为60秒。 在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回 HTTP 504 错误码。', - 'description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" - ."\n" - .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '180', - 'minimum' => '1', - 'example' => '60', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => false, 'example' => 'a2bac6f4-75dc-455e-8389-2dc8e47526d3', 'title' => ''], ], [ - 'name' => 'ServerCertificateId', - 'in' => 'query', - 'schema' => [ - 'title' => '服务器证书的ID。', - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '6027667', - ], + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'This parameter does not take effect.', 'type' => 'string', 'required' => false, 'example' => 'cn-chongqing-10', 'title' => ''], ], [ - 'name' => 'HealthCheckMethod', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP request method for health checks. Valid values:'."\n" - ."\n" - .'* **head** (default): requests the head of the page.'."\n" - .'* **get**: requests the specified part of the page and returns the entity body.'."\n" - ."\n" - .'> This parameter takes effect only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'get', - 'enum' => [ - 'head', - 'get', - ], - ], + 'schema' => ['description' => 'The ID of the order.', 'type' => 'string', 'required' => false, 'example' => '2661b1dd-3453-418d-8182-bb34f79e8d3c', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '3A535110-3EE3-5EC5-B1ED-10B7067A1FC8'], + 'ResourceDetailInfos' => [ + 'description' => 'The information about the devices.', + 'type' => 'array', + 'items' => [ + 'description' => 'Equipment information.', + 'type' => 'object', + 'properties' => [ + 'RegionID' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-jiaozuo-2', 'title' => ''], + 'ID' => ['description' => 'The ID of the cloud device.', 'type' => 'string', 'example' => 'h-uf6009zoaexs5pefypbo', 'title' => ''], + 'IP' => ['description' => 'The IP address.', 'type' => 'string', 'example' => '120.27.219.219', 'title' => ''], + 'Server' => ['description' => 'The server name of the ENS node.', 'type' => 'string', 'example' => 'ens-nc2', 'title' => ''], + 'Status' => ['description' => 'The status of the device.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'Type' => ['description' => 'The type of the device.', 'type' => 'string', 'example' => 'ens.ac6.large', 'title' => ''], + 'Mac' => ['description' => 'The media access control (MAC) address of the device.', 'type' => 'string', 'example' => 'AA:BB:77:88:99:03', 'title' => ''], + 'ISP' => ['description' => 'The Internet service provider (ISP).', 'type' => 'string', 'example' => 'cmcc', 'title' => ''], + 'DeviceName' => ['description' => 'The name of the device.', 'type' => 'string', 'example' => '5JhF100NEgdBcpNren32', 'title' => ''], + 'ImageID' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'm-2ze40oyhjorpyw61k7be', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AppStatus' => [ + 'description' => 'The status information of the application.', + 'type' => 'object', + 'properties' => [ + 'Phase' => ['description' => 'The status of the application. The value is of the enumeration type. Valid values:'."\n" + ."\n" + .'Three intermediate states:'."\n" + ."\n" + .'- CREATING'."\n" + ."\n" + .'- UPDATING'."\n" + ."\n" + .'- DELETING'."\n" + ."\n" + .'Four final states:'."\n" + ."\n" + .'- CREATE\\_FAILED'."\n" + ."\n" + .'- UPDATE\\_FAILED'."\n" + ."\n" + .'- DELETE\\_FAILED'."\n" + ."\n" + .'- RUNNING', 'type' => 'string', 'example' => 'CREATING', 'title' => ''], + 'StatusDescrip' => ['description' => 'The description of the application status.', 'type' => 'string', 'example' => 'Creating', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the status was last updated.', 'type' => 'string', 'example' => '2021-01-26T05:04Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'AppMetaData' => [ + 'description' => 'The basic properties of the application.', + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '97a32f2a-aa2c-436a-b19c-05b20d258618', 'title' => ''], + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'iotx-api-admin', 'title' => ''], + 'AppStableVersion' => ['description' => 'The stable version number of the application.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'AppType' => ['description' => 'The type of the application. The value is of the enumeration type. Valid values:'."\n" + ."\n" + .'- Common'."\n" + ."\n" + .'- Scheduler', 'type' => 'string', 'example' => 'Common', 'title' => ''], + 'ClusterName' => ['description' => 'The name of the application cluster.', 'type' => 'string', 'example' => 'poc', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the application was created.', 'type' => 'string', 'example' => '2022-03-03T03:42:11', 'title' => ''], + 'Description' => ['description' => 'The description of the application.', 'type' => 'string', 'example' => 'Test application', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ResourceInfos' => [ + 'description' => 'The information about the instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'Resource information.', + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The version of the application.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'AreaCode' => ['description' => 'The area code.', 'type' => 'string', 'example' => '410800', 'title' => ''], + 'AreaName' => ['description' => 'The region name.', 'type' => 'string', 'example' => '华中,河南省,焦作市', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the application was created.', 'type' => 'string', 'example' => '2019-10-02T08:26Z', 'title' => ''], + 'DeviceInfos' => [ + 'description' => 'The information about the devices.', + 'type' => 'array', + 'items' => [ + 'description' => 'Equipment information.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the device.', 'type' => 'string', 'example' => 'test-api', 'title' => ''], + 'Network' => [ + 'description' => 'The network information.', + 'type' => 'array', + 'items' => [ + 'description' => 'Network information.', + 'type' => 'object', + 'properties' => [ + 'ContainerPorts' => ['description' => 'The port of the container.', 'type' => 'string', 'example' => '10000-10010', 'title' => ''], + 'ExternalIp' => ['description' => 'The public IP address.', 'type' => 'string', 'example' => '39.105.62.120', 'title' => ''], + 'HostPorts' => ['description' => 'The port range.', 'type' => 'string', 'example' => '80-8080', 'title' => ''], + 'Protocol' => ['description' => 'The protocol of the gateway. The value is of the enumeration type. Valid values:'."\n" + ."\n" + .'- TCP'."\n" + ."\n" + .'- UDP', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Status' => ['description' => 'The status.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-5s9boobrmh5000kv4jmi0oeai', 'title' => ''], + 'InstanceStatus' => ['description' => 'The status of the instance.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'InternalIps' => [ + 'description' => 'The internal IP addresses.', + 'type' => 'array', + 'items' => [ + 'description' => 'IP information.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The internal IP address.', 'type' => 'string', 'example' => '10.0.2.3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PublicIps' => [ + 'description' => 'The public IP addresses.', + 'type' => 'array', + 'items' => [ + 'description' => 'Public IP address.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The public IP address.', 'type' => 'string', 'example' => '122.13.173.137', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RegionCode' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-jiaozuo-2', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-jiaozuo-2'."\n", 'title' => ''], + 'RegionName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '中国焦作-2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'The input parameter listener that is not found.', - ], - [ - 'errorCode' => 'IncorrectListenerStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ServerCertificateNotFound', - 'errorMessage' => 'The input parameter serverCertificateId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'SetLoadBalancerHTTPSListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'DescribeLoadBalancerHTTPSListenerAttribute' => [ - 'summary' => 'Queries the configurations of an HTTPS listener.', - 'methods' => [ - 'get', - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A535110-3EE3-5EC5-B1ED-10B7067A1FC8\\",\\n \\"ResourceDetailInfos\\": [\\n {\\n \\"RegionID\\": \\"cn-jiaozuo-2\\",\\n \\"ID\\": \\"h-uf6009zoaexs5pefypbo\\",\\n \\"IP\\": \\"120.27.219.219\\",\\n \\"Server\\": \\"ens-nc2\\",\\n \\"Status\\": \\"Running\\",\\n \\"Type\\": \\"ens.ac6.large\\",\\n \\"Mac\\": \\"AA:BB:77:88:99:03\\",\\n \\"ISP\\": \\"cmcc\\",\\n \\"DeviceName\\": \\"5JhF100NEgdBcpNren32\\",\\n \\"ImageID\\": \\"m-2ze40oyhjorpyw61k7be\\"\\n }\\n ],\\n \\"AppStatus\\": {\\n \\"Phase\\": \\"CREATING\\",\\n \\"StatusDescrip\\": \\"Creating\\",\\n \\"UpdateTime\\": \\"2021-01-26T05:04Z\\"\\n },\\n \\"AppMetaData\\": {\\n \\"AppId\\": \\"97a32f2a-aa2c-436a-b19c-05b20d258618\\",\\n \\"AppName\\": \\"iotx-api-admin\\",\\n \\"AppStableVersion\\": \\"v1\\",\\n \\"AppType\\": \\"Common\\",\\n \\"ClusterName\\": \\"poc\\",\\n \\"CreateTime\\": \\"2022-03-03T03:42:11\\",\\n \\"Description\\": \\"Test application\\"\\n },\\n \\"ResourceInfos\\": [\\n {\\n \\"AppVersion\\": \\"v1\\",\\n \\"AreaCode\\": \\"410800\\",\\n \\"AreaName\\": \\"华中,河南省,焦作市\\",\\n \\"CreateTime\\": \\"2019-10-02T08:26Z\\",\\n \\"DeviceInfos\\": [\\n {\\n \\"Name\\": \\"test-api\\",\\n \\"Network\\": [\\n {\\n \\"ContainerPorts\\": \\"10000-10010\\",\\n \\"ExternalIp\\": \\"39.105.62.120\\",\\n \\"HostPorts\\": \\"80-8080\\",\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"Status\\": \\"Running\\"\\n }\\n ],\\n \\"InstanceId\\": \\"i-5s9boobrmh5000kv4jmi0oeai\\",\\n \\"InstanceStatus\\": \\"Running\\",\\n \\"InternalIps\\": [\\n {\\n \\"Ip\\": \\"10.0.2.3\\"\\n }\\n ],\\n \\"PublicIps\\": [\\n {\\n \\"Ip\\": \\"122.13.173.137\\"\\n }\\n ],\\n \\"RegionCode\\": \\"cn-jiaozuo-2\\",\\n \\"RegionId\\": \\"cn-jiaozuo-2\\\\n\\",\\n \\"RegionName\\": \\"中国焦作-2\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeDeviceService', + 'changeSet' => [ + ['createdAt' => '2021-06-03T06:37:27.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-25T02:50:33.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-13T04:00:11.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDeviceService'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDeviceService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeDiskIopsList' => [ + 'summary' => 'Queries the disk IOPS monitoring data.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'ListenerPort', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The listening port that you want to query. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '443', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the format of yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2023-12-14 00:00:00'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5qoxu2rsr0ytanpn4r3i****', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the format of yyyy-MM-dd HH:mm:ss. The time range specified by the StartTime and EndTime parameters cannot exceed one day for a query.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2023-12-14 23:59:59'], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the disk. Format: d-\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'd-5tzm9wnhzlhjzcbtxo465****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Starting**'."\n" - .'* **Configuring**'."\n" - .'* **Stopping**'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Bandwidth' => [ - 'description' => 'The peak bandwidth of the Edge Load Balancer (ELB). The default value is -1, which indicates that the bandwidth is not limited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'Scheduler' => [ - 'description' => 'The routing algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections to a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **qch**: consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" - .'* **iqch**: consistent hashing that is based on specific three bytes of the iQUIC CIDs. Requests whose second to fourth bytes are the same are distributed to the same backend server.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" - ."\n" - .'* Default value: 5.'."\n" - .'* Valid values: **1** to **300**.'."\n" - .'* Unit: seconds.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" - ."\n" - .'* If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If an empty string is returned for this parameter, the port specified by BackendServerPort is used for health checks.'."\n" - ."\n" - .'> This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9902', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" - ."\n" - .'> This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Description' => [ - 'description' => 'The description of the listener. The description must be **1** to **80** characters in length.'."\n", - 'type' => 'string', - 'example' => 'abc', - ], - 'ListenerForward' => [ - 'description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled. Valid values:'."\n" - ."\n" - .'* on'."\n" - .'* off'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'ForwardPort' => [ - 'description' => 'The listener port that is used to redirect HTTP requests to HTTPS.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestTimeout' => [ - 'description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" - ."\n" - .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" - ."\n" - .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code for a successful health check. Valid values:'."\n" - ."\n" - .'* **http\\_2xx** (default)'."\n" - .'* **http\\_3xx**.'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n" - ."\n" - .'> This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'example' => 'http_2xx', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks.'."\n" - ."\n" - .'> This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'example' => 'www.test.com', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI that is used for health checks. The URI must be **1** to **80** characters in length.'."\n" - ."\n" - .'* The URL must start with `/` and contain characters other than `/`.'."\n" - .'* This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'example' => '/checkpreload.htm', - ], - 'ServerCertificateId' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'example' => '60276**', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method used in HTTP health checks. Valid values:'."\n" - ."\n" - .'* **head**: requests the head of the page.'."\n" - .'* **get**: requests the specified part of the page and returns the entity body.'."\n" - ."\n" - .'> This parameter is returned only if the HealthCheck parameter is set to on.'."\n", - 'type' => 'string', - 'example' => 'head', - ], - 'BackendServerPort' => [ - 'description' => 'The port used by the backend server of the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'A7814CAB-DB4E-140A-9D6F-7C8210C1DAC3'], + 'DiskIopsList' => [ + 'description' => 'The IOPS monitoring data of the cloud disk.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DiskId' => ['description' => 'The ID of the disk.', 'type' => 'string', 'title' => '', 'example' => 'd-5tzm9wnhzlhjzcbtxo465****'], + 'RegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-3'], + 'ReadBytes' => ['description' => 'The read throughput. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '10054'], + 'ReadLatency' => ['description' => 'The read latency. Unit: ms.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '15646532'], + 'ReadOps' => ['description' => 'The read IOPS.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4'], + 'WriteBytes' => ['description' => 'The write throughput. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'WriteLatency' => ['description' => 'The write latency. Unit: microseconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'WriteOps' => ['description' => 'The write IOPS.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'BizTime' => ['description' => 'The business time . The time is displayed in the yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'title' => '', 'example' => '2023-12-14 00:00:00'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ListenerPort\\": 8080,\\n \\"Status\\": \\"Running\\",\\n \\"Bandwidth\\": 50,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 3,\\n \\"UnhealthyThreshold\\": 3,\\n \\"HealthCheckTimeout\\": 5,\\n \\"HealthCheckConnectPort\\": 9902,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"abc\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": 0,\\n \\"RequestTimeout\\": 60,\\n \\"IdleTimeout\\": 15,\\n \\"HealthCheckHttpCode\\": \\"http_2xx\\",\\n \\"HealthCheckDomain\\": \\"www.test.com\\",\\n \\"HealthCheckURI\\": \\"/checkpreload.htm\\",\\n \\"ServerCertificateId\\": \\"60276**\\",\\n \\"HealthCheckMethod\\": \\"head\\",\\n \\"BackendServerPort\\": 8080\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 8080\\n Running\\n 50\\n wrr\\n on\\n 3\\n 3\\n 5\\n 9902\\n 5\\n abc\\n off\\n 0\\n 60\\n 15\\n http_2xx\\n www.test.com\\n /checkpreload.htm\\n 6027667\\n head\\n","errorExample":""}]', - 'title' => 'DescribeLoadBalancerHTTPSListenerAttribute', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'StartLoadBalancerListener' => [ - 'summary' => 'Enables a listener.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeDiskIopsList', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDiskIopsList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeDiskIopsList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A7814CAB-DB4E-140A-9D6F-7C8210C1DAC3\\",\\n \\"DiskIopsList\\": [\\n {\\n \\"DiskId\\": \\"d-5tzm9wnhzlhjzcbtxo465****\\",\\n \\"RegionId\\": \\"cn-hangzhou-3\\",\\n \\"ReadBytes\\": 10054,\\n \\"ReadLatency\\": 15646532,\\n \\"ReadOps\\": 4,\\n \\"WriteBytes\\": 0,\\n \\"WriteLatency\\": 0,\\n \\"WriteOps\\": 0,\\n \\"BizTime\\": \\"2023-12-14 00:00:00\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeDisks' => [ + 'summary' => 'Describes one or more disks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '15345', - 'abilityTreeNodes' => [ - 'FEATUREensO1PAP3', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '882', + 'abilityTreeNodes' => ['FEATUREensFV3GVR'], + ], + 'parameters' => [ + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => false, 'example' => 'cn-kunming-telecom', 'title' => ''], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the disk.', 'type' => 'string', 'required' => false, 'example' => 'd-5soak1gqa507lyfzvz0xo****', 'title' => ''], + ], + [ + 'name' => 'DiskName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the disk.', 'type' => 'string', 'required' => false, 'example' => 'DiskName', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. The value must be a number that is greater than 0.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'ListenerPort', + 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'The listener port to be enabled. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '8080', - ], + 'schema' => ['description' => 'The status of the disk. Valid values:'."\n" + ."\n" + .'- In-use: The disk is in use.'."\n" + ."\n" + .'- Available: The disk is available.'."\n" + ."\n" + .'- Attaching: The disk is being attached.'."\n" + ."\n" + .'- Detaching: The disk is being detached.'."\n" + ."\n" + .'- Creating: The disk is being created.'."\n" + ."\n" + .'- ReIniting: The disk is being re-initialized.'."\n" + ."\n" + .'- Deleting: The disk is being deleted.'."\n" + ."\n" + .'- Deleted: The disk is deleted.'."\n" + ."\n" + .'- Expiring: The disk is about to expire.', 'type' => 'string', 'required' => false, 'example' => 'Available', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5saivuir6b1mupxjfbhmk****', - ], + 'schema' => ['description' => 'The type of the disk. Valid values:'."\n" + ."\n" + .'- system: system disk'."\n" + ."\n" + .'- data: data disk', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'Category', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the ELB instance. Valid values:'."\n" - ."\n" - .'* tcp'."\n" - .'* udp'."\n" - .'* http'."\n" - .'* https'."\n" - ."\n" - .'> This parameter is required if the same port is used by listeners that use different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], + 'schema' => ['description' => 'The category of the disk. Valid values:'."\n" + ."\n" + .'- cloud\\_efficiency: ultra disk'."\n" + ."\n" + .'- cloud\\_ssd: standard SSD'."\n" + ."\n" + .'- local\\_hdd: local HDD'."\n" + ."\n" + .'- local\\_ssd: local SSD', 'type' => 'string', 'required' => false, 'example' => 'local_ssd', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], + [ + 'name' => 'DiskChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of the disk. Valid values:'."\n" + ."\n" + .'- PrePaid: subscription'."\n" + ."\n" + .'- PostPaid: pay-as-you-go', 'type' => 'string', 'required' => false, 'example' => 'prepay', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'The input parameter listener that is not found.', - ], - [ - 'errorCode' => 'IncorrectListenerStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + [ + 'name' => 'EnsRegionIds', + 'in' => 'query', + 'schema' => ['description' => 'The list of node IDs.', 'type' => 'string', 'required' => false, 'example' => '["cn-suzhou-telecom","cn-chengdu-telecom"]', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'StartLoadBalancerListener', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'StopLoadBalancerListener' => [ - 'summary' => 'Disables a listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DiskIds', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the disk.', 'type' => 'string', 'required' => false, 'example' => '[\\"d-wz99njena32z90ki****\\"]', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '15346', - 'abilityTreeNodes' => [ - 'FEATUREensHUSGFJ', + [ + 'name' => 'OrderByParams', + 'in' => 'query', + 'schema' => ['description' => 'The sorting order. The value is a JSON string. Example: {"EnsRegionId":"desc"}. By default, results are sorted by node ID in descending order.', 'type' => 'string', 'required' => false, 'example' => '{ "DiskNameSort":"desc","EnsRegionIdSort":"asc" }', 'title' => ''], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'ListenerPort', + 'name' => 'DiskType', 'in' => 'query', - 'schema' => [ - 'description' => 'The listener port that you want to disable. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '8080', - ], + 'schema' => ['description' => 'The purchasing model of the disk. Valid values:'."\n" + ."\n" + .'- ServiceDisk: The disk is created for an edge service.'."\n" + ."\n" + .'- ResoureDisk: The disk is purchased with the instance.'."\n" + ."\n" + .'- PostPayDisk: The disk is purchased separately.', 'type' => 'string', 'required' => false, 'example' => 'PostPayDisk', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5sc1s9zrui8lpb8u7cl4f****', - ], + 'schema' => ['description' => 'The instance to which the disk is attached.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'i-5t77rb0yoz79m28ku60sx****'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'SnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the ELB instance.'."\n" - ."\n" - .'> This parameter is required if the same port is used by listeners that use different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], + 'schema' => ['description' => 'The ID of the snapshot.', 'type' => 'string', 'required' => false, 'example' => 's-897654321****', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'Code' => ['description' => 'The status code. A value of 0 indicates a successful response.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Disks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Disks' => [ + 'description' => 'The list of disks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of a disk.', + 'type' => 'object', + 'properties' => [ + 'Category' => ['description' => 'The category of the disk. Valid values:'."\n" + ."\n" + .'- `cloud_efficiency`: Efficiency Cloud Disk'."\n" + ."\n" + .'- `cloud_ssd`: SSD Cloud Disk'."\n" + ."\n" + .'- `local_hdd`: local HDD'."\n" + ."\n" + .'- `local_ssd`: local SSD', 'type' => 'string', 'example' => 'local_ssd', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the disk was created. The time is displayed in UTC and follows the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2021-11-11T14:34:55+08:00', 'title' => ''], + 'DiskChargeType' => ['description' => 'The billing method of the disk. Valid values:'."\n" + ."\n" + .'- **prepaid**: subscription'."\n" + ."\n" + .'- **postpaid**: pay-as-you-go', 'type' => 'string', 'example' => 'prepaid', 'title' => ''], + 'DiskId' => ['description' => 'The ID of the disk.', 'type' => 'string', 'example' => 'd-5svum1dx1w4a4spr54lgr****', 'title' => ''], + 'DiskName' => ['description' => 'The name of the disk.', 'type' => 'string', 'example' => 'fvt-ecs-5cf0****', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'example' => 'cn-guangzhou-10', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance to which the disk is attached.', 'type' => 'string', 'example' => 'i-5t77rb0yoz79m28ku60sx****', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the instance to which the disk is attached.', 'type' => 'string', 'example' => 'Edge prod streaming server-1063', 'title' => ''], + 'Description' => ['description' => 'The description of the disk.', 'type' => 'string', 'example' => 'disk-description', 'title' => ''], + 'Size' => ['description' => 'The size of the disk. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'Status' => ['description' => 'The status of the disk. Valid values:'."\n" + ."\n" + .'- `In-use`: The disk is in use.'."\n" + ."\n" + .'- `Available`: The disk is available for attachment.'."\n" + ."\n" + .'- `Attaching`: The disk is being attached.'."\n" + ."\n" + .'- `Detaching`: The disk is being detached.'."\n" + ."\n" + .'- `Creating`: The disk is being created.'."\n" + ."\n" + .'- `ReIniting`: The disk is being re-initialized.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'Type' => ['description' => 'The type of the disk. Valid values:'."\n" + ."\n" + .'- `1`: system disk'."\n" + ."\n" + .'- `2`: data disk', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Portable' => ['description' => 'Indicates whether the disk can be detached. Valid values:'."\n" + ."\n" + .'- `true`: The disk can exist independently and can be attached to or detached from an instance in the same zone.'."\n" + ."\n" + .'- `false`: The disk cannot exist independently. Its lifecycle is bound to that of the instance.'."\n" + ."\n" + .'The **Portable** property is **false** for the following disk types:'."\n" + ."\n" + .'- Local HDD'."\n" + ."\n" + .'- Local SSD'."\n" + ."\n" + .'- Subscription data disk', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot from which the disk is created.', 'type' => 'string', 'example' => 's-bp67acfmxazb4p****', 'title' => ''], + 'SerialId' => ['description' => 'The serial number of the disk.', 'type' => 'string', 'example' => '123', 'title' => ''], + 'Encrypted' => ['description' => 'Indicates whether the disk is encrypted. Valid values:'."\n" + ."\n" + .'- **true**: The disk is encrypted.'."\n" + ."\n" + .'- **false**: The disk is not encrypted.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'EncryptedKeyId' => ['description' => 'The ID of the Key Management Service (KMS) key used for the disk.', 'type' => 'string', 'example' => '05467897a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Indicates whether the disk is released when the instance is released. Valid values:'."\n" + ."\n" + .'- `true`: The disk is released when the instance is released.'."\n" + ."\n" + .'- `false`: The disk is not released when the instance is released.', 'type' => 'boolean', 'default' => 'false', 'example' => 'false', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tags' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => 'The details of a tag.', + 'title' => '', + 'example' => '', + ], + 'description' => 'A list of tags.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The tags of the disk.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The information about the disks.', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '13', 'title' => ''], ], + 'description' => 'The response object.', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'The input parameter listener that is not found.', - ], - [ - 'errorCode' => 'IncorrectListenerStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'StopLoadBalancerListener', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'DeleteLoadBalancerListener' => [ - 'summary' => 'Deletes a listener.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Disks\\": {\\n \\"Disks\\": [\\n {\\n \\"Category\\": \\"local_ssd\\",\\n \\"CreationTime\\": \\"2021-11-11T14:34:55+08:00\\",\\n \\"DiskChargeType\\": \\"prepaid\\",\\n \\"DiskId\\": \\"d-5svum1dx1w4a4spr54lgr****\\",\\n \\"DiskName\\": \\"fvt-ecs-5cf0****\\",\\n \\"EnsRegionId\\": \\"cn-guangzhou-10\\",\\n \\"InstanceId\\": \\"i-5t77rb0yoz79m28ku60sx****\\",\\n \\"InstanceName\\": \\"Edge prod streaming server-1063\\",\\n \\"Description\\": \\"disk-description\\",\\n \\"Size\\": 20,\\n \\"Status\\": \\"Available\\",\\n \\"Type\\": \\"1\\",\\n \\"Portable\\": true,\\n \\"SnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"SerialId\\": \\"123\\",\\n \\"Encrypted\\": false,\\n \\"EncryptedKeyId\\": \\"05467897a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": false,\\n \\"Tags\\": {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"TotalCount\\": 13\\n}","type":"json"}]', + 'title' => 'DescribeDisks', + 'changeSet' => [ + ['createdAt' => '2025-05-21T02:19:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-11-18T07:55:55.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-11-14T09:04:02.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-10-17T07:53:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-20T03:50:26.000Z', 'description' => 'Response parameters changed, Response parameters changed'], + ['createdAt' => '2023-03-02T05:54:56.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed, Response parameters changed'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '15344', - 'abilityTreeNodes' => [ - 'FEATUREensU6BJRP', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '75', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDisks'], ], - 'tenantRelevance' => 'tenant', ], - 'parameters' => [ - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the Edge Load Balance (ELB) instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], - ], + 'ramActions' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDisks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], + ], ], ], + ], + 'translator' => 'machine', + ], + 'DescribeElbAvailableResourceInfo' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ListenerProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the ELB instance.'."\n" - ."\n" - .'> This parameter is required if the same port is used by listeners that use different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - 'enum' => [ - 'tcp', - 'udp', - 'http', - 'https', - ], - ], + 'AK' => [], ], ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The collection of resource information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The common parameter. The ID of the request. Each request has a unique ID, which is active for troubleshooting.', 'type' => 'string', 'example' => '25AAD194-4A37-51CF-B1CA-1E86FDAC23A6', 'title' => ''], + 'ElbAvailableResourceInfo' => [ + 'description' => 'The collection of resource information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of resource information.', + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the ENS edge zone.', 'type' => 'string', 'example' => 'cn-guangdong-10', 'title' => ''], + 'EnName' => ['description' => 'The English name of the edge zone.', 'type' => 'string', 'example' => 'cn-guangdong-10', 'title' => ''], + 'Area' => ['description' => 'The area.', 'type' => 'string', 'example' => 'SouthEast', 'title' => ''], + 'Province' => ['description' => 'The province.', 'type' => 'string', 'example' => 'Shanghai', 'title' => ''], + 'Name' => ['description' => 'The name of the edge zone.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'CanBuyCount' => ['description' => 'The quantity available for purchase.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'LoadBalancerSpec' => [ + 'description' => 'The specification of the load balancing instance.', + 'type' => 'array', + 'items' => ['description' => 'The specification of the load balancing instance.', 'type' => 'string', 'example' => 'elb.s2.small', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Ability' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'The input parameter listener that is not found.', - ], - [ - 'errorCode' => 'IncorrectListenerStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Query specifications of available resources for purchase', + 'summary' => 'Queries the specifications of available resources for purchase when you create an instance by calling DescribeElbAvailableResourceInfo.', + 'changeSet' => [ + ['createdAt' => '2025-02-13T02:14:49.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-01-18T02:10:36.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeElbAvailableResourceInfo'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeElbAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DeleteLoadBalancerListener', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25AAD194-4A37-51CF-B1CA-1E86FDAC23A6\\",\\n \\"ElbAvailableResourceInfo\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-guangdong-10\\",\\n \\"EnName\\": \\"cn-guangdong-10\\",\\n \\"Area\\": \\"SouthEast\\",\\n \\"Province\\": \\"Shanghai\\",\\n \\"Name\\": \\"test\\",\\n \\"CanBuyCount\\": \\"1\\",\\n \\"LoadBalancerSpec\\": [\\n \\"elb.s2.small\\"\\n ],\\n \\"Ability\\": [\\n \\"\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'DescribeLoadBalancerListeners' => [ - 'summary' => 'Queries listeners of Edge Load Balancer (ELB) instances.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeEnsEipAddresses' => [ + 'summary' => 'Call DescribeEnsEipAddresses to query elastic IP addresses (EIPs).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27821,3147 +15595,3225 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '35626', - 'abilityTreeNodes' => [ - 'FEATUREensRH3EFN', - ], + 'abilityTreeCode' => '19512', + 'abilityTreeNodes' => ['FEATUREens0AZ8P3'], ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'AllocationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5s7crik3yo3p5****', - ], + 'schema' => ['title' => '要查询的EIP实例的ID。 最多支持输入50个EIP实例ID,实例ID之间用逗号(,)分隔。', 'description' => 'The ID of the EIP instance. You can specify up to 50 IDs, separated by commas.', 'type' => 'string', 'required' => false, 'example' => 'eip-5q9uwkd9bznjpxz8hr6cirnjk'], ], [ - 'name' => 'PageNumber', + 'name' => 'EipAddress', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['title' => '要查询的EIP的IP地址。 最多支持输入50个EIP的IP地址,IP地址之间用逗号(,)分隔。', 'description' => 'The IP address of the EIP. You can specify up to 50 IP addresses, separated by commas.', 'type' => 'string', 'required' => false, 'example' => '120.XXX.XXX.4'], ], [ - 'name' => 'PageSize', + 'name' => 'AssociatedInstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the associated cloud service instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-5t18quoohsrc3xkf86spmnu77', 'title' => ''], + ], + [ + 'name' => 'AssociatedInstanceType', 'in' => 'query', 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The type of the cloud service instance to associate with the EIP. Valid values:'."\n" + ."\n" + .'- **EnsInstance**: an ENS instance of the VPC type.'."\n" + ."\n" + .'- **SlbInstance**: an SLB instance.', + 'type' => 'string', 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', + 'enum' => ['SlbInstance', 'EnsInstance', 'Nat', 'NetworkInterface', 'HaVip'], + 'example' => 'SlbInstance', + 'title' => '', ], ], [ - 'name' => 'ListenerPort', + 'name' => 'Status', 'in' => 'query', 'schema' => [ - 'description' => 'The listener port.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The status of the EIP. Valid values: Associating, Unassociating, InUse, and Available.', + 'type' => 'string', + 'enum' => ['InUse', 'Available', 'Associating', 'Unassociating', 'Creating', 'Releasing'], + 'title' => '', 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', + 'example' => 'InUse', ], ], [ - 'name' => 'Description', + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['title' => 'ENS节点ID', 'description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom'], + ], + [ + 'name' => 'EipName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the EIP.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'Standby', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the EIP is a standby EIP. Valid values:'."\n" + ."\n" + .'- **true**: The EIP is a standby EIP.'."\n" + ."\n" + .'- **false**: The EIP is not a standby EIP.', 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'IcmpReplyEnabled', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable ICMP reply. Valid values:'."\n" + ."\n" + .'- **true** (default): enabled'."\n" + ."\n" + .'- **false**: disabled', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'EnsRegionIds', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The description of the image.'."\n", - 'type' => 'string', + 'description' => 'An array of 1 to 100 ENS node IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], 'required' => false, - 'example' => 'test', - 'maxLength' => 256, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['title' => '列表的页码,默认值为1。', 'description' => 'The page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['title' => '分页查询时每页的行数,最大值为100,默认值为10。', 'description' => 'The number of entries to return on each page. Maximum value: 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'required' => false, 'example' => '50'], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => ['description' => 'The reason the EIP is locked.'."\n" + ."\n" + .'- **financial**: The EIP is locked due to an overdue payment.', 'type' => 'string', 'example' => 'financial', 'title' => '', 'required' => false], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response.', + 'description' => 'The response body.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], - 'Listeners' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '8629F679-B51D-4194-A1CC-5D8F504C362B'], + 'EipAddresses' => [ + 'description' => 'Details of the EIPs.'."\n", 'type' => 'object', - 'itemNode' => true, + 'items' => [ + 'description' => 'EIP的详细信息。', + 'type' => 'object', + 'properties' => [ + 'AllocationId' => ['name' => 'AllocationId', 'description' => 'EIP的实例ID。', 'type' => 'string', 'example' => 'eip-5sainglpw7qfem3icir4s****', 'backendName' => 'eipId'], + 'AllocationTime' => ['name' => 'AllocationTime', 'description' => 'EIP的创建时间', 'type' => 'string', 'example' => '1624885274000', 'backendName' => 'createdAt'], + 'Bandwidth' => ['name' => 'Bandwidth', 'description' => 'EIP的带宽峰值,默认值为5。取值范围:**5**~**10000**,单位:Mbps。', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'backendName' => 'bandwidth'], + 'ChargeType' => ['name' => 'ChargeType', 'description' => 'EIP的计费模式。'."\n" + ."\n" + .'- **PrePaid**:包年包月。'."\n" + ."\n" + .'- **PostPaid**:按量计费。', 'type' => 'string', 'example' => 'PostPaid', 'backendName' => 'payType'], + 'Description' => ['name' => 'Description', 'description' => 'EIP的描述信息。', 'type' => 'string', 'example' => 'example', 'backendName' => 'description'], + 'InstanceId' => ['name' => 'InstanceId', 'description' => '当前绑定的实例的ID。', 'type' => 'string', 'example' => 'lb-5sc3kum2e0sz34wbqrws9****', 'backendName' => 'instanceId'], + 'InstanceType' => ['name' => 'InstanceType', 'description' => '要绑定的云产品实例的类型,取值: '."\n" + ."\n" + .'- **EnsInstance**:VPC类型的ENS实例。'."\n" + ."\n" + .'- **SlbInstance**:负载均衡实例。', 'type' => 'string', 'example' => 'SlbInstance', 'backendName' => 'instanceType'], + 'InternetChargeType' => ['name' => 'InternetChargeType', 'description' => 'EIP的计费方式。'."\n" + ."\n" + .'- **95BandwidthByMonth**:月95峰值带宽。'."\n" + ."\n" + .'- **PayByBandwidth**:固定带宽计费。', 'type' => 'string', 'example' => '95BandwidthByMonth', 'backendName' => 'chargeType'], + 'IpAddress' => ['name' => 'IpAddress', 'description' => 'EIP的IP地址。', 'type' => 'string', 'example' => '120.XXX.XXX.4', 'backendName' => 'eip'], + 'Name' => ['name' => 'Name', 'description' => 'EIP实例名称。', 'type' => 'string', 'example' => 'test', 'backendName' => 'name'], + 'EnsRegionId' => ['name' => 'EnsRegionId', 'description' => 'ENS节点ID。', 'type' => 'string', 'example' => 'cn-xian-telecom', 'backendName' => 'ensRegionId'], + 'Status' => [ + 'name' => 'Status', + 'description' => 'EIP的状态。'."\n" + ."\n" + .'- **Associating**:绑定中。'."\n" + ."\n" + .'- **Unassociating**:解绑中。 '."\n" + ."\n" + .'- **InUse**:已分配。 '."\n" + ."\n" + .'- **Available**:可用。 '."\n", + 'type' => 'string', + 'example' => 'Available', + 'backendName' => 'status', + 'valueMapping' => [ + 'cases' => [ + ['targetValue' => 'Associating', 'value' => 'associating'], + ['targetValue' => 'Unassociating', 'value' => 'unassociating'], + ['targetValue' => 'InUse', 'value' => 'associated'], + ['targetValue' => 'Available', 'value' => 'available'], + ['targetValue' => 'Creating', 'value' => 'creating'], + ['targetValue' => 'Releasing', 'value' => 'releasing'], + ], + ], + ], + 'Isp' => ['name' => 'Isp', 'description' => '运营商,取值:'."\n" + ."\n" + .'- **cmcc**:中国移动。'."\n" + .'- **unicom**:中国联通。'."\n" + .'- **telecom**:中国电信。', 'type' => 'string', 'example' => 'cmcc', 'backendName' => 'isp'], + 'Standby' => ['name' => 'Standby', 'description' => '该EIP是否是备用。', 'type' => 'boolean', 'example' => 'true', 'backendName' => 'standby'], + 'IpStatus' => [ + 'name' => 'IpStatus', + 'description' => '如果该弹性IP是备用EIP时,表示当前EIP的运行状态。'."\n" + .'- **Stopped**:已停止。'."\n" + .'- **Running**:运行中。'."\n" + .'- **Starting**:启动中。'."\n" + .'- **Stopping**:停止中。', + 'type' => 'string', + 'example' => 'Stopped', + 'backendName' => 'ipStatus', + 'valueMapping' => [ + 'cases' => [ + ['targetValue' => 'Running', 'value' => 'running'], + ['targetValue' => 'Stopped', 'value' => 'stopped'], + ['targetValue' => 'Starting', 'value' => 'starting'], + ['targetValue' => 'Stopping', 'value' => 'stopping'], + ], + ], + ], + 'Tags' => [ + 'name' => 'Tags', + 'description' => '标签集合。', + 'type' => 'array', + 'items' => [ + 'description' => '标签集合。', + 'type' => 'object', + 'properties' => [ + 'Value' => ['name' => 'Value', 'description' => '标签值。', 'type' => 'string', 'example' => 'TestValue', 'backendName' => 'value'], + 'Key' => ['name' => 'Key', 'description' => '标签键', 'type' => 'string', 'example' => 'TestKey', 'backendName' => 'key'], + 'TagValue' => ['name' => 'TagValue', 'description' => '标签值。', 'type' => 'string', 'deprecated' => true, 'example' => 'TestValue', 'backendName' => 'value'], + 'TagKey' => ['name' => 'TagKey', 'description' => '标签键。', 'type' => 'string', 'deprecated' => true, 'example' => 'TestKey', 'backendName' => 'key'], + ], + 'extendType' => 'true', + ], + 'backendName' => 'appendInfo.tags', + 'itemName' => 'Tag', + ], + ], + 'extendType' => 'true', + ], + 'example' => '[\\"106.14.194.193\\"]', 'properties' => [ - 'Listener' => [ - 'description' => 'The listeners of the ELB instance.'."\n", + 'EipAddress' => [ + 'description' => 'The details of the EIPs.', 'type' => 'array', 'items' => [ - 'description' => 'The listener of the ELB instance.'."\n", + 'description' => 'The details of an EIP.', 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-51a5fhou****', - ], - 'ListenerPort' => [ - 'description' => 'The listening port.'."\n", - 'type' => 'string', - 'example' => '8080', - ], - 'Protocol' => [ - 'description' => 'The network transmission protocol that is used by the listener.'."\n" - ."\n" - .'* **tcp**'."\n" - .'* **udp**'."\n" - .'* **http**'."\n" - .'* **https**'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'Description' => [ - 'description' => 'The description of the listener.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **stopped**'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'ListenerForward' => [ - 'description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled for the listener. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'ForwardPort' => [ - 'description' => 'The listener port that is used for HTTP-to-HTTPS redirection.'."\n", - 'type' => 'string', - 'example' => '443', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the listener was created.'."\n", - 'type' => 'string', - 'example' => '2022-08-15T08:42:57Z', + 'AllocationId' => ['description' => 'The ID of the EIP instance.', 'type' => 'string', 'example' => 'eip-5sainglpw7qfem3icir4s****', 'title' => ''], + 'AllocationTime' => ['description' => 'The time when the EIP was allocated.', 'type' => 'string', 'example' => '1624885274000', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the EIP, in Mbps. Valid values: **5** to **10000**. Default: 5.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'ChargeType' => ['description' => 'The billing method of the EIP. Valid values:'."\n" + ."\n" + .'- **PrePaid**: The subscription billing method.'."\n" + ."\n" + .'- **PostPaid**: The pay-as-you-go billing method.', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'Description' => ['description' => 'The description of the EIP.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the associated instance.', 'type' => 'string', 'example' => 'lb-5sc3kum2e0sz34wbqrws9****', 'title' => ''], + 'InstanceType' => ['description' => 'The type of the associated cloud resource. Valid values:'."\n" + ."\n" + .'- **EnsInstance**: a VPC-type ENS instance.'."\n" + ."\n" + .'- **SlbInstance**: an SLB instance.', 'type' => 'string', 'example' => 'SlbInstance', 'title' => ''], + 'InternetChargeType' => ['description' => 'The metering method of the EIP. Valid values:'."\n" + ."\n" + .'- **95BandwidthByMonth**: pay-by-95th-percentile bandwidth.'."\n" + ."\n" + .'- **PayByBandwidth**: pay-by-bandwidth.', 'type' => 'string', 'example' => '95BandwidthByMonth', 'title' => ''], + 'IpAddress' => ['description' => 'The IP address of the EIP.', 'type' => 'string', 'example' => '120.XXX.XXX.4', 'title' => ''], + 'Name' => ['description' => 'The name of the EIP instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-xian-telecom', 'title' => ''], + 'Status' => ['description' => 'The status of the EIP. Valid values:'."\n" + ."\n" + .'- **Associating**: The EIP is being associated with a resource.'."\n" + ."\n" + .'- **Unassociating**: The EIP is being disassociated from a resource.'."\n" + ."\n" + .'- **InUse**: The EIP is associated with a resource.'."\n" + ."\n" + .'- **Available**: The EIP is not associated with a resource.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'Isp' => ['description' => 'The ISP. Valid values:'."\n" + ."\n" + .'- **cmcc**: China Mobile.'."\n" + ."\n" + .'- **unicom**: China Unicom.'."\n" + ."\n" + .'- **telecom**: China Telecom.', 'type' => 'string', 'example' => 'cmcc', 'title' => ''], + 'Standby' => ['description' => 'Specifies whether the EIP is a secondary EIP.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'IpStatus' => ['description' => 'The running status of the EIP. This parameter is returned only for secondary EIPs (where the `Standby` parameter is set to `true`). Valid values:'."\n" + ."\n" + .'- **Stopped**: The EIP is stopped.'."\n" + ."\n" + .'- **Running**: The EIP is running.'."\n" + ."\n" + .'- **Starting**: The EIP is starting.'."\n" + ."\n" + .'- **Stopping**: The EIP is stopping.', 'type' => 'string', 'example' => 'Stopped', 'title' => ''], + 'Tags' => [ + 'itemNode' => true, + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags that are added to the EIP.', + 'type' => 'array', + 'items' => [ + 'description' => 'A tag, which consists of a key-value pair.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestValue', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestKey', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'BackendServerPort' => [ - 'description' => 'The backend port that is used by the ELB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3306', + 'IcmpReplyEnabled' => ['description' => 'Specifies whether ICMP reply is enabled. Valid values:'."\n" + ."\n" + .'- **true**: ICMP reply is enabled. This is the default.'."\n" + ."\n" + .'- **false**: ICMP reply is disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'BandwidthPackageBandwidth' => ['description' => 'The bandwidth of the associated shared bandwidth package, in Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'BandwidthPackageId' => ['description' => 'The ID of the shared bandwidth package.', 'type' => 'string', 'example' => 'cbwp-5***', 'title' => ''], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Lock' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LockReason' => ['description' => 'The reason for the lock. Valid value:'."\n" + ."\n" + .'- **financial**: The EIP is locked due to an overdue payment.', 'type' => 'string', 'example' => 'financial', 'title' => ''], + ], + 'description' => 'The details of a lock.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The locks on the EIP.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'itemNode' => true, + 'title' => '', ], + 'PageNumber' => ['description' => 'The returned page number. The value must be greater than 0. Default: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on each page. Valid values: **10** to **100**. Default: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of matching entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 49,\\n \\"Listeners\\": {\\n \\"Listener\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-51a5fhou****\\",\\n \\"ListenerPort\\": \\"8080\\",\\n \\"Protocol\\": \\"tcp\\",\\n \\"Description\\": \\"test\\",\\n \\"Status\\": \\"running\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": \\"443\\",\\n \\"CreateTime\\": \\"2022-08-15T08:42:57Z\\",\\n \\"BackendServerPort\\": 3306\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeLoadBalancerListeners', - ], - 'AddBackendServers' => [ - 'summary' => 'Adds backend servers.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8629F679-B51D-4194-A1CC-5D8F504C362B\\",\\n \\"EipAddresses\\": {\\n \\"EipAddress\\": [\\n {\\n \\"AllocationId\\": \\"eip-5sainglpw7qfem3icir4s****\\",\\n \\"AllocationTime\\": \\"1624885274000\\",\\n \\"Bandwidth\\": 50,\\n \\"ChargeType\\": \\"PostPaid\\",\\n \\"Description\\": \\"example\\",\\n \\"InstanceId\\": \\"lb-5sc3kum2e0sz34wbqrws9****\\",\\n \\"InstanceType\\": \\"SlbInstance\\",\\n \\"InternetChargeType\\": \\"95BandwidthByMonth\\",\\n \\"IpAddress\\": \\"120.XXX.XXX.4\\",\\n \\"Name\\": \\"test\\",\\n \\"EnsRegionId\\": \\"cn-xian-telecom\\",\\n \\"Status\\": \\"Available\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"Standby\\": true,\\n \\"IpStatus\\": \\"Stopped\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"IcmpReplyEnabled\\": false,\\n \\"BandwidthPackageBandwidth\\": 100,\\n \\"BandwidthPackageId\\": \\"cbwp-5***\\",\\n \\"OperationLocks\\": {\\n \\"Lock\\": [\\n {\\n \\"LockReason\\": \\"financial\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 7\\n}","type":"json"}]', + 'title' => 'DescribeEnsEipAddresses', + 'changeSet' => [ + ['createdAt' => '2025-04-15T05:57:10.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-10T07:51:40.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-27T03:09:58.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-07-18T09:09:05.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'], + ['createdAt' => '2023-03-02T06:33:36.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsEipAddresses'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsEipAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeEnsNetDistrict' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '15320', - 'abilityTreeNodes' => [ - 'FEATUREensCRU0VL', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREensRIM251'], ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'NetLevelCode', + 'in' => 'query', + 'schema' => ['description' => 'The level of the region.'."\n" + ."\n" + .'- **Big**: area'."\n" + ."\n" + .'- **Middle**: province'."\n" + ."\n" + .'- **Small**: city', 'type' => 'string', 'required' => true, 'example' => 'Big', 'title' => ''], + ], + [ + 'name' => 'NetDistrictCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the Edge Load Balance (ELB) instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5qzdmxefgrpxd7oz2mefonvtx', - ], + 'schema' => ['description' => 'The code of the region.'."\n" + ."\n" + .'If you do not specify this parameter, only nodes in the regions of the level that is specified by the NetLevelCode parameter are queried.'."\n" + ."\n" + .'If you specify this parameter, only nodes in the regions of the level that is specified by this parameter are queried.', 'type' => 'string', 'required' => false, 'example' => '100106', 'title' => ''], ], [ - 'name' => 'BackendServers', + 'name' => 'NetDistrictCodeNode', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The list of backend servers that you want to add to the Edge Load Balancer (ELB) instance. You can add up to 20 backend servers at a time.'."\n" - ."\n" - .'> Only Edge Node Service (ENS) instances that are in the running state can be added to the ELB instance as backend servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of backend servers that you want to add to the ELB instance. You can add up to 20 backend servers at a time.'."\n" - ."\n" - .'> Only ENS instances that are in the running state can be added to the ELB instance as backend servers.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerId' => [ - 'description' => 'The ID of the ENS instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5uf6dwyzch3wly790****', - ], - 'Weight' => [ - 'title' => '后端服务器的权重。 取值:0~100 默认值为100,如果值为0,则不会将请求转发给该后端服务器。', - 'description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" - ."\n" - .'> The value 0 indicates that requests are not forwarded to the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '100', - ], - 'Type' => [ - 'title' => '后端服务器类型。 ens:ENS实例(默认)', - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ens**: ENS instance'."\n" - .'* **eni**: elastic network interface (ENI)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens', - 'enum' => [ - 'ens', - 'eni', - ], - ], - 'Ip' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.X.X', - 'pattern' => '((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))', - ], - 'Port' => [ - 'title' => '端口', - 'description' => 'The backend port that is used by the ELB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '0', - 'minimum' => '0', - 'example' => '3309', - ], - ], - 'required' => true, - ], - 'required' => true, - ], + 'schema' => ['title' => 'Region code ', 'description' => 'Region code', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => ''], ], ], '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'BackendServers' => [ + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'EnsNetDistricts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The list of backend servers that you want to add. You can add at most 20 backend servers.'."\n" - ."\n" - .'> Only ENS instances that are in the running state can be attached to the ELB instance as backend servers.'."\n", + 'EnsNetDistrict' => [ + 'description' => 'The information about the regions.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information about the ISPs in the area.', 'type' => 'object', 'properties' => [ - 'ServerId' => [ - 'description' => 'The ID of the instance that is used as the backend server.'."\n", - 'type' => 'string', - 'example' => 'i-5uf6hj58zvml4ali8****', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" - ."\n" - .'> The value 0 indicates that requests are not forwarded to the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Type' => [ - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ens**: ENS instance.'."\n" - .'* **eni**: ENI.'."\n", - 'type' => 'string', - 'example' => 'ens', - ], - 'Ip' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'example' => '192.168.0.1', - ], - 'Port' => [ - 'description' => 'The backend port that is used by the ELB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], + 'EnsRegionIdCount' => ['description' => 'The number of nodes in the region.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'NetDistrictCode' => ['description' => 'The code of the region.', 'type' => 'string', 'example' => '100106', 'title' => ''], + 'NetDistrictEnName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'southWest', 'title' => ''], + 'NetDistrictFatherCode' => ['description' => 'The parent code of the region.', 'type' => 'string', 'example' => '100000', 'title' => ''], + 'NetDistrictLevel' => ['description' => 'The level of the region.'."\n" + ."\n" + .'- **Big**: area'."\n" + ."\n" + .'- **Middle**: province'."\n" + ."\n" + .'- **Small**: city', 'type' => 'string', 'example' => 'Big', 'title' => ''], + 'NetDistrictName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '西南', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instanceId that is not found.', - ], - [ - 'errorCode' => 'InvalidParameter.Mismatch', - 'errorMessage' => 'Specified loadbalancer and backendServer are not in the same network.', - ], - [ - 'errorCode' => 'QuotaExceed.BackendServer', - 'errorMessage' => 'Backend servers quota exceeded in this loadbalancer.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.EniType', - 'errorMessage' => 'The type of eni is invalid', - ], - [ - 'errorCode' => 'InvalidParameter.EniStatus', - 'errorMessage' => 'The status of eni is invalid', - ], - [ - 'errorCode' => 'InvalidParameter.EniServiceManaged', - 'errorMessage' => 'The eni is managed by service', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"ServerId\\": \\"i-5uf6hj58zvml4ali8****\\",\\n \\"Weight\\": 100,\\n \\"Type\\": \\"ens\\",\\n \\"Ip\\": \\"192.168.0.1\\",\\n \\"Port\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n i-5uf6hj58zvml4ali8****\\n 100\\n ens\\n 192.168.0.1\\n 0\\n \\n","errorExample":""}]', - 'title' => 'AddBackendServers', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - ], - 'RemoveBackendServers' => [ - 'summary' => 'Removes backend servers.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'security' => [ - [ - 'AK' => [], - ], + 'title' => 'Query regions where edge service resources can be created ', + 'summary' => 'Invoke DescribeEnsNetDistrict to query the regions where edge service resources can be created.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:52.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '15321', - 'abilityTreeNodes' => [ - 'FEATUREens8LAX68', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsNetDistrict'], ], - 'tenantRelevance' => 'tenant', ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5ovkn1piwqmoqrfjdyhq4****', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsNetDistrict', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"EnsNetDistricts\\": {\\n \\"EnsNetDistrict\\": [\\n {\\n \\"EnsRegionIdCount\\": \\"2\\",\\n \\"NetDistrictCode\\": \\"100106\\",\\n \\"NetDistrictEnName\\": \\"southWest\\",\\n \\"NetDistrictFatherCode\\": \\"100000\\",\\n \\"NetDistrictLevel\\": \\"Big\\",\\n \\"NetDistrictName\\": \\"西南\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', + ], + 'DescribeEnsNetLevel' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'BackendServers', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The list of backend servers that you want to remove. You can remove up to 20 backend servers at a time.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of backend servers that you want to remove. You can remove up to 20 backend servers at a time.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerId' => [ - 'description' => 'The instance ID of the backend server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5uf68ts0fqexe1a4n****', - ], - 'Weight' => [ - 'title' => '后端服务器的权重。 取值:0~100 默认值为100,如果值为0,则不会将请求转发给该后端服务器。', - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '100', - ], - 'Type' => [ - 'title' => '后端服务器类型。 ens:ENS实例(默认)', - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ens**: an Edge Node Service (ENS) instance.'."\n" - .'* **eni**: an Elastic Network Interface (ENI).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens', - 'enum' => [ - 'ens', - 'eni', - ], - ], - 'Ip' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.XXX.X.X', - 'pattern' => '((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))', - ], - 'Port' => [ - 'title' => '端口', - 'description' => 'The backend port that is used by the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '0', - ], - ], - 'required' => false, - ], - 'required' => true, - ], + 'AK' => [], ], ], + 'systemTags' => [], + 'parameters' => [], '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'BackendServers' => [ + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'EnsNetLevels' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The list of backend servers that you want to add to the SLB instance.'."\n", + 'EnsNetLevel' => [ + 'description' => 'The network levels.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'ServerId' => [ - 'description' => 'The instance ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'i-5vb5h5njxiuhn48a****', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n" - ."\n" - .'> The value 0 indicates that requests are not forwarded to the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'Type' => [ - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ens**: an ENS instance.'."\n" - .'* **eni**: an ENI.'."\n", - 'type' => 'string', - 'example' => 'ens', - ], - 'Ip' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'example' => '192.1XX.X.X', - ], - 'Port' => [ - 'description' => 'The backend port that is used by the ELB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], + 'EnsNetLevelCode' => ['description' => 'The network level. Valid values:'."\n" + ."\n" + .'- Big: greater area.'."\n" + ."\n" + .'- Middle: province.'."\n" + ."\n" + .'- Small: city.', 'type' => 'string', 'example' => 'Big', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '86A6D421-A0C7-4C01-8648-47377CA6A2CE', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"ServerId\\": \\"i-5vb5h5njxiuhn48a****\\",\\n \\"Weight\\": 50,\\n \\"Type\\": \\"ens\\",\\n \\"Ip\\": \\"192.168.0.1\\",\\n \\"Port\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n i-5vb5h5njxiuhn48a****\\n 50\\n ens\\n 192.168.0.1\\n 0\\n \\n","errorExample":""}]', - 'title' => 'RemoveBackendServers', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - ], - 'SetBackendServers' => [ - 'summary' => 'Sets the weights of backend servers.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'title' => 'DescribeEnsNetLevel', + 'summary' => 'Queries the supported network levels.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:51.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '19478', - 'abilityTreeNodes' => [ - 'FEATUREensWDN2MU', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsNetLevel'], ], - 'tenantRelevance' => 'tenant', ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Load Balancer (ELB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5s7crik3yo3bp03gqrbp5****', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsNetLevel', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"EnsNetLevels\\": {\\n \\"EnsNetLevel\\": [\\n {\\n \\"EnsNetLevelCode\\": \\"Big\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"86A6D421-A0C7-4C01-8648-47377CA6A2CE\\"\\n}","type":"json"}]', + ], + 'DescribeEnsNetSaleDistrict' => [ + 'summary' => 'Queries the information about ISPs and number of ISPs in an area.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'BackendServers', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The list of backend servers that you added. You can modify the weights of up to 20 backend servers in each request.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of backend servers.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerId' => [ - 'description' => 'The ID of the instance that you use as the backend server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5ze0o05xccvbljtn****', - ], - 'Weight' => [ - 'title' => '后端服务器的权重。 取值:0~100 默认值为100,如果值为0,则不会将请求转发给该后端服务器。', - 'description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" - ."\n" - .'> The value 0 indicates that requests are not forwarded to the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '20', - ], - 'Type' => [ - 'title' => '后端服务器类型。 ens:ENS实例(默认)', - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ens**: ENS instance'."\n" - .'* **eni**: elastic network interface (ENI)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens', - 'enum' => [ - 'ens', - 'eni', - ], - ], - ], - 'required' => false, - ], - 'required' => true, - ], + 'AK' => [], + ], + ], + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'NetLevelCode', + 'in' => 'query', + 'schema' => ['description' => 'The network level. Valid values:'."\n" + ."\n" + .'- **Big**: area'."\n" + ."\n" + .'- **Middle**: province'."\n" + ."\n" + .'- **Small**: city', 'type' => 'string', 'required' => true, 'example' => 'Big', 'title' => ''], + ], + [ + 'name' => 'NetDistrictCode', + 'in' => 'query', + 'schema' => ['description' => 'The region code.'."\n" + ."\n" + .'- If you do not specify this parameter, only nodes under the area level that is specified by NetLevelCode are queried.'."\n" + ."\n" + .'- If you specify this parameter, only child nodes in the area that is specified by NetDistrictCode are queried.', 'type' => 'string', 'required' => false, 'example' => '100105', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'BackendServers' => [ + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'EnsNetDistricts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'EnsNetDistrict' => [ + 'description' => 'The information about the ISPs in the area.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'ServerId' => [ - 'description' => 'The ID of the instance that you want to use as the backend server.'."\n", - 'type' => 'string', - 'example' => 'i-5uf6hj58zvml4ali8****', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" - ."\n" - .'> The value 0 indicates that requests are not forwarded to the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Type' => [ - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ens**: ENS instance.'."\n" - .'* **eni**: ENI instance.'."\n", - 'type' => 'string', - 'example' => 'ens', - ], - 'Ip' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'example' => '192.168.0.1', - ], - 'Port' => [ - 'description' => 'The backend port that is used by the ELB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], + 'EnsRegionIdCount' => ['description' => 'The information about the ISP.', 'type' => 'string', 'example' => '{                         "count":2,                         "name":"China Telecom",                         "code":"telecom",                         "country":"cn"                     }', 'title' => ''], + 'InstanceCount' => ['description' => 'The information about the instance.', 'type' => 'string', 'example' => '{ "count":2, "code":"multiCarrier" }', 'title' => ''], + 'NetDistrictCode' => ['description' => 'The region code.', 'type' => 'string', 'example' => '100101', 'title' => ''], + 'NetDistrictEnName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'northEast', 'title' => ''], + 'NetDistrictFatherCode' => ['description' => 'The parent code of the region.', 'type' => 'string', 'example' => '100000', 'title' => ''], + 'NetDistrictLevel' => ['description' => 'The region level. Valid values:'."\n" + ."\n" + .'- **Big**: area'."\n" + ."\n" + .'- **Middle**: province'."\n" + ."\n" + .'- **Small**: city', 'type' => 'string', 'example' => 'Big', 'title' => ''], + 'NetDistrictName' => ['description' => 'The Chinese name of the region.', 'type' => 'string', 'example' => '东北', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1707B55C-A12F-43EF-BC66-14FFDB9253C3', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'LoadBalancerNotFound', - 'errorMessage' => 'The input parameter loadBalancerId that is not found. ', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'BackendServerNotFound', - 'errorMessage' => 'The input parameter serverId that is not found.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instanceId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"ServerId\\": \\"i-5uf6hj58zvml4ali8****\\",\\n \\"Weight\\": 100,\\n \\"Type\\": \\"ens\\",\\n \\"Ip\\": \\"192.168.0.1\\",\\n \\"Port\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n i-5uf6hj58zvml4ali8****\\n 100\\n ens\\n 192.168.0.1\\n 0\\n \\n","errorExample":""}]', - 'title' => 'SetBackendServers', - 'description' => '* You can call this operation up to 100 times per second.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - ], - 'DescribeLoadBalancerListenMonitor' => [ - 'summary' => 'Queries monitoring data of an edge load balancer (ELB) instance.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"EnsNetDistricts\\": {\\n \\"EnsNetDistrict\\": [\\n {\\n \\"EnsRegionIdCount\\": \\"{                         \\\\\\"count\\\\\\":2,                         \\\\\\"name\\\\\\":\\\\\\"China Telecom\\\\\\",                         \\\\\\"code\\\\\\":\\\\\\"telecom\\\\\\",                         \\\\\\"country\\\\\\":\\\\\\"cn\\\\\\"                     }\\",\\n \\"InstanceCount\\": \\"{ \\\\\\"count\\\\\\":2, \\\\\\"code\\\\\\":\\\\\\"multiCarrier\\\\\\" }\\",\\n \\"NetDistrictCode\\": \\"100101\\",\\n \\"NetDistrictEnName\\": \\"northEast\\",\\n \\"NetDistrictFatherCode\\": \\"100000\\",\\n \\"NetDistrictLevel\\": \\"Big\\",\\n \\"NetDistrictName\\": \\"东北\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"1707B55C-A12F-43EF-BC66-14FFDB9253C3\\"\\n}","type":"json"}]', + 'title' => 'DescribeEnsNetSaleDistrict', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-10-10T09:11:37.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsNetSaleDistrict'], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], - 'parameters' => [ - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'title' => '开始时间', - 'description' => 'The beginning of the time range to query.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2024-01-15 16:00:00', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'title' => '截止时间', - 'description' => 'The end of the time range to query.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2024-01-30 08:00:00', - ], - ], + 'ramActions' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'title' => 'LB实例ID', - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5q73cv04zeyh43lh74lp4****', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsNetSaleDistrict', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'translator' => 'manual', + ], + 'DescribeEnsRegionIdIpv6Info' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VPort', - 'in' => 'query', - 'schema' => [ - 'title' => 'LB实例vip端口', - 'description' => 'The virtual IP address (VIP) port of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '80', - ], + 'AK' => [], ], + ], + 'systemTags' => [], + 'parameters' => [ [ - 'name' => 'Proto', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'title' => '网络协议。tcp,udp等', - 'description' => 'The network protocol, such as tcp or udp.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], + 'schema' => ['description' => 'The ID of the node. You can specify only one node ID in a call.', 'type' => 'string', 'required' => true, 'example' => 'cn-chengdu-****-4', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'LoadBalancerMonitorListenData' => [ - 'description' => 'The TCP/UDP monitoring data of the ELB instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The monitoring data.'."\n", - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'title' => '负载均衡实力', - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-5q73cv04zeyh43lh74lp4****', - ], - 'EnsRegionId' => [ - 'title' => '所属节点ID', - 'description' => 'The ID of the node to which the ELB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-dongguan-9', - ], - 'Vip' => [ - 'title' => '实例VIP', - 'description' => 'The virtual IP address (VIP) of the instance.'."\n", - 'type' => 'string', - 'example' => '10.8.*.*', - ], - 'Vni' => [ - 'title' => 'tunnelId隧道标识符', - 'description' => 'The ID of the tunnel.'."\n", - 'type' => 'string', - 'example' => '53284', - ], - 'VPort' => [ - 'title' => '实例VIP端口', - 'description' => 'The VIP port of the ELB instance.'."\n", - 'type' => 'string', - 'example' => '80', - ], - 'Proto' => [ - 'title' => '网络协议', - 'description' => 'The network protocol.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'Conns' => [ - 'title' => '新建连接数', - 'description' => 'The number of new connections.'."\n", - 'type' => 'string', - 'example' => '37150', - ], - 'ActConns' => [ - 'title' => '活跃连接数', - 'description' => 'The number of active connections.'."\n", - 'type' => 'string', - 'example' => '80285', - ], - 'InActConns' => [ - 'title' => '非活跃连接数', - 'description' => 'The number of inactive connections.'."\n", - 'type' => 'string', - 'example' => '16322', - ], - 'DropConns' => [ - 'title' => '丢弃连接数', - 'description' => 'The number of dropped connections.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'InPkts' => [ - 'title' => '流入数据包数', - 'description' => 'The number of inbound packets.'."\n", - 'type' => 'string', - 'example' => '12', - ], - 'OutPkts' => [ - 'title' => '流出数据包数', - 'description' => 'The number of outbound packets.'."\n", - 'type' => 'string', - 'example' => '34', - ], - 'InDropPkts' => [ - 'title' => '丢弃流入数据包', - 'description' => 'The number of dropped inbound packets.'."\n", - 'type' => 'string', - 'example' => '27', - ], - 'OutDropPkts' => [ - 'title' => '丢弃流出数据包', - 'description' => 'The number of dropped outbound packets.'."\n", - 'type' => 'string', - 'example' => '76', - ], - 'InBytes' => [ - 'title' => '流入流量', - 'description' => 'The inbound traffic.'."\n", - 'type' => 'string', - 'example' => '67532', - ], - 'OutBytes' => [ - 'title' => '流出流量', - 'description' => 'The outbound traffic.'."\n", - 'type' => 'string', - 'example' => '5155487', - ], - 'InDropBytes' => [ - 'title' => '丢弃入流量', - 'description' => 'The dropped inbound traffic.'."\n", - 'type' => 'string', - 'example' => '324', - ], - 'OutDropBytes' => [ - 'title' => '丢弃出流量', - 'description' => 'The dropped outbound traffic.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'ValidRsNum' => [ - 'title' => '监听实例下挂的处于服务可用状态的server 数量', - 'description' => 'The number of available servers that are attached to the monitored ELB instance.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'InValidRsNum' => [ - 'title' => '监听实例下挂的处于服务不可用状态的server 数量', - 'description' => 'The number of unavailable servers that are attached to the monitored ELB instance.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'BizTime' => [ - 'title' => '业务时间', - 'description' => 'The business time.'."\n", - 'type' => 'string', - 'example' => '2024-01-15 16:03:00', - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3703C4AC-9396-458C-8F25-1D701334D309', 'title' => ''], + 'SupportIpv6Info' => [ + 'description' => 'IPv6 support information.', + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-chengdu-****-4', 'title' => ''], + 'SupportIpv6' => ['description' => 'Specifies whether IPv6 is supported. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The input parameter is Invalid.', 'description' => ''], + ['errorCode' => 'StockNotEnough', 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribeEnsRegionIdIpv6Info', + 'summary' => 'Queries whether a node supports IPv6.', + 'changeSet' => [ + ['createdAt' => '2023-10-10T09:11:37.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"LoadBalancerMonitorListenData\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5q73cv04zeyh43lh74lp4****\\",\\n \\"EnsRegionId\\": \\"cn-dongguan-9\\",\\n \\"Vip\\": \\"10.8.****\\",\\n \\"Vni\\": \\"53284\\",\\n \\"VPort\\": \\"80\\",\\n \\"Proto\\": \\"tcp\\",\\n \\"Conns\\": \\"37150\\",\\n \\"ActConns\\": \\"80285\\",\\n \\"InActConns\\": \\"16322\\",\\n \\"DropConns\\": \\"10\\",\\n \\"InPkts\\": \\"12\\",\\n \\"OutPkts\\": \\"34\\",\\n \\"InDropPkts\\": \\"27\\",\\n \\"OutDropPkts\\": \\"76\\",\\n \\"InBytes\\": \\"67532\\",\\n \\"OutBytes\\": \\"5155487\\",\\n \\"InDropBytes\\": \\"324\\",\\n \\"OutDropBytes\\": \\"0\\",\\n \\"ValidRsNum\\": \\"2\\",\\n \\"InValidRsNum\\": \\"0\\",\\n \\"BizTime\\": \\"2024-01-15 16:03:00\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeLoadBalancerListenMonitor', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'DescribeServerLoadBalancerMonitor' => [ - 'summary' => 'Queries the request monitoring data of an edge load balancer (ELB) instance.', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRegionIdIpv6Info'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRegionIdIpv6Info', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3703C4AC-9396-458C-8F25-1D701334D309\\",\\n \\"SupportIpv6Info\\": {\\n \\"EnsRegionId\\": \\"cn-chengdu-****-4\\",\\n \\"SupportIpv6\\": true\\n }\\n}","type":"json"}]', + ], + 'DescribeEnsRegionIdResource' => [ + 'summary' => 'Queries node resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'title' => '开始时间, 格式: yyyy-MM-dd HH:mm:ss', - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2024-09-15 16:00:00', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2020-06-16T06:33:15Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'title' => '截止时间,StartTime, EndTime时间最大区间不超过 24小时', - 'description' => 'The end of the time range to query. The maximum range between StartTime and EndTime is 24 hours.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2024-09-15 17:00:00', - ], + 'schema' => ['description' => 'The end time of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2020-06-16T06:33:15', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'OrderByParams', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例ID', - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5sc1s9zrui8lpb8u7cl4f****', - ], + 'schema' => ['description' => 'The order in which the resources to return are sorted. Valid values:'."\n" + ."\n" + .'- InstanceCount: desc'."\n" + ."\n" + .'- Area: asc'."\n" + ."\n" + .'- InternetBandwidth: asc', 'type' => 'string', 'required' => false, 'example' => 'InstanceCount:desc', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page **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: **100**. Default value: **10**.', 'type' => 'string', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => ['description' => 'The Internet service provider (ISP). Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- telecom: China Telecom'."\n" + ."\n" + .'- unicom: China Unicom'."\n" + ."\n" + .'- multiCarrier: multi-line ISP', 'type' => 'string', 'required' => false, 'example' => 'cmcc', 'title' => ''], ], ], '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' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - 'ServerLoadBalancerMonitorData' => [ - 'description' => 'The array of the monitoring data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The monitoring data.'."\n", - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'title' => '负载均衡实例ID', - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-5sc1s9zrui8lpb8u7cl4f****', - ], - 'LoadBalancerName' => [ - 'title' => '负载均衡实例名', - 'description' => 'The name of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'esk-edge-service-lb-a34****', - ], - 'EnsRegionId' => [ - 'title' => '所属节点ID', - 'description' => 'The ID of the node to which the ELB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-wuxi-10', - ], - 'LoadBalancerSpec' => [ - 'title' => '负载均衡实例规格', - 'description' => 'The specification of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'elb.s2.medium', - ], - 'Vip' => [ - 'title' => '实例VIP', - 'description' => 'The virtual IP address (VIP) of the instance.'."\n", - 'type' => 'string', - 'example' => '10.0****', - ], - 'Vni' => [ - 'title' => 'tunnelId隧道标识符', - 'description' => 'The ID of the tunnel.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3018', - ], - 'Acc' => [ - 'title' => '总请求数', - 'description' => 'The total number of requests.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'Reqs2xx' => [ - 'title' => '请求网络状态2xx数', - 'description' => 'The number of requests with HTTP 2xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '25', - ], - 'Reqs3xx' => [ - 'title' => '请求网络状态3xx数', - 'description' => 'The number of requests with HTTP 3xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Reqs4xx' => [ - 'title' => '请求网络状态4xx数', - 'description' => 'The number of requests with HTTP 4xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Reqs5xx' => [ - 'title' => '请求网络状态5xx数', - 'description' => 'The number of requests with HTTP 5xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RtAvg' => [ - 'title' => '请求平均耗时,单位毫秒', - 'description' => 'The average response time. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1404', - ], - 'BizTime' => [ - 'title' => '日志业务时间,日志采集粒度1分钟', - 'description' => 'The business time of the log. Logs are collected every minute.'."\n", - 'type' => 'string', - 'example' => '2024-09-15 16:00:00'."\n", + 'EnsRegionIdResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EnsRegionIdResource' => [ + 'description' => 'The returned data. For more information, see EnsRegionIdResources in sample JSON responses.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Area' => ['description' => 'The region. Set the value to West.', 'type' => 'string', 'example' => 'West', 'title' => ''], + 'AreaCode' => ['description' => 'The code of the region.', 'type' => 'string', 'example' => '300100', 'title' => ''], + 'BizDate' => ['description' => 'The date when the transaction was processed.', 'type' => 'string', 'example' => '2019-10-30', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-hangzhou-telecom', 'title' => ''], + 'EnsRegionIdName' => ['description' => 'The name of the node.', 'type' => 'string', 'example' => 'Nanjing Mobile', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InternetBandwidth' => ['description' => 'The public bandwidth of the instance. Unit: Bits/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Isp' => ['description' => 'The ISP. Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- unicom: China Unicom'."\n" + ."\n" + .'- telecom: China Telecom'."\n" + ."\n" + .'- multiCarrier: multi-line ISP', 'type' => 'string', 'example' => 'cmcc', 'title' => ''], + 'VCpu' => ['description' => 'The number of vCPUs.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '476600B1-C9E2-4245-A26F-DC7EA8071425', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of queried nodes.', 'type' => 'integer', 'format' => 'int32', 'example' => '58', 'title' => ''], ], + 'description' => '', + 'title' => '', + '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.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InsufficientEipCapacity', 'errorMessage' => 'Insufficient EIP inventory under the specified territory.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"ServerLoadBalancerMonitorData\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5sc1s9zrui8lpb8u7cl4f****\\",\\n \\"LoadBalancerName\\": \\"esk-edge-service-lb-a34****\\",\\n \\"EnsRegionId\\": \\"cn-wuxi-10\\",\\n \\"LoadBalancerSpec\\": \\"elb.s2.medium\\",\\n \\"Vip\\": \\"10.0****\\",\\n \\"Vni\\": 3018,\\n \\"Acc\\": 30,\\n \\"Reqs2xx\\": 25,\\n \\"Reqs3xx\\": 0,\\n \\"Reqs4xx\\": 5,\\n \\"Reqs5xx\\": 0,\\n \\"RtAvg\\": 1404,\\n \\"BizTime\\": \\"2024-09-15 16:00:00\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeServerLoadBalancerMonitor', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'DescribeServerLoadBalancerListenMonitor' => [ - 'summary' => 'Queries the monitoring data of an edge load balancer (ELB) instance based on the listener.', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnsRegionIdResources\\": {\\n \\"EnsRegionIdResource\\": [\\n {\\n \\"Area\\": \\"West\\",\\n \\"AreaCode\\": \\"300100\\",\\n \\"BizDate\\": \\"2019-10-30\\",\\n \\"EnsRegionId\\": \\"cn-hangzhou-telecom\\",\\n \\"EnsRegionIdName\\": \\"Nanjing Mobile\\",\\n \\"InstanceCount\\": 10,\\n \\"InternetBandwidth\\": 100,\\n \\"Isp\\": \\"cmcc\\",\\n \\"VCpu\\": 10\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"476600B1-C9E2-4245-A26F-DC7EA8071425\\",\\n \\"TotalCount\\": 58\\n}","type":"json"}]', + 'title' => 'DescribeEnsRegionIdResource', + 'description' => '***', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:52.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-06-03T06:00:09.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRegionIdResource'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRegionIdResource', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeEnsRegions' => [ + 'summary' => 'Queries a list of available ENS nodes.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREens43DFLD'], ], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'EnsRegionId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the edge zone.'."\n" + ."\n" + .'If you do not specify this parameter, the IDs of all active edge zones are returned.', 'type' => 'string', 'required' => false, 'example' => 'cn-dalian-unicom', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '开始时间, 格式: yyyy-MM-dd HH:mm:ss', - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2024-05-16 15:00:00', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The status code. A value of 0 indicates that the call was successful. If the call failed, an error code is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'EnsRegions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EnsRegions' => [ + 'description' => 'Details about the regions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Area' => ['description' => 'The region code.', 'type' => 'string', 'example' => 'NorthEastChina', 'title' => ''], + 'EnName' => ['description' => 'The English name of the edge zone.', 'type' => 'string', 'example' => 'NorthChina', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the edge zone.', 'type' => 'string', 'example' => 'cn-dalian-unicom', 'title' => ''], + 'Name' => ['description' => 'The name of the edge zone.', 'type' => 'string', 'example' => '大连联通', 'title' => ''], + 'Province' => ['description' => 'The province where the edge zone is located.', 'type' => 'string', 'example' => '辽宁省', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeEnsRegions', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-07-05T03:00:38.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRegions'], + ], + ], + 'ramActions' => [ [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'title' => '截止时间,StartTime, EndTime时间最大区间不超过 24小时', - 'description' => 'The end of the time range to query. The maximum range between StartTime and EndTime is 24 hours.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2024-05-16 16:00:00', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"EnsRegions\\": {\\n \\"EnsRegions\\": [\\n {\\n \\"Area\\": \\"NorthEastChina\\",\\n \\"EnName\\": \\"NorthChina\\",\\n \\"EnsRegionId\\": \\"cn-dalian-unicom\\",\\n \\"Name\\": \\"大连联通\\",\\n \\"Province\\": \\"辽宁省\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DescribeEnsResourceUsage' => [ + 'summary' => 'Queries the usage summary of ENS virtual machines (VMs), disks, and networks.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡实例ID', - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-5rcvo1n1t3hykfhhjwjgqp****', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'VPort', + 'name' => 'ExpiredStartTime', 'in' => 'query', - 'schema' => [ - 'title' => 'VIP端口,如80、8080和443等', - 'description' => 'The virtual IP address (VIP) port, such as 80, 8080, or 443.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Format: yyyy-MM-dd or yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '2018-06-15T09:07:23Z'], ], [ - 'name' => 'Proto', + 'name' => 'ExpiredEndTime', 'in' => 'query', - 'schema' => [ - 'title' => '请求协议,http/https/tcp等', - 'description' => 'The request protocol, such as http, https, or tcp.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], + 'schema' => ['description' => 'The end of the time range to query. Format: yyyy-MM-dd or yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '2018-06-15T09:07:23Z'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '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' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - 'ServerLoadBalancerMonitorData' => [ - 'description' => 'The array of the monitoring data.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'EnsResourceUsage' => [ + 'description' => 'The resource usage data.', 'type' => 'array', 'items' => [ - 'description' => 'The monitoring data.'."\n", + 'description' => 'Resource usage data.', 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'title' => '负载均衡实例ID', - 'description' => 'The ID of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-5rcvo1n1t3hykfhhjwjgqp****', - ], - 'LoadBalancerName' => [ - 'title' => '负载均衡实例名', - 'description' => 'The name of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'esk-edge-service-lb-8377****', - ], - 'EnsRegionId' => [ - 'title' => '所属节点ID', - 'description' => 'The ID of the node to which the ELB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-fuzhou-7', - ], - 'LoadBalancerSpec' => [ - 'title' => '负载均衡实例规格', - 'description' => 'The specification of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'elb.s2.medium', - ], - 'Vip' => [ - 'title' => '实例VIP', - 'description' => 'The VIP of the instance.'."\n", - 'type' => 'string', - 'example' => '10.0****', - ], - 'Vni' => [ - 'title' => 'tunnelId隧道标识符', - 'description' => 'The ID of the tunnel.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '52497', - ], - 'Vport' => [ - 'title' => 'VIP端口,如80、8080和443等', - 'description' => 'The VIP port, such as 80, 8080, or 443.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Proto' => [ - 'title' => '请求协议,http/https/tcp等', - 'description' => 'The request protocol, such as http, https, or tcp.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'Acc' => [ - 'title' => '总请求数', - 'description' => 'The total number of requests.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Reqs2xx' => [ - 'title' => '请求网络状态2xx数', - 'description' => 'The number of requests with HTTP 2xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Reqs3xx' => [ - 'title' => '请求网络状态3xx数', - 'description' => 'The number of requests with HTTP 3xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Reqs4xx' => [ - 'title' => '请求网络状态4xx数', - 'description' => 'The number of requests with HTTP 4xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Reqs5xx' => [ - 'title' => '请求网络状态5xx数', - 'description' => 'The number of requests with HTTP 5xx status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RtAvg' => [ - 'title' => '请求平均耗时,单位毫秒', - 'description' => 'The average response time. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1037', - ], - 'BizTime' => [ - 'title' => '日志业务时间,日志采集粒度1分钟', - 'description' => 'The business time of the log. Logs are collected every minute.'."\n", - 'type' => 'string', - 'example' => '2024-05-16 15:00:00', - ], + 'ServiceType' => ['description' => 'The type of the service. Valid values:'."\n" + ."\n" + .'- 1: subscription instance.'."\n" + ."\n" + .'- 2: edge service instance.'."\n" + ."\n" + .'- 3: pay-as-you-go instance.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CpuSum' => ['description' => 'The CPU usage. Unit: cores.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'GpuSum' => ['description' => 'The number of GPUs.', 'type' => 'integer', 'format' => 'int64', 'example' => '6', 'title' => ''], + 'DownCount' => ['description' => 'The number of stopped VMs.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], + 'ExpiredCount' => ['description' => 'The number of expired VM instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ExpiringCount' => ['description' => 'The number of VM instances that are about to expire.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RunningCount' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '19', 'title' => ''], + 'DiskCount' => ['description' => 'The number of data disks.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'StorageSum' => ['description' => 'The total disk size.', 'type' => 'integer', 'format' => 'int64', 'example' => '5000', 'title' => ''], + 'ComputeResourceCount' => ['description' => 'The number of edge services. This parameter is available only when you set the ServiceType parameter to 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + '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.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"ServerLoadBalancerMonitorData\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5rcvo1n1t3hykfhhjwjgqp****\\",\\n \\"LoadBalancerName\\": \\"esk-edge-service-lb-8377****\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-7\\",\\n \\"LoadBalancerSpec\\": \\"elb.s2.medium\\",\\n \\"Vip\\": \\"10.0****\\",\\n \\"Vni\\": 52497,\\n \\"Vport\\": 80,\\n \\"Proto\\": \\"tcp\\",\\n \\"Acc\\": 20,\\n \\"Reqs2xx\\": 10,\\n \\"Reqs3xx\\": 0,\\n \\"Reqs4xx\\": 0,\\n \\"Reqs5xx\\": 10,\\n \\"RtAvg\\": 1037,\\n \\"BizTime\\": \\"2024-05-16 15:00:00\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeServerLoadBalancerListenMonitor', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can call this operation up to 10 times per second per user.'."\n", - ], - 'CreateNetworkInterface' => [ - 'summary' => 'Create an Elastic Network Interface (ENI).', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"EnsResourceUsage\\": [\\n {\\n \\"ServiceType\\": \\"1\\",\\n \\"InstanceCount\\": 2,\\n \\"CpuSum\\": 2,\\n \\"GpuSum\\": 6,\\n \\"DownCount\\": 7,\\n \\"ExpiredCount\\": 1,\\n \\"ExpiringCount\\": 0,\\n \\"RunningCount\\": 19,\\n \\"DiskCount\\": 4,\\n \\"StorageSum\\": 5000,\\n \\"ComputeResourceCount\\": 2\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeEnsResourceUsage', + 'changeSet' => [ + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsResourceUsage'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsResourceUsage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeEnsRouteEntryList' => [ + 'summary' => 'Queries route entries.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '128367', + 'abilityTreeNodes' => ['FEATUREensGMWJSM'], ], 'parameters' => [ [ - 'name' => 'VSwitchId', + 'name' => 'RouteTableId', 'in' => 'query', - 'schema' => [ - 'description' => 'vSwitch ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5****', - ], + 'schema' => ['description' => 'The ID of the route table that you want to query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vtb-hp3wdhynneo7fsclox8hs'], ], [ - 'name' => 'SecurityGroupIds', + 'name' => 'RouteEntryId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'Security group ID.', - 'type' => 'array', - 'items' => [ - 'description' => 'Security group ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'sg-test', - ], - 'required' => true, - 'maxItems' => 5, - 'minItems' => 1, - ], + 'schema' => ['description' => 'The ID of the route that you want to query.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'rte-8vbdw66evgv44u2u7v3hx'], ], [ - 'name' => 'Name', + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => ['description' => 'The destination Classless Inter-Domain Routing (CIDR) block of the route entry.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '11.0.0.0/16'], + ], + [ + 'name' => 'RouteEntryType', 'in' => 'query', 'schema' => [ - 'description' => 'ENI name.', + 'description' => 'The route type. Valid values:'."\n" + ."\n" + .'- Custom: custom route'."\n" + ."\n" + .'- System: system route', 'type' => 'string', + 'enum' => ['System', 'Custom'], + 'title' => '', 'required' => false, - 'example' => 'name', - 'maxLength' => 128, + 'example' => 'Custom', ], ], [ - 'name' => 'Description', + 'name' => 'NextHopType', 'in' => 'query', 'schema' => [ - 'description' => 'Description of the ENI.', + 'description' => 'The type of next hop of the custom route entry. Valid values:'."\n" + ."\n" + .'- Instance (default): an ENS instance.'."\n" + ."\n" + .'- HaVip: a high-availability virtual IP address (HAVIP).'."\n" + ."\n" + .'- NetworkPeer: VPC peering connection.', 'type' => 'string', + 'enum' => ['Instance', 'HaVip', 'NetworkPeer'], + 'title' => '', 'required' => false, - 'example' => 'example', - 'maxLength' => 256, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], - 'NetworkInterfaceIds' => [ - 'description' => 'A list of ENI IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'A list of ENI IDs.', - 'type' => 'string', - 'example' => 'eni-2zef19ff3v3i2yhe8vyk', - ], - ], - ], + 'example' => 'Instance', ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + [ + 'name' => 'NextHopId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the next hop.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'i-2zecshuv3axtr2gc4noa'], + ], + [ + 'name' => 'RouteEntryName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the route.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'test0'], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"NetworkInterfaceIds\\": [\\n \\"eni-2zef19ff3v3i2yhe8vyk\\"\\n ]\\n}","type":"json"}]', - 'title' => 'CreateNetworkInterface', - 'translator' => 'machine', - ], - 'DeleteNetworkInterfaces' => [ - 'summary' => 'Deletes an elastic network interface (ENI).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the returned page. Valid values: integers that are greater than 0. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '1'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], - 'parameters' => [ [ - 'name' => 'NetworkInterfaceIds', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the elastic network interfaces (ENIs).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eni-gw85i6jmetcnyucnyfjm', - ], - 'required' => true, - 'maxItems' => 10, - 'minItems' => 1, - ], + 'schema' => ['description' => 'The number of entries per page. Default value: 10. Valid values: 10 to 100.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'title' => '', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'RouteEntrys' => [ + 'title' => '', + 'description' => 'The information about the routes.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The information about the route.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the route entry. Valid values:', 'type' => 'string', 'title' => '', 'example' => 'Available'], + 'Type' => ['description' => 'The type of the route entry.', 'type' => 'string', 'title' => '', 'example' => 'Custom'], + 'Description' => ['description' => 'Enter a description for the route.', 'type' => 'string', 'example' => 'Test', 'title' => ''], + 'RouteEntryName' => ['description' => 'The name of the route.', 'type' => 'string', 'title' => '', 'example' => 'test0'], + 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route.', 'type' => 'string', 'title' => '', 'example' => '101.0.45.0/24'], + 'RouteEntryId' => ['description' => 'The ID of the route.', 'type' => 'string', 'title' => '', 'example' => 'rte-2zeksx7h436f5unk349m1'], + 'RouteTableId' => ['description' => 'The ID of the route table.', 'type' => 'string', 'title' => '', 'example' => 'vtb-uf62p9o5cn35fi8xgurnm'], + 'NextHops' => [ + 'title' => '', + 'description' => 'The information about the next hop.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The next hop.', + 'type' => 'object', + 'properties' => [ + 'NextHopId' => ['description' => 'The ID of the next hop.', 'type' => 'string', 'title' => '', 'example' => 'i-bp1111yup9991890woxq'], + 'NextHopType' => ['description' => 'The type of the next hop. Valid values:', 'type' => 'string', 'title' => '', 'example' => 'Instance'], + 'NextHopName' => ['description' => 'The instance ID of the next hop.', 'type' => 'string', 'example' => 'testInstance', 'title' => ''], + ], + 'example' => '', + ], + 'example' => '', + ], + 'SourceCidrBlock' => ['description' => 'The source CIDR block. This field is used when you configure a route entry in the gateway route table. This field is not supported in the vSwitch route table.', 'type' => 'string', 'example' => '10.XXX.XXX.0/24', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the IP address was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2023-02-16T03:50:05Z', 'title' => ''], + ], + 'example' => '', + ], + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'title' => '', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The number of returned entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RouteEntrys\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"Type\\": \\"Custom\\",\\n \\"Description\\": \\"Test\\",\\n \\"RouteEntryName\\": \\"test0\\",\\n \\"DestinationCidrBlock\\": \\"101.0.45.0/24\\",\\n \\"RouteEntryId\\": \\"rte-2zeksx7h436f5unk349m1\\",\\n \\"RouteTableId\\": \\"vtb-uf62p9o5cn35fi8xgurnm\\",\\n \\"NextHops\\": [\\n {\\n \\"NextHopId\\": \\"i-bp1111yup9991890woxq\\",\\n \\"NextHopType\\": \\"Instance\\",\\n \\"NextHopName\\": \\"testInstance\\"\\n }\\n ],\\n \\"SourceCidrBlock\\": \\"10.XXX.XXX.0/24\\",\\n \\"CreationTime\\": \\"2023-02-16T03:50:05Z\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 7\\n}","type":"json"}]', + 'title' => 'DescribeEnsRouteEntryList', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:28.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-12-26T08:26:39.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-11-05T06:33:01.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', - 'title' => 'DeleteNetworkInterfaces', - ], - 'AttachNetworkInterface' => [ - 'summary' => 'Attaches an Elastic Network Interface (ENI) to an Edge Node Service (ECS) instance.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRouteEntryList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRouteEntryList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeEnsRouteTables' => [ + 'summary' => 'Queries route tables.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '200640', + 'abilityTreeNodes' => ['FEATUREensGMWJSM'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5p67acfmxazb4p****', - ], + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'NetworkInterfaceId', + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'default' => '10', 'required' => false, 'example' => '30', 'title' => ''], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the route table.', 'type' => 'string', 'required' => false, 'example' => 'vtb-5p1cifr72di****', 'title' => ''], + ], + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => false, 'example' => 'n-257gqcdfvx6n****', 'title' => ''], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-xian-unicom', 'title' => ''], + ], + [ + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eni-58z57orgmt6d1****', + 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of edge nodes.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The SNAT type.'."\n" + ."\n" + .'- FullCone: full cone NAT.', 'type' => 'string', 'required' => false, 'example' => 'FullCone', 'title' => ''], + ], + [ + 'name' => 'AssociateType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the resource with which the route table is associated. Valid values:'."\n" + ."\n" + .'- **VSwitch**'."\n" + ."\n" + .'- **Gateway**', 'type' => 'string', 'required' => false, 'example' => 'Gateway', 'title' => ''], + ], + [ + 'name' => 'RouteTableName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the route table.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'tftest-nat04', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'DC51ACB0-460D-5CA0-BA2D-E1F3B5547AE9'], + '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' => '10', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'RouteTables' => [ + 'description' => 'The information about the route tables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the route table.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the route table was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2024-03-08T08:35:18Z', 'title' => ''], + 'Status' => ['description' => 'The status. Valid values:'."\n" + ."\n" + .'- Available: The route table is available.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'RouteTableId' => ['description' => 'The ID of the route table.', 'type' => 'string', 'example' => 'rt-5xde2bit9****', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5v9lufsezl4g****', 'title' => ''], + 'VSwitchIds' => [ + 'description' => 'The vSwitches that are associated with the route table.', + 'type' => 'array', + 'items' => ['description' => 'The vSwitch that is associated with the route table.', 'type' => 'string', 'example' => 'vsw-5f649tc4****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-beijing-15', 'title' => ''], + 'Type' => ['description' => 'The type of the route table. Examples:'."\n" + ."\n" + .'- Custom: custom route table.'."\n" + ."\n" + .'- System: system route table.', 'type' => 'string', 'example' => 'System', 'title' => ''], + 'RouteTableName' => ['description' => 'The name of the route table that you want to query.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'example' => 'test-tf-vtb7', 'title' => ''], + 'AssociateType' => ['description' => 'The type of the resource with which the route table is associated. Valid values:'."\n" + ."\n" + .'- **VSwitch**'."\n" + ."\n" + .'- **Gateway**', 'type' => 'string', 'example' => 'VSwitch', 'title' => ''], + 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'IsDefaultGatewayRouteTable' => ['description' => 'Specifies whether it is the default gateway route table.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'InvalidEniId.NotFound', - 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.EniServiceManaged', - 'errorMessage' => 'The eni is managed by service.', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEniStatus', - 'errorMessage' => 'Current eni status does not support this operation. ', - ], - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEnsStatus', - 'errorMessage' => 'Current instance status does not support this operation. ', - ], - [ - 'errorCode' => 'InvalidOperation.InstanceNotSupport', - 'errorMessage' => 'The specified instance does not support this operation.', - ], - [ - 'errorCode' => 'InvalidOperation.NetworkMismatch', - 'errorMessage' => 'Specified eni and instance are not in the same network.', - ], - [ - 'errorCode' => 'EniPerInstanceLimitExceeded', - 'errorMessage' => 'EniPerInstanceLimitExceeded.', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEniType', - 'errorMessage' => 'The type of eni does not support this operation. ', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'AttachNetworkInterface', - 'description' => 'When you call this operation, take note of the following limits:'."\n" - ."\n" - .'* The ENI must be in the Available state.'."\n" - .'* An ENI can be attached to only one instance that is the same zone and the same Virtual Private Cloud (VPC).'."\n" - .'* The instance must be in the Stopped state.'."\n" - .'* A maximum of 10 ENIs can be attached to an instance.'."\n" - .'* This operation is an asynchronous operation. After you call this operation to attach an ENI, you can view the status of the ENI to check whether the ENI is attached.'."\n", - ], - 'DetachNetworkInterface' => [ - 'summary' => 'Detach an elastic network interface (ENI) from an instance.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeEnsRouteTables', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:29.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-12-26T08:26:39.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRouteTables'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRouteTables', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC51ACB0-460D-5CA0-BA2D-E1F3B5547AE9\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"PageSize\\": 30,\\n \\"RouteTables\\": [\\n {\\n \\"CreationTime\\": \\"2024-03-08T08:35:18Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"RouteTableId\\": \\"rt-5xde2bit9****\\",\\n \\"NetworkId\\": \\"n-5v9lufsezl4g****\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-5f649tc4****\\"\\n ],\\n \\"EnsRegionId\\": \\"cn-beijing-15\\",\\n \\"Type\\": \\"System\\",\\n \\"RouteTableName\\": \\"test-tf-vtb7\\",\\n \\"AssociateType\\": \\"VSwitch\\",\\n \\"Description\\": \\"test\\",\\n \\"IsDefaultGatewayRouteTable\\": false\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeEpnBandWidthData' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'NetworkInterfaceId', + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing-cmcc', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'i-5sg1owx0g4ojy66ab2tez77r2', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2021-12-15T16:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2021-12-16T16:00:00Z', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The precision of the monitoring data that you want to obtain. Valid values: 300, 1200, 3600, and 14400. Default value: 300. Unit: seconds.', 'type' => 'string', 'required' => true, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => ['description' => 'The Internet service provider (ISP). Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- telecom: China Telecom'."\n" + ."\n" + .'- unicom: China Unicom'."\n" + ."\n" + .'- multiCarrier: multi-line ISP', 'type' => 'string', 'required' => false, 'example' => 'cmcc', 'title' => ''], + ], + [ + 'name' => 'NetworkingModel', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", + 'description' => 'The networking mode. Valid values:'."\n" + ."\n" + .'- **SpeedUp**: intelligent acceleration network (Internet)'."\n" + ."\n" + .'- **Connection**: internal network'."\n" + ."\n" + .'- **SpeedUpAndConnection**: intelligent acceleration network and internal network', 'type' => 'string', - 'required' => true, - 'example' => 'eni-58z57orgmt6d1****', + 'required' => false, + 'enum' => ['SpeedUp', 'Connection', 'SpeedUpAndConnection'], + 'example' => 'SpeedUp', + 'title' => '', ], ], + [ + 'name' => 'EPNInstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => false, 'example' => 'epn-20200825134537VyK81T', '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' => 'BE1B8ECF-9507-4C78-B197-5DE9FED344AF', + 'MonitorData' => [ + 'description' => 'The monitoring data of the instance.', + 'type' => 'object', + 'properties' => [ + 'BandWidthMonitorData' => [ + 'description' => 'The bandwidth data.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'DownBandWidth' => ['description' => 'The outbound bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'InternetRX' => ['description' => 'The Internet traffic to the instance. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'InternetTX' => ['description' => 'The Internet traffic from the instance. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp when the monitoring data was queried. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-10-12T05:45:00Z', 'title' => ''], + 'UpBandWidth' => ['description' => 'The inbound bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'MaxDownBandWidth' => ['description' => 'The maximum outbound bandwidth within the queried time range. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '16817468', 'title' => ''], + 'MaxUpBandWidth' => ['description' => 'The maximum inbound bandwidth within the queried time range. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '231008', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1D289DAA-F6DA-5FC4-AE47-F5C8B6277BFC', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'InvalidEniId.NotFound', - 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.EniServiceManaged', - 'errorMessage' => 'The eni is managed by service.', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEniStatus', - 'errorMessage' => 'Current eni status does not support this operation. ', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEniType', - 'errorMessage' => 'The type of eni does not support this operation.', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEnsStatus', - 'errorMessage' => 'Current instance status does not support this operation. ', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'USERNOTFOUND', 'errorMessage' => 'The user is not in ens-controller.', 'description' => 'The current user has not registered with the edge node service or has not passed the user review.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BE1B8ECF-9507-4C78-B197-5DE9FED344AF\\"\\n}","type":"json"}]', - 'title' => 'DetachNetworkInterface', - 'description' => 'Before you call this operation, take note of the following items:'."\n" - ."\n" - .'* You cannot detach a primary ENI from an instance.'."\n" - .'* The ENI must be in the InUse state.'."\n" - .'* The instances are in the Stopped state.'."\n" - .'* This operation is an asynchronous operation. After this operation is called to detach an ENI, you can check the state of the ENI to determine whether the ENI is detached.'."\n", - ], - 'ModifyNetworkInterfaceAttribute' => [ - 'summary' => 'Modifies the attributes of an elastic network interface (ENI), such as its name and description.', - 'methods' => [ - 'post', - 'get', + 'title' => 'DescribeEpnBandWidthData', + 'summary' => 'Queries the EPN bandwidth usage.', + 'changeSet' => [ + ['createdAt' => '2024-01-25T01:25:16.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnBandWidthData'], + ], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnBandWidthData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MonitorData\\": {\\n \\"BandWidthMonitorData\\": [\\n {\\n \\"DownBandWidth\\": 0,\\n \\"InternetRX\\": 0,\\n \\"InternetTX\\": 0,\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\",\\n \\"UpBandWidth\\": 0\\n }\\n ],\\n \\"MaxDownBandWidth\\": 16817468,\\n \\"MaxUpBandWidth\\": 231008\\n },\\n \\"RequestId\\": \\"1D289DAA-F6DA-5FC4-AE47-F5C8B6277BFC\\"\\n}","type":"json"}]', + ], + 'DescribeEpnBandwitdhByInternetChargeType' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'NetworkInterfaceId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eni-5f6533jbifugr5fo***', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2021-12-02T16:00:00Z', 'title' => ''], ], [ - 'name' => 'NetworkInterfaceName', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ENI. The name must be 1 to 128 characters in length, The name cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-01', - 'maxLength' => 128, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2021-12-06T15:59:59Z', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'Isp', + 'in' => 'query', + 'schema' => ['description' => 'The Internet service provider (ISP). Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- telecom: China Telecom'."\n" + ."\n" + .'- unicom: China Unicom'."\n" + ."\n" + .'- multiCarrier: multi-line ISP', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => false, 'example' => 'cn-changsha-unicom', 'title' => ''], + ], + [ + 'name' => 'NetworkingModel', 'in' => 'query', 'schema' => [ - 'description' => 'The description. The description must be 1 to 256 characters in length and cannot start with http:// or https://.'."\n", + 'description' => 'The networking mode. Valid values:'."\n" + ."\n" + .'- **SpeedUp**: intelligent acceleration network (Internet)'."\n" + ."\n" + .'- **Connection**: internal network'."\n" + ."\n" + .'- **SpeedUpAndConnection**: intelligent acceleration network and internal network', 'type' => 'string', 'required' => false, - 'example' => 'testDescription', - 'maxLength' => 256, - 'minLength' => 1, + 'enum' => ['SpeedUp', 'Connection', 'SpeedUpAndConnection'], + 'example' => 'Connection', + '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'BandwidthValue' => ['description' => 'The bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''], + 'InternetChargeType' => ['description' => 'The metering method. Valid values:'."\n" + ."\n" + .'- BandwidthByDay: Pay by daily peak bandwidth'."\n" + ."\n" + .'- 95BandwidthByMonth: Pay by monthly 95th percentile bandwidth'."\n" + ."\n" + .'- PayByBandwidth4thMonth: Pay by monthly fourth peak bandwidth'."\n" + ."\n" + .'- PayByBandwidth: Pay by fixed bandwidth'."\n" + ."\n" + .'You can specify only one metering method for network usage and cannot overwrite the existing metering method.', 'type' => 'string', 'example' => 'BandwidthByDay', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '216BCED0-E055-5DDB-8E06-4084A62A4A44', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp when the monitoring data was queried. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-10-12T05:45:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API. ', - ], - [ - 'errorCode' => 'InvalidEniId.NotFound', - 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.EniServiceManaged', - 'errorMessage' => 'The eni is managed by service.', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEniStatus', - 'errorMessage' => 'Current eni status does not support this operation. ', - ], - [ - 'errorCode' => 'InvalidOperation.InvalidEniType', - 'errorMessage' => 'The type of eni does not support this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InsufficientEipCapacity', 'errorMessage' => 'Insufficient EIP inventory under the specified territory.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribeEpnBandwitdhByInternetChargeType', + 'summary' => 'Queries the metering method of the EPN bandwidth within a time period.', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:52.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'ModifyNetworkInterfaceAttribute', - ], - 'DescribeSecondaryPublicIpAddresses' => [ - 'summary' => 'Queries created secondary public IP addresses.', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnBandwitdhByInternetChargeType'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnBandwitdhByInternetChargeType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthValue\\": 123,\\n \\"InternetChargeType\\": \\"BandwidthByDay\\",\\n \\"RequestId\\": \\"216BCED0-E055-5DDB-8E06-4084A62A4A44\\",\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\"\\n}","type":"json"}]', + ], + 'DescribeEpnInstanceAttribute' => [ + 'summary' => 'Queries networking information about an EPN instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'abilityTreeCode' => '166854', - 'abilityTreeNodes' => [ - 'FEATUREensYDMBHU', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'EPNInstanceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-xxxx', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => 'ENS节点ID', - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-44', + 'type' => 'object', + 'properties' => [ + 'ConfVersions' => [ + 'description' => 'The information about the EPN configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfVersion' => ['description' => 'The version number.', 'type' => 'string', 'example' => '2017-10-11', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-chengdu-telecom', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EPNInstanceId' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'example' => 'epn-xxxx', 'title' => ''], + 'EPNInstanceName' => ['description' => 'The name of the EPN instance.', 'type' => 'string', 'example' => 'epn-test', 'title' => ''], + 'Instances' => [ + 'description' => 'The information about the instance.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'epn-xxx', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the instance.', 'type' => 'string', 'example' => 'epn-test', 'title' => ''], + 'Isp' => ['description' => 'The ISP. Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- unicom: China Unicom'."\n" + ."\n" + .'- telecom: China Telecom', 'type' => 'string', 'example' => 'cmcc', 'title' => ''], + 'PrivateIpAddress' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '192.168.1.12', 'title' => ''], + 'PublicIpAddress' => ['description' => 'The public IP address.', 'type' => 'string', 'example' => '20.3.XX.XX', 'title' => ''], + 'Status' => ['description' => 'The status of the instance. Valid values:'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Stopped'."\n" + ."\n" + .'- Expired', 'type' => 'string', 'example' => 'Running', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'NetworkingModel' => ['description' => 'The networking mode. Valid values:'."\n" + ."\n" + .'- SpeedUp: intelligent acceleration network (Internet)'."\n" + ."\n" + .'- Connection: internal network'."\n" + ."\n" + .'- SpeedUpAndConnection: intelligent acceleration network and internal network', 'type' => 'string', 'example' => 'SpeedUp', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'VSwitches' => [ + 'description' => 'Details of the vSwitch.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CidrBlock' => ['description' => 'The CIDR block.', 'type' => 'string', 'example' => '10.0.0.1/24', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => ' cn-chengdu-telecom-4', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vs-xxxx', 'title' => ''], + 'VSwitchName' => ['description' => 'The name of the vSwitch.', 'type' => 'string', 'example' => 'vs-test', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DescribeEpnInstanceAttribute', + 'description' => 'In internal networking mode, the value of Instances is empty in the response. In public networking mode, the value of VSwitches is empty in the response.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:52.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnInstanceAttribute'], + ], + ], + 'ramActions' => [ [ - 'name' => 'SecondaryPublicIpId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the secondary public IP address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'spi-5wys0pio93c9f9ukzj2f2fwyr', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnInstanceAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ConfVersions\\": [\\n {\\n \\"ConfVersion\\": \\"2017-10-11\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom\\"\\n }\\n ],\\n \\"EPNInstanceId\\": \\"epn-xxxx\\",\\n \\"EPNInstanceName\\": \\"epn-test\\",\\n \\"Instances\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom-4\\",\\n \\"InstanceId\\": \\"epn-xxx\\",\\n \\"InstanceName\\": \\"epn-test\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"PrivateIpAddress\\": \\"192.168.1.12\\",\\n \\"PublicIpAddress\\": \\"20.3.XX.XX\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ],\\n \\"NetworkingModel\\": \\"SpeedUp\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"VSwitches\\": [\\n {\\n \\"CidrBlock\\": \\"10.0.0.1/24\\",\\n \\"EnsRegionId\\": \\"\\\\t cn-chengdu-telecom-4\\",\\n \\"VSwitchId\\": \\"vs-xxxx\\",\\n \\"VSwitchName\\": \\"vs-test\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeEpnInstances' => [ + 'summary' => 'Queries EPN instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SecondaryPublicIpAddress', - 'in' => 'query', - 'schema' => [ - 'title' => '要查询的EIP实例的ID。 最多支持输入50个EIP实例ID,实例ID之间用逗号(,)分隔。', - 'description' => 'The secondary IP address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12.XXX.XXX.4', - ], + 'AK' => [], ], + ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'Isp', + 'name' => 'EPNInstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '要查询的EIP的IP地址。 最多支持输入50个EIP的IP地址,IP地址之间用逗号(,)分隔。', - 'description' => 'The Internet service provider. Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile.'."\n" - .'* unicom: China Unicom.'."\n" - .'* telecom: China Telecom.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], + 'schema' => ['description' => 'The version number.', 'type' => 'string', 'required' => false, 'example' => '2017-11-10', 'title' => ''], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'EPNInstanceName', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The name of the EPN instance.', 'type' => 'string', 'required' => false, 'example' => 'testEPNInstanceName', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '列表的页码,默认值为1。', - 'description' => 'The number of the page to return. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + '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' => [ - 'title' => '分页查询时每页的行数,最大值为100,默认值为10。', - '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, - 'maximum' => '100', - 'example' => '50', - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: **1 to 50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '13', - ], - 'SecondaryPublicIpAddresses' => [ - 'description' => 'The array of returned secondary IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'CidrMask' => [ - 'description' => 'The subnet mask of the CIDR block.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '24', - ], - 'Gateway' => [ - 'description' => 'The gateway.'."\n", - 'type' => 'string', - 'example' => '12.XXX.XXX.1', - ], - 'SecondaryPublicIpAddress' => [ - 'description' => 'The secondary public IP address.'."\n", - 'type' => 'string', - 'example' => '12.XXX.XXX.4', - ], - 'Isp' => [ - 'description' => 'The Internet service provider. Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile.'."\n" - .'* unicom: China Unicom.'."\n" - .'* telecom: China Telecom.'."\n", - 'type' => 'string', - 'example' => 'telecom', - ], - 'SecondaryPublicIpId' => [ - 'description' => 'The ID of the secondary public IP address.'."\n", - 'type' => 'string', - 'example' => 'spi-5wys0pio93c9f9ukzj2f2fwyr', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-15', - ], - 'CreationTime' => [ - 'description' => 'The time when the secondary public IP address was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2023-07-25T09:43:49Z', - ], - 'IpVersion' => [ - 'description' => 'The version of the IP address. Valid values:'."\n" - ."\n" - .'* **ipv4**'."\n" - .'* **ipv6**'."\n", - 'type' => 'string', - 'example' => 'ipv4', + 'EPNInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EPNInstance' => [ + 'description' => 'Details of EPN instances.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the instance was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-01T06:08:46Z', 'title' => ''], + 'EPNInstanceId' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'example' => 'epn****', 'title' => ''], + 'EPNInstanceName' => ['description' => 'The name of the EPN instance.', 'type' => 'string', 'example' => 'ens_test_epn', 'title' => ''], + 'EPNInstanceType' => ['description' => 'Set the value to EdgeToEdge.', 'type' => 'string', 'example' => 'EdgeToEdge', 'title' => ''], + 'EndTime' => ['description' => 'The end of the time range during which the data was queried. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-01T06:08:46Z', 'title' => ''], + 'InternetMaxBandwidthOut' => ['description' => 'The inbound bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'title' => ''], + 'ModifyTime' => ['description' => 'The time when the instance was last modified. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-01T06:08:46Z', 'title' => ''], + 'NetworkingModel' => ['description' => 'The networking mode. Valid values:'."\n" + ."\n" + .'- SpeedUp: intelligent acceleration network (Internet)'."\n" + ."\n" + .'- Connection: internal network'."\n" + ."\n" + .'- SpeedUpAndConnection: intelligent acceleration network and internal network', 'type' => 'string', 'example' => 'SpeedUp', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range during which the data was queried. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-01T06:08:46Z', 'title' => ''], + 'Status' => ['description' => 'The status of the instance. Valid values:'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Excuting'."\n" + ."\n" + .'- Stopped', 'type' => 'string', 'example' => 'Running', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A1707FC0-430C-423A-B624-284046B20399', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of pages returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DescribeEpnInstances', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:53.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 13,\\n \\"SecondaryPublicIpAddresses\\": [\\n {\\n \\"CidrMask\\": 24,\\n \\"Gateway\\": \\"12.XXX.XXX.1\\",\\n \\"SecondaryPublicIpAddress\\": \\"12.XXX.XXX.4\\",\\n \\"Isp\\": \\"telecom\\",\\n \\"SecondaryPublicIpId\\": \\"spi-5wys0pio93c9f9ukzj2f2fwyr\\",\\n \\"EnsRegionId\\": \\"cn-beijing-15\\",\\n \\"CreationTime\\": \\"2023-07-25T09:43:49Z\\",\\n \\"IpVersion\\": \\"ipv4\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeSecondaryPublicIpAddresses', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EPNInstances\\": {\\n \\"EPNInstance\\": [\\n {\\n \\"CreationTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"EPNInstanceId\\": \\"epn****\\",\\n \\"EPNInstanceName\\": \\"ens_test_epn\\",\\n \\"EPNInstanceType\\": \\"EdgeToEdge\\",\\n \\"EndTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"InternetMaxBandwidthOut\\": 40,\\n \\"ModifyTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"NetworkingModel\\": \\"SpeedUp\\",\\n \\"StartTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 40,\\n \\"RequestId\\": \\"A1707FC0-430C-423A-B624-284046B20399\\",\\n \\"TotalCount\\": 1\\n}","type":"json"}]', ], - 'CreateHaVip' => [ - 'summary' => 'Creates a high-availability virtual IP address (HAVIP).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DescribeEpnMeasurementData' => [ + 'summary' => 'Queries the metering data of the edge private network (EPN).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - 'maxLength' => 128, - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourName', - 'maxLength' => 256, - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch ID of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5****', - 'maxLength' => 256, - ], - ], - [ - 'name' => 'IpAddress', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '120.24.243.91', - 'pattern' => '^(\\d{0,3}\\.){3}\\d{0,3}$', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-mm-ddthh:mm:ssz format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2021-09-30T16:00:00Z', 'title' => ''], ], [ - 'name' => 'Amount', + 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of HAVIPs that you want to create. Valid values: 1 to 10. The value can be only 1 if you specify an IP address.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '6', - 'default' => '1', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2022-01-30T16:00:00Z', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - 'HaVipIds' => [ - 'description' => 'The IDs of the HAVIPs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the HAVIP.'."\n", - 'type' => 'string', - 'example' => 'havpid-id', + 'MeasurementDatas' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MeasurementData' => [ + 'description' => 'The metering data returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'Measurement data.', + 'type' => 'object', + 'properties' => [ + 'BandWidthFeeDatas' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BandWidthFeeData' => [ + 'description' => 'The bandwidth data returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'Bandwidth data.', + 'type' => 'object', + 'properties' => [ + 'CostCode' => ['description' => 'The code of the billable item.', 'type' => 'string', 'example' => 'cn-cmcc-1', 'title' => ''], + 'CostName' => ['description' => 'The name of the billable item.', 'type' => 'string', 'example' => 'Beijing/Shanghai/Guangzhou Mobile', 'title' => ''], + 'CostType' => ['description' => 'Metering method'."\n" + ."\n" + .'- SpeedUp: bandwidth of intelligent acceleration'."\n" + ."\n" + .'- IntranetConnection: internal bandwidth', 'type' => 'string', 'example' => 'SpeedUp', 'title' => ''], + 'CostVal' => ['description' => 'The value of the billable item.', 'type' => 'integer', 'format' => 'int32', 'example' => '16486', 'title' => ''], + 'IspLine' => ['description' => 'This parameter is unavailable.', 'type' => 'string', 'example' => 'This parameter is not in use.', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ChargeModel' => ['description' => 'The metering method. Valid values:'."\n" + ."\n" + .'- ChargeByUnified: unified metering.'."\n" + ."\n" + .'- ChargeByGrade: differential metering.', 'type' => 'string', 'example' => 'ChargeByGrade', 'title' => ''], + 'CostCycle' => ['description' => 'The metering cycle.', 'type' => 'string', 'example' => '2019-07-30', 'title' => ''], + 'CostEndTime' => ['description' => 'The end time of the metering cycle.', 'type' => 'string', 'example' => '2019-07-30T16:00:00Z', 'title' => ''], + 'CostStartTime' => ['description' => 'The start time of the metering cycle.', 'type' => 'string', 'example' => '2019-07-29T16:00:00Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A6328C33-6304-5291-8641-0A00A99D0DD0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MeasurementDatas\\": {\\n \\"MeasurementData\\": [\\n {\\n \\"BandWidthFeeDatas\\": {\\n \\"BandWidthFeeData\\": [\\n {\\n \\"CostCode\\": \\"cn-cmcc-1\\",\\n \\"CostName\\": \\"Beijing/Shanghai/Guangzhou Mobile\\",\\n \\"CostType\\": \\"SpeedUp\\",\\n \\"CostVal\\": 16486,\\n \\"IspLine\\": \\"This parameter is not in use.\\"\\n }\\n ]\\n },\\n \\"ChargeModel\\": \\"ChargeByGrade\\",\\n \\"CostCycle\\": \\"2019-07-30\\",\\n \\"CostEndTime\\": \\"2019-07-30T16:00:00Z\\",\\n \\"CostStartTime\\": \\"2019-07-29T16:00:00Z\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A6328C33-6304-5291-8641-0A00A99D0DD0\\"\\n}","type":"json"}]', + 'title' => 'DescribeEpnMeasurementData', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:53.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"HaVipIds\\": [\\n \\"havpid-id\\"\\n ]\\n}","type":"json"}]', - 'title' => 'CreateHaVip', - ], - 'ModifyHaVipAttribute' => [ - 'summary' => 'Modifies the name of a high-availability virtual IP address (HAVIP).', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnMeasurementData'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnMeasurementData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeExportImageInfo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'HaVipId', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the HAVIP that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'havip-52y28****', - ], + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => false, 'example' => 'm-xxxxx', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the HAVIP. The name must be 1 to 128 characters in length and cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - 'maxLength' => 128, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The name of the image.', 'type' => 'string', 'required' => false, 'example' => 'testImageName', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page **1**. 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, 'maximum' => '50', 'example' => '10', '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' => 'F3B261DD-3858-4D3C-877D-303ADF374600', + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => 'The returned result. For more information, see the Images parameter described in the JSON-formatted sample success response.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Architecture' => ['description' => 'The architecture of the image. Example: **x86\\_64**.', 'type' => 'string', 'example' => 'x86_64', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the image was created.', 'type' => 'string', 'example' => '2017-12-08T12:10:03Z', 'title' => ''], + 'ExportedImageURL' => ['description' => 'The URL of the exported image.', 'type' => 'string', 'example' => 'https://user_defined_bucket.oss-cn-beijing.aliyuncs.com/m-xxxxxxxxx1.qcow2', 'title' => ''], + 'ImageExportStatus' => ['description' => 'The export status of the image. Valid values:'."\n" + ."\n" + .'- Exporting'."\n" + ."\n" + .'- Exported'."\n" + ."\n" + .'- ExportError'."\n" + ."\n" + .'- Unexported', 'type' => 'string', 'example' => 'Exported', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'm-xxxxxxxxx1', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'm-xxxxxxxxx1', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The source of the image. Valid values:'."\n" + ."\n" + .'- system: public image'."\n" + ."\n" + .'- self: custom image', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Platform' => ['description' => 'The OS.', 'type' => 'string', 'example' => 'centos', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '13', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'Interface call error, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribeExportImageInfo', + 'summary' => 'Queries the export result of an image.', + 'description' => '- to query information about all custom images in your account. The information include the image properties, image export status, and the Object Storage Service (OSS) download links.'."\n" + ."\n" + .'- Empty strings are returned for images that are not exported.'."\n" + ."\n" + .'- The download links may become invalid if you delete objects in OSS.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-01-22T07:47:40.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', - 'title' => 'ModifyHaVipAttribute', - ], - 'DescribeHaVips' => [ - 'summary' => 'Queries high-availability virtual IP addresses (HAVIPs).', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeExportImageInfo'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeExportImageInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Architecture\\": \\"x86_64\\",\\n \\"CreationTime\\": \\"2017-12-08T12:10:03Z\\",\\n \\"ExportedImageURL\\": \\"https://user_defined_bucket.oss-cn-beijing.aliyuncs.com/m-xxxxxxxxx1.qcow2\\",\\n \\"ImageExportStatus\\": \\"Exported\\",\\n \\"ImageId\\": \\"m-xxxxxxxxx1\\",\\n \\"ImageName\\": \\"m-xxxxxxxxx1\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"Platform\\": \\"centos\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 13\\n}","type":"json"}]', + ], + 'DescribeExportImageStatus' => [ + 'summary' => 'Queries the export status of an image.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '203849', - 'abilityTreeNodes' => [ - 'FEATUREensMFQVWK', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'NetworkId', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-57gqcdfvx6n****', - ], + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => true, 'example' => 'centos_6_08_64_20G_alibase_****', 'title' => ''], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5****', + 'type' => 'object', + 'properties' => [ + 'ImageExportStatus' => ['description' => 'The export status of the image. Valid values:'."\n" + ."\n" + .'- Exporting'."\n" + ."\n" + .'- Exported'."\n" + ."\n" + .'- ExportError'."\n" + ."\n" + .'- Unexported', 'type' => 'string', 'example' => 'Exporting', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '14BBB3A0-3DBE-54F5-AEC8-01D3F6B1EBE2', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HaVipId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'havip-5p14t****', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], - [ - 'name' => 'HaVipAddress', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.5.XX.XX'."\n", - ], + ], + 'title' => 'DescribeExportImageStatus', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:41.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeExportImageStatus'], ], + ], + 'ramActions' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-cmcc', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeExportImageStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ImageExportStatus\\": \\"Exporting\\",\\n \\"RequestId\\": \\"14BBB3A0-3DBE-54F5-AEC8-01D3F6B1EBE2\\"\\n}","type":"json"}]', + ], + 'DescribeFileSystems' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Name', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensW91M6J'], + ], + 'parameters' => [ + [ + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-beijing-cmcc', 'title' => '', 'required' => false], ], [ - 'name' => 'Status', + 'name' => 'FileSystemId', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the HAVIP. Valid values:'."\n" - ."\n" - .'* Creating'."\n" - .'* Available'."\n" - .'* InUse'."\n" - .'* Deleting'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Available', - 'enum' => [ - 'Creating', - 'Available', - 'InUse', - 'Deleting', - ], - ], + 'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'example' => 'c50f8*****', 'title' => '', 'required' => false], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'FileSystemName', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The name of the file system.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'FileSystem1'], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number. Pages start from page **1**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '49', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'HaVips' => [ - 'description' => 'Details of the HAVIPs.'."\n", + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'FileSystems' => [ + 'title' => '', + 'description' => 'The information about the file systems.', 'type' => 'array', 'items' => [ - 'description' => 'Details of the HAVIP.'."\n", + 'title' => '', + 'description' => '', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the HAVIP. Valid values:'."\n" - ."\n" - .'* Creating'."\n" - .'* Available'."\n" - .'* InUse'."\n" - .'* Deleting'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'CreationTime' => [ - 'description' => 'The time when the HAVIP was created.'."\n", - 'type' => 'string', - 'example' => '2023-03-29T11:17:38Z', - ], - 'Description' => [ - 'description' => 'The description of the HAVIP.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'HaVipId' => [ - 'description' => 'The ID of the HAVIP.'."\n", - 'type' => 'string', - 'example' => 'havip-52y28****', - ], - 'Name' => [ - 'description' => 'The name of the HAVIP.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-guiyang-14', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5wtkyrk****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-5yc8d****', - ], - 'IpAddress' => [ - 'description' => 'The IP address of the HAVIP.'."\n", - 'type' => 'string', - 'example' => '192.XX.XX.5'."\n", - ], - 'AssociatedEipAddresses' => [ - 'description' => 'The elastic IP addresses (EIPs) that are associated with the HAVIP.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The EIP that is associated with the HAVIP.'."\n", - 'type' => 'object', - 'properties' => [ - 'EipId' => [ - 'description' => 'The ID of the EIP.'."\n", - 'type' => 'string', - 'example' => 'eip-5p1wz****', - ], - 'Eip' => [ - 'description' => 'The EIP.'."\n", - 'type' => 'string', - 'example' => '47.XX.XX.40', - ], - ], - ], - ], - 'AssociatedInstances' => [ - 'description' => 'The information about instances that are associated with the HAVIP.'."\n", + 'FileSystemId' => ['description' => 'The ID of the file system.', 'type' => 'string', 'title' => '', 'example' => 'c50f8*****'], + 'FileSystemName' => ['description' => 'The name of the file system.', 'type' => 'string', 'title' => '', 'example' => 'FileSystem1'], + 'EnsRegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'title' => '', 'example' => 'cn-beijing-cmcc'], + 'StorageType' => ['description' => 'The storage type. Valid values:'."\n" + ."\n" + .'- capacity: Capacity NAS file systems'."\n" + ."\n" + .'- performance: Performance NAS file systems', 'type' => 'string', 'title' => '', 'example' => 'capacity'], + 'ProtocolType' => ['description' => 'The protocol type of the file system. Valid values:'."\n" + ."\n" + .'- NFS: Network File System (NFS)'."\n" + ."\n" + .'- SMB: Server Message Block (SMB)', 'type' => 'string', 'title' => '', 'example' => 'NFS'], + 'Capacity' => ['description' => 'The capacity of the file system. Unit: MiB.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '100000'], + 'MeteredSize' => ['description' => 'The storage usage of the file system. The value of this parameter is the maximum storage usage of the file system over the last hour. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '102400'], + 'Status' => ['description' => 'The status of the file system. Valid values:'."\n" + ."\n" + .'- pending: The file system is being created or modified.'."\n" + ."\n" + .'- running: The file system is available. Before you create a mount target for the file system, make sure that the file system is in the running state.'."\n" + ."\n" + .'- stopped: The file system is unavailable.'."\n" + ."\n" + .'- extending: The file system is being scaled out.'."\n" + ."\n" + .'- stopping: The file system is being disabled.'."\n" + ."\n" + .'- deleting: The file system is being deleted.', 'type' => 'string', 'title' => '', 'example' => 'running'], + 'PayType' => ['description' => 'The billing method. PostPaid is returned. PostPaid indicates the pay-as-you-go billing method.', 'type' => 'string', 'title' => '', 'example' => 'PostPaid'], + 'CreationTime' => ['description' => 'The time when the file system was created.', 'type' => 'string', 'title' => '', 'example' => '2022-08-31 12:00:00'], + 'MountTargets' => [ + 'title' => '', + 'description' => 'The information about mount targets.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the instance that is associated with the HAVIP.'."\n", 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-51p****', - ], - 'InstanceType' => [ - 'description' => 'The type of the instance that is associated with the HAVIP. Valid values:'."\n" - ."\n" - .'* EnsInstance: ENS instance'."\n" - .'* NetworkInterface: elastic network interface (ENI)'."\n", - 'type' => 'string', - 'example' => 'EnsInstance', - ], - 'IpAddress' => [ - 'description' => 'The private IP address of the instance that is associated with the HAVIP. Valid values:'."\n", - 'type' => 'string', - 'example' => '192.XX.XX.9', - ], - 'Status' => [ - 'description' => 'The association status of the HAVIP. Valid values:'."\n" - ."\n" - .'* Associating'."\n" - .'* InUse'."\n" - .'* Unassociating'."\n", - 'type' => 'string', - 'example' => 'InUse', - ], - 'CreationTime' => [ - 'description' => 'The time when the instance was created.'."\n", - 'type' => 'string', - 'example' => '2023-01-05T07:09:28Z', - ], + 'MountTargetDomain' => ['description' => 'The path of the mount target.', 'type' => 'string', 'title' => '', 'example' => '*.*.*.*:/${FileSystemName}/{MountTargetName}'], + 'MountTargetName' => ['description' => 'The name of the mount target.', 'type' => 'string', 'title' => '', 'example' => 'target1'], + 'NetWorkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'title' => '', 'example' => 'n-****'], + 'Status' => ['description' => 'The status of the mount target. Valid values:'."\n" + ."\n" + .'- active: The mount target is available.'."\n" + ."\n" + .'- inactive: The mount target is unavailable.'."\n" + ."\n" + .'- pending: The task is running.'."\n" + ."\n" + .'- deleting: The mount target is being deleted.', 'type' => 'string', 'title' => '', 'example' => 'active'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'example' => '', ], + 'Description' => ['description' => 'Description.', 'type' => 'string', 'example' => 'test', 'title' => ''], ], + 'example' => '', ], + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '762DD527-358B-1E48-8005-CCE3ED4EB9E0', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'Interface call error, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'Query file system information', + 'summary' => 'Query NAS file system information.', + 'changeSet' => [ + ['createdAt' => '2025-04-01T02:32:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-06-13T09:06:33.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-09-28T05:47:48.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFileSystems'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeFileSystems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 2,\\n \\"TotalCount\\": 1,\\n \\"FileSystems\\": [\\n {\\n \\"FileSystemId\\": \\"c50f8*****\\",\\n \\"FileSystemName\\": \\"FileSystem1\\",\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"StorageType\\": \\"capacity\\",\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"Capacity\\": 100000,\\n \\"MeteredSize\\": 102400,\\n \\"Status\\": \\"running\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"CreationTime\\": \\"2022-08-31 12:00:00\\",\\n \\"MountTargets\\": [\\n {\\n \\"MountTargetDomain\\": \\"*.*.*.*:/${FileSystemName}/{MountTargetName}\\",\\n \\"MountTargetName\\": \\"target1\\",\\n \\"NetWorkId\\": \\"n-****\\",\\n \\"Status\\": \\"active\\"\\n }\\n ],\\n \\"Description\\": \\"test\\"\\n }\\n ],\\n \\"RequestId\\": \\"762DD527-358B-1E48-8005-CCE3ED4EB9E0\\"\\n}","type":"json"}]', + ], + 'DescribeForwardEntryAttribute' => [ + 'summary' => 'Queries a DNAT rule.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'ForwardEntryId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the DNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'fwd-5tfi6f0rutmd00xrhkag7****', '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' => '6666C5A5-75ED-422E-A022-7121FA18C968'], + 'NatGatewayId' => ['description' => 'The ID of the NAT Gateway.', 'type' => 'string', 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], + 'ForwardEntryId' => ['description' => 'The ID of the DNAT entry.', 'type' => 'string', 'example' => 'fwd-5tfi6f0rutmd00xrhkag7****', 'title' => ''], + 'ExternalIp' => ['description' => 'The Elastic IP Address (EIP) that provides public network access in the DNAT entry.', 'type' => 'string', 'example' => '36.XXX.XXX.72', 'title' => ''], + 'InternalIp' => ['description' => 'The private IP address of the instance that communicates over the public network through the DNAT entry.', 'type' => 'string', 'example' => '10.XXX.XXX.50', 'title' => ''], + 'ForwardEntryName' => ['description' => 'The name of the DNAT entry.', 'type' => 'string', 'example' => 'test0', 'title' => ''], + 'Status' => ['description' => 'The status of the DNAT entry.'."\n" + ."\n" + .'- Pending: The configuration is in progress, such as during creation or modification.'."\n" + ."\n" + .'- Available: The entry is active.'."\n" + ."\n" + .'- Deleting: The entry is being deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'CreationTime' => ['description' => 'The creation time in UTC.', 'type' => 'string', 'example' => '2020-04-26T15:38:27Z', 'title' => ''], + 'ExternalPort' => ['description' => 'The external port or port range for port forwarding.'."\n" + ."\n" + .'- The port range must be between 1 and 65535.'."\n" + ."\n" + .'- To forward a port range, separate the start and end ports with a forward slash (/), such as 10/20.', 'type' => 'string', 'example' => '22', 'title' => ''], + 'InternalPort' => ['description' => 'The internal port or port range for port forwarding.'."\n" + ."\n" + .'- The port range must be between 1 and 65535.'."\n" + ."\n" + .'- To forward a port range, separate the start and end ports with a forward slash (/), such as 10/20.', 'type' => 'string', 'example' => '22', 'title' => ''], + 'IpProtocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- **TCP**: Forwards TCP messages.'."\n" + ."\n" + .'- **UDP**: Forwards UDP messages.'."\n" + ."\n" + .'- **Any**: Forwards messages of all protocols.', 'type' => 'string', 'example' => 'Any', 'title' => ''], + 'HealthCheckPort' => ['description' => 'The probe port for DNAT. It must fall within the internal port range. The default value is empty.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'StandbyExternalIp' => ['description' => 'The standby Elastic IP Address (EIP) that provides public network access. You must select a standby EIP attached to the NAT Gateway. The standby public IP becomes active after the DNAT entry is created.', 'type' => 'string', 'example' => '101.XXX.XXX.4', 'title' => ''], + 'StandbyStatus' => ['description' => 'The status of the standby EIP.'."\n" + ."\n" + .'- Running: Enabled.'."\n" + ."\n" + .'- Stopping: Being disabled.'."\n" + ."\n" + .'- Stopped: Disabled.'."\n" + ."\n" + .'- Starting: Being enabled.', 'type' => 'string', 'example' => 'Stopped', 'title' => ''], + ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidForwardEntryId.NotFound', 'errorMessage' => 'The specified forwardEntry is not found.', 'description' => 'The specified DNAT does not exist. Check whether the input parameters are correct.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"TotalCount\\": \\"49\\",\\n \\"PageSize\\": \\"10\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"HaVips\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2023-03-29T11:17:38Z\\",\\n \\"Description\\": \\"test\\",\\n \\"HaVipId\\": \\"havip-52y28****\\",\\n \\"Name\\": \\"test\\",\\n \\"EnsRegionId\\": \\"cn-guiyang-14\\",\\n \\"NetworkId\\": \\"n-5wtkyrk****\\",\\n \\"VSwitchId\\": \\"vsw-5yc8d****\\",\\n \\"IpAddress\\": \\"192.XX.XX.5\\\\n\\",\\n \\"AssociatedEipAddresses\\": [\\n {\\n \\"EipId\\": \\"eip-5p1wz****\\",\\n \\"Eip\\": \\"47.XX.XX.40\\"\\n }\\n ],\\n \\"AssociatedInstances\\": [\\n {\\n \\"InstanceId\\": \\"i-51p****\\",\\n \\"InstanceType\\": \\"EnsInstance\\",\\n \\"IpAddress\\": \\"192.XX.XX.9\\",\\n \\"Status\\": \\"InUse\\",\\n \\"CreationTime\\": \\"2023-01-05T07:09:28Z\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeHaVips', - ], - 'AssociateHaVip' => [ - 'summary' => 'Associates a high-availability virtual IP address (HAVIP) with an Edge Node Service (ENS) instance or elastic network interface (ENI).', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeForwardEntryAttribute', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeForwardEntryAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeForwardEntryAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'NatGatewayForwardEntry', 'arn' => 'acs:ens::{#accountId}:natgatewayforwardentry/{#ForwardEntryId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"ForwardEntryId\\": \\"fwd-5tfi6f0rutmd00xrhkag7****\\",\\n \\"ExternalIp\\": \\"36.XXX.XXX.72\\",\\n \\"InternalIp\\": \\"10.XXX.XXX.50\\",\\n \\"ForwardEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\",\\n \\"ExternalPort\\": \\"22\\",\\n \\"InternalPort\\": \\"22\\",\\n \\"IpProtocol\\": \\"Any\\",\\n \\"HealthCheckPort\\": \\"80\\",\\n \\"StandbyExternalIp\\": \\"101.XXX.XXX.4\\",\\n \\"StandbyStatus\\": \\"Stopped\\"\\n}","type":"json"}]', + ], + 'DescribeForwardTableEntries' => [ + 'summary' => 'Queries Destination Network Address Translation (DNAT) entries that you created.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '203842', - 'abilityTreeNodes' => [ - 'FEATUREensWB9R7U', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '128825', + 'abilityTreeNodes' => ['FEATUREensSHG96R'], ], 'parameters' => [ [ - 'name' => 'HaVipId', + 'name' => 'NatGatewayId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the HAVIP.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'havip-5p14t****', - ], + 'schema' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'required' => true, 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'ForwardEntryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-50c4****', - ], + 'schema' => ['description' => 'The ID of the DNAT entry.', 'type' => 'string', 'required' => false, 'example' => 'fwd-5tfi6f0rutmd00xrhkag7****', 'title' => ''], ], [ - 'name' => 'InstanceType', + 'name' => 'ExternalIp', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the instance to be associated with the HAVIP. Valid values:'."\n" - ."\n" - .'* EnsInstance (default): ENS instance'."\n" - .'* NetworkInterface: elastic network interface (ENI)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnsInstance', - 'default' => 'EnsInstance', - 'enum' => [ - 'EnsInstance', - 'NetworkInterface', - ], - ], + 'schema' => ['description' => 'The EIP in the DNAT entry. The public IP address is used to access the Internet.', 'type' => 'string', 'required' => false, 'example' => '36.XXX.XXX.72', 'title' => ''], + ], + [ + 'name' => 'InternalIp', + 'in' => 'query', + 'schema' => ['description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.', 'type' => 'string', 'required' => false, 'example' => '10.XXX.XXX.50', 'title' => ''], + ], + [ + 'name' => 'ForwardEntryName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the DNAT entry.', 'type' => 'string', 'required' => false, 'example' => 'test0', 'title' => ''], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The protocol. Valid values:'."\n" + ."\n" + .'- **TCP**: forwards TCP packets.'."\n" + ."\n" + .'- **UDP**: forwards UDP packets.'."\n" + ."\n" + .'- **Any**: forwards all packets.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page **1**.'."\n" + ."\n" + .'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: **100**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'ForwardTableEntries' => [ + 'description' => 'Details of DNAT entries.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'NatGatewayId' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'example' => 'nat-5tawjw5j7sgd2deujxuk0****', 'title' => ''], + 'ForwardEntryId' => ['description' => 'The ID of the DNAT entry.', 'type' => 'string', 'example' => 'fwd-5tf66679oi2uoxcvlg0g2****', 'title' => ''], + 'ExternalIp' => ['description' => 'The EIP in the DNAT entry. The public IP address is used to access the Internet.', 'type' => 'string', 'example' => '120.XXX.XXX.70', 'title' => ''], + 'ExternalPort' => ['description' => 'The external port or port range that is used in port forwarding.', 'type' => 'string', 'example' => '22', 'title' => ''], + 'InternalIp' => ['description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.', 'type' => 'string', 'example' => '10.XXX.XXX.3', 'title' => ''], + 'InternalPort' => ['description' => 'The internal port or port range that is used for port forwarding.', 'type' => 'string', 'example' => '22', 'title' => ''], + 'ForwardEntryName' => ['description' => 'The name of the DNAT entry.', 'type' => 'string', 'example' => 'test0', 'title' => ''], + 'Status' => ['description' => 'The status of the DNAT entry. Valid values:'."\n" + ."\n" + .'- Pending: The DNAT entry is being created or modified.'."\n" + ."\n" + .'- Available: The DNAT entry is available.'."\n" + ."\n" + .'- Deleting: The DNAT entry is being deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'IpProtocol' => ['description' => 'The protocol. Valid values:'."\n" + ."\n" + .'- **TCP**: forwards TCP packets.'."\n" + ."\n" + .'- **UDP**: forwards UDP packets.'."\n" + ."\n" + .'- **Any**: forwards all packets.', 'type' => 'string', 'example' => 'Any', 'title' => ''], + 'HealthCheckPort' => ['description' => 'The probe port of DNAT.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'StandbyExternalIp' => ['description' => 'The secondary EIP that is used to access the Internet.', 'type' => 'string', 'example' => '101.XXX.XXX.7', 'title' => ''], + 'StandbyStatus' => ['description' => 'The status of the secondary EIP. Valid values:'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Stopping'."\n" + ."\n" + .'- Stopped'."\n" + ."\n" + .'- Starting', 'type' => 'string', 'example' => 'Stopped', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'HaVipNotFound', - 'errorMessage' => 'The input parameter haVipId that is not found.', - ], - [ - 'errorCode' => 'IncorrectHaVipStatus', - 'errorMessage' => 'The status of the haVip is invalid.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'Interface call error, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'InstanceAlreadyAssociated', - 'errorMessage' => 'The instance is already bound.', - ], - [ - 'errorCode' => 'IncorrectNetworkInterfaceStatus', - 'errorMessage' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.', - ], - [ - 'errorCode' => 'NetworkInterfaceNotFound', - 'errorMessage' => 'The specified network interface does not exist.', - ], - [ - 'errorCode' => 'NetworkInterfaceTypeNotSupported', - 'errorMessage' => 'This network interface type cannot be used with the current operation.', - ], - [ - 'errorCode' => 'IncorrectInstanceVSwitch', - 'errorMessage' => 'The binding instance must be under the same VSwitch.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'CountLimitExceed.HaVipOnInstance', - 'errorMessage' => 'The amount of HaVip associated with the specified Instance reach its limits.', - ], - [ - 'errorCode' => 'CountLimitExceed.InstanceOnHaVip', - 'errorMessage' => 'The number of instances bound to HaVip has reached the limit.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NatNotFound', 'errorMessage' => 'The specified Nat is not found.', 'description' => 'The specified parameter Nat does not exist.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => 'AssociateHaVip', - 'description' => 'When you call this operation to associate an HAVIP, take note of the following items:'."\n" - ."\n" - .'* An HAVIP immediately takes effect after it is associated. You do not need to restart the ENS instance. However, you need to associate the HAVIP with the ENI of the ENS instance.'."\n" - ."\n" - .'* The HAVIP and ENS instance must belong to the same vSwitch.'."\n" - ."\n" - .'* The ENS instance must be in the Running or Stopped state.'."\n" - ."\n" - .'* The HAVIP must be in the Available or InUse state.'."\n" - ."\n" - .'* AssociateHaVip 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 DescribeHaVips operation to query the status of an HAVIP:'."\n" - ."\n" - .' * If the HAVIP is in the Associating state, the HAVIP is being associated.'."\n" - ."\n" - .' '."\n" - ."\n" - .' * If the HAVIP is in the InUse state, the HAVIP is associated.'."\n", - ], - 'UnassociateHaVip' => [ - 'summary' => 'Disassociates a high-availability virtual IP address (HAVIP) from an Edge Node Service (ENS) instance or Elastic Network Interface (ENI).', - 'methods' => [ - 'get', - 'post', + 'title' => 'DescribeForwardTableEntries', + 'changeSet' => [ + ['createdAt' => '2024-06-28T01:51:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-18T09:09:04.000Z', 'description' => 'Error codes changed, Response parameters changed, Response parameters changed'], + ['createdAt' => '2022-07-19T06:16:06.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-07T16:04:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeForwardTableEntries'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeForwardTableEntries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"TotalCount\\": \\"100\\",\\n \\"PageSize\\": \\"10\\",\\n \\"ForwardTableEntries\\": [\\n {\\n \\"NatGatewayId\\": \\"nat-5tawjw5j7sgd2deujxuk0****\\",\\n \\"ForwardEntryId\\": \\"fwd-5tf66679oi2uoxcvlg0g2****\\",\\n \\"ExternalIp\\": \\"120.XXX.XXX.70\\",\\n \\"ExternalPort\\": \\"22\\",\\n \\"InternalIp\\": \\"10.XXX.XXX.3\\",\\n \\"InternalPort\\": \\"22\\",\\n \\"ForwardEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"IpProtocol\\": \\"Any\\",\\n \\"HealthCheckPort\\": \\"80\\",\\n \\"StandbyExternalIp\\": \\"101.XXX.XXX.7\\",\\n \\"StandbyStatus\\": \\"Stopped\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeHaVips' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '203845', - 'abilityTreeNodes' => [ - 'FEATUREens5WGMNC', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '203849', + 'abilityTreeNodes' => ['FEATUREensMFQVWK'], ], 'parameters' => [ + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => false, 'example' => 'n-57gqcdfvx6n****', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5****', 'title' => ''], + ], [ 'name' => 'HaVipId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the HAVIP.', 'type' => 'string', 'required' => false, 'example' => 'havip-5p14t****', 'title' => ''], + ], + [ + 'name' => 'HaVipAddress', + 'in' => 'query', + 'schema' => ['description' => 'The IP address of the HAVIP.', 'type' => 'string', 'required' => false, 'example' => '10.5.XX.XX'."\n", 'title' => ''], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing-cmcc', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the HAVIP.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the HAVIP that you want to disassociate.'."\n", + 'description' => 'The status of the HAVIP. Valid values:'."\n" + ."\n" + .'- Creating'."\n" + ."\n" + .'- Available'."\n" + ."\n" + .'- InUse'."\n" + ."\n" + .'- Deleting', 'type' => 'string', - 'required' => true, - 'example' => 'havip-5p14t****', + 'enum' => ['Creating', 'Available', 'InUse', 'Deleting'], + 'required' => false, + 'example' => 'Available', + 'title' => '', ], ], [ - 'name' => 'InstanceId', + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the ENS instance or ENI that you want to disassociate from the HAVIP.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5ecpqvk****', + 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '49', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HaVips' => [ + 'description' => 'Details of the HAVIPs.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the HAVIP.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the HAVIP. Valid values:'."\n" + ."\n" + .'- Creating'."\n" + ."\n" + .'- Available'."\n" + ."\n" + .'- InUse'."\n" + ."\n" + .'- Deleting', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the HAVIP was created.', 'type' => 'string', 'example' => '2023-03-29T11:17:38Z', 'title' => ''], + 'Description' => ['description' => 'The description of the HAVIP.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'HaVipId' => ['description' => 'The ID of the HAVIP.', 'type' => 'string', 'example' => 'havip-52y28****', 'title' => ''], + 'Name' => ['description' => 'The name of the HAVIP.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-guiyang-14', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5wtkyrk****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-5yc8d****', 'title' => ''], + 'IpAddress' => ['description' => 'The IP address of the HAVIP.', 'type' => 'string', 'example' => '192.XX.XX.5'."\n", 'title' => ''], + 'AssociatedEipAddresses' => [ + 'description' => 'The elastic IP addresses (EIPs) that are associated with the HAVIP.', + 'type' => 'array', + 'items' => [ + 'description' => 'The EIP that is associated with the HAVIP.', + 'type' => 'object', + 'properties' => [ + 'EipId' => ['description' => 'The ID of the EIP.', 'type' => 'string', 'example' => 'eip-5p1wz****', 'title' => ''], + 'Eip' => ['description' => 'The EIP.', 'type' => 'string', 'example' => '47.XX.XX.40', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AssociatedInstances' => [ + 'description' => 'The information about instances that are associated with the HAVIP.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the instance that is associated with the HAVIP.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-51p****', 'title' => ''], + 'InstanceType' => ['description' => 'The type of the instance that is associated with the HAVIP. Valid values:'."\n" + ."\n" + .'- EnsInstance: ENS instance'."\n" + ."\n" + .'- NetworkInterface: elastic network interface (ENI)', 'type' => 'string', 'example' => 'EnsInstance', 'title' => ''], + 'IpAddress' => ['description' => 'The private IP address of the instance that is associated with the HAVIP. Valid values:', 'type' => 'string', 'example' => '192.XX.XX.9', 'title' => ''], + 'Status' => ['description' => 'The association status of the HAVIP. Valid values:'."\n" + ."\n" + .'- Associating'."\n" + ."\n" + .'- InUse'."\n" + ."\n" + .'- Unassociating', 'type' => 'string', 'example' => 'InUse', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the instance was created.', 'type' => 'string', 'example' => '2023-01-05T07:09:28Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'Interface call error, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'HaVipNotFound', - 'errorMessage' => 'The input parameter haVipId that is not found.', - ], - [ - 'errorCode' => 'InstanceNotAssociated', - 'errorMessage' => 'The instance is not associated.', - ], - [ - 'errorCode' => 'IncorrectInstanceAssociationStatus', - 'errorMessage' => 'The status of the instance association is incorrect.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'Interface call error, please re-match, or contact the product.', 'description' => 'Interface call error, please re-select'], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', - 'title' => 'UnassociateHaVip', - ], - 'CreateNetworkAcl' => [ - 'summary' => 'Creates a network access control list (ACL).', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeHaVips', + 'summary' => 'Queries high-availability virtual IP addresses (HAVIPs).', + 'changeSet' => [ + ['createdAt' => '2025-03-27T03:09:58.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHaVips'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeHaVips', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"TotalCount\\": \\"49\\",\\n \\"PageSize\\": \\"10\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"HaVips\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2023-03-29T11:17:38Z\\",\\n \\"Description\\": \\"test\\",\\n \\"HaVipId\\": \\"havip-52y28****\\",\\n \\"Name\\": \\"test\\",\\n \\"EnsRegionId\\": \\"cn-guiyang-14\\",\\n \\"NetworkId\\": \\"n-5wtkyrk****\\",\\n \\"VSwitchId\\": \\"vsw-5yc8d****\\",\\n \\"IpAddress\\": \\"192.XX.XX.5\\\\n\\",\\n \\"AssociatedEipAddresses\\": [\\n {\\n \\"EipId\\": \\"eip-5p1wz****\\",\\n \\"Eip\\": \\"47.XX.XX.40\\"\\n }\\n ],\\n \\"AssociatedInstances\\": [\\n {\\n \\"InstanceId\\": \\"i-51p****\\",\\n \\"InstanceType\\": \\"EnsInstance\\",\\n \\"IpAddress\\": \\"192.XX.XX.9\\",\\n \\"Status\\": \\"InUse\\",\\n \\"CreationTime\\": \\"2023-01-05T07:09:28Z\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeHistoryEvents' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '150434', - 'abilityTreeNodes' => [ - 'FEATUREensGUJDF4', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '222214', + 'abilityTreeNodes' => ['FEATUREensZ4NH23'], ], 'parameters' => [ [ - 'name' => 'NetworkAclName', + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'default' => '1', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'default' => '10', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'EventTypes', 'in' => 'query', + 'style' => 'simple', 'schema' => [ - 'description' => 'Enter a name for 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', + 'description' => 'The event types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The event type. Valid values:'."\n" + ."\n" + .'- `Instance:SystemFailure.Redeploy`: The instance is redeployed due to a system failure.'."\n" + ."\n" + .'- `Instance:SystemFailure.Reboot`: The instance is restarted due to a system error.'."\n" + ."\n" + .'- `Instance:RegionNetworkDown`: A network interruption occurred on the node.'."\n" + ."\n" + .'- `Disk:Stalled`: The disk performance is degraded.'."\n" + ."\n" + .'- `EnsRegion:NetworkMigration`: The instance is migrated due to a system error.'."\n" + ."\n" + .'- `IP:SafeRisk`: An IP address alert is triggered.'."\n" + ."\n" + .'- `IP:SafeBan`: The IP address is blocked.'."\n" + ."\n" + .'- `Instance:SystemUpgrade.Migrate`: The instance is migrated due to an underlying system upgrade.'."\n" + ."\n" + .'- `Instance:SystemMaintenance.Redeploy`: The instance is redeployed for system maintenance.', + 'type' => 'string', + 'enum' => ['Instance:SystemFailure.Redeploy', 'Instance:SystemFailure.Reboot', 'Disk:Stalled', 'EnsRegion:NetworkMigration', 'IP:SafeRisk', 'IP:SafeBan', 'Instance:RegionNetworkDown', 'Instance:SystemUpgrade.Migrate', 'Instance:SystemMaintenance.Redeploy', 'Instance:SystemMaintenance.Reboot'], + 'required' => false, + 'example' => 'Instance:SystemFailure.Reboot', + 'title' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'minItems' => 1, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'EventLevels', + 'in' => 'query', + 'style' => 'simple', + 'schema' => [ + 'description' => 'The event levels.', + 'type' => 'array', + 'items' => [ + 'description' => 'The event level. Valid values:'."\n" + ."\n" + .'- `CRITICAL`: critical.'."\n" + ."\n" + .'- `WARN`: warning.'."\n" + ."\n" + .'- `INFO`: informational.', + 'type' => 'string', + 'enum' => ['CRITICAL', 'WARN', 'INFO'], + 'required' => false, + 'example' => 'WARN', + 'title' => '', + ], 'required' => false, - 'example' => 'acl-1', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Description', + 'name' => 'ResourceIds', 'in' => 'query', + 'style' => 'simple', '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', + 'description' => 'The resource IDs.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => false, 'example' => 'i-55qi8m11rr53c4i964md8a00l', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'EventStatus', + 'in' => 'query', + 'style' => 'simple', + 'schema' => [ + 'description' => 'The event statuses.', + 'type' => 'array', + 'items' => [ + 'description' => 'The event status. Valid values:'."\n" + ."\n" + .'- `Inquiring`: The event is being investigated.'."\n" + ."\n" + .'- `Scheduled`: The event is scheduled.'."\n" + ."\n" + .'- `Executing`: The event is in progress.'."\n" + ."\n" + .'- `Executed`: The event is complete.'."\n" + ."\n" + .'- `Failed`: The event has failed.'."\n" + ."\n" + .'- `Canceled`: The event is canceled.'."\n" + ."\n" + .'- `Avoided`: The event was averted.', + 'type' => 'string', + 'enum' => ['Inquiring', 'Scheduled', 'Executing', 'Executed', 'Avoided', 'Failed', 'Canceled'], + 'required' => false, + 'example' => 'Inquiring', + 'title' => '', + ], 'required' => false, - 'example' => 'This is my NetworkAcl.', + 'title' => '', + 'example' => '', ], ], ], @@ -30969,1125 +18821,1059 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'NetworkAclId' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'example' => 'nacl-5p1fg655nh68xyz9i****', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '5359599C-F656-57BD-8A0D-329A2FD511A6'], + 'Events' => [ + 'description' => 'The list of events.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of an event.', + 'type' => 'object', + 'properties' => [ + 'EventId' => ['description' => 'The event ID.', 'type' => 'string', 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', 'title' => ''], + 'EventStatus' => ['description' => 'The event status. Valid values:'."\n" + ."\n" + .'- `Inquiring`: The event is under inquiry.'."\n" + ."\n" + .'- `Scheduled`: The event is scheduled.'."\n" + ."\n" + .'- `Executing`: The event is in progress.'."\n" + ."\n" + .'- `Executed`: The event has been executed.'."\n" + ."\n" + .'- `Failed`: The event has failed.'."\n" + ."\n" + .'- `Canceled`: The event is canceled.'."\n" + ."\n" + .'- `Avoided`: The event is avoided.', 'type' => 'string', 'example' => 'Inquiring', 'title' => ''], + 'EventType' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'- `Instance:SystemFailure.Redeploy`: The instance is redeployed due to a system issue.'."\n" + ."\n" + .'- `Instance:SystemFailure.Reboot`: The instance is rebooted due to a system error.'."\n" + ."\n" + .'- `Instance:RegionNetworkDown`: The node is experiencing a network interruption.'."\n" + ."\n" + .'- `Disk:Stalled`: The disk performance is degraded.'."\n" + ."\n" + .'- `EnsRegion:NetworkMigration`: The instance is migrated due to a system error.'."\n" + ."\n" + .'- `IP:SafeRisk`: An IP alert is triggered.'."\n" + ."\n" + .'- `IP:SafeBan`: The IP address is blocked.'."\n" + ."\n" + .'- `Instance:SystemUpgrade.Migrate`: The instance must be migrated for an underlying system upgrade.'."\n" + ."\n" + .'- `Instance:SystemMaintenance.Redeploy`: The instance is redeployed for system maintenance.', 'type' => 'string', 'example' => 'Instance:SystemFailure.Reboot', 'title' => ''], + 'ResourceId' => ['description' => 'The ID of the associated resource.', 'type' => 'string', 'example' => 'i-55qi8m11rr53c4i964md8a00l', 'title' => ''], + 'EventLevel' => ['description' => 'The event level. Valid values:'."\n" + ."\n" + .'- `CRITICAL`: A critical event that requires immediate attention.'."\n" + ."\n" + .'- `WARN`: A warning that may indicate a potential issue.'."\n" + ."\n" + .'- `INFO`: An informational message that does not require action.', 'type' => 'string', 'example' => 'WARN', 'title' => ''], + 'PublishTime' => ['description' => 'The time the event was published, represented as a Unix timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1715578245000', 'title' => ''], + 'ExtendedAttribute' => ['description' => 'The extended attributes of the event, in JSON format.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'example' => '目前系统策略额度不够', 'title' => ''], + 'NotBefore' => ['description' => 'The scheduled execution time for the event, represented as a Unix timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1715578245000', 'title' => ''], + 'PublishUtcTime' => ['description' => 'The time the event was published, in UTC format.', 'type' => 'string', 'title' => '', 'example' => ''], + 'NotBeforeUtcTime' => ['description' => 'The scheduled execution time, in UTC format.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries that match the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"NetworkAclId\\": \\"nacl-5p1fg655nh68xyz9i****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n String\\tnacl-5p1fg655nh68xyz9i****\\n","errorExample":""}]', - 'title' => 'CreateNetworkAcl', - ], - 'DeleteNetworkAcl' => [ - 'summary' => 'Deletes a network access control list (ACL).', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensRPFZ7X', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeHistoryEvents', + 'summary' => 'Retrieves a list of system events.', + 'description' => '- The required `EventTypes` parameter allows you to specify one or more event types in a single request.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHistoryEvents'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'NetworkAclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nacl-bp1lhl0taikrbgnh****', - ], - ], - ], - '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeHistoryEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'NetworkAclIdNotFound', - 'errorMessage' => 'The specified instance does not exist. Please check whether the instance ID is correct.', - ], - [ - 'errorCode' => 'DependencyNetworkViolation', - 'errorMessage' => 'A bound network can be deleted only after it is unbound', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied. ', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'DeleteNetworkAcl', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5359599C-F656-57BD-8A0D-329A2FD511A6\\",\\n \\"Events\\": [\\n {\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"EventStatus\\": \\"Inquiring\\",\\n \\"EventType\\": \\"Instance:SystemFailure.Reboot\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\",\\n \\"EventLevel\\": \\"WARN\\",\\n \\"PublishTime\\": 1715578245000,\\n \\"ExtendedAttribute\\": \\"{}\\",\\n \\"Reason\\": \\"目前系统策略额度不够\\",\\n \\"NotBefore\\": 1715578245000,\\n \\"PublishUtcTime\\": \\"\\",\\n \\"NotBeforeUtcTime\\": \\"\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 30\\n}","type":"json"}]', ], - 'DescribeNetworkAcls' => [ - 'summary' => 'Queries network access control lists (ACLs).', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeImageInfos' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensF94XEF', - ], + 'abilityTreeCode' => '4371', + 'abilityTreeNodes' => ['FEATUREens10C7IY'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'NetworkAclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacl-bp1lhl0taikrbgnh****', - ], - ], - [ - 'name' => 'NetworkAclName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the network ACL.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acl-1', - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the associated instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-5****', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'OsType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The operating system (OS). You can specify only one OS in a request. If you do not specify a value for this parameter, images for all supported OSs are queried. Valid values:'."\n" + ."\n" + .'- linux'."\n" + ."\n" + .'- windows', 'type' => 'string', 'required' => false, 'example' => 'linux', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A1707FC0-430C-423A-B624-284046B20399', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'NetworkAcls' => [ - 'description' => 'Details of the network ACLs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the network ACL. Valid values:'."\n" - ."\n" - .'* **Available**: The network ACL is available.'."\n" - .'* **Modifying**: The network ACL is being configured.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'CreationTime' => [ - 'description' => 'The time when the network ACL 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' => '2019-11-01T06:08:46Z', - ], - 'Description' => [ - 'description' => 'The description of the network ACL.'."\n", - 'type' => 'string', - 'example' => 'This is my NetworkAcl.', - ], - 'NetworkAclId' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'example' => 'nacl-a2do9e413e0spxscd****', - ], - 'NetworkAclName' => [ - 'description' => 'The name of the network ACL.'."\n", - 'type' => 'string', - 'example' => 'acl-8', - ], - 'IngressAclEntries' => [ - 'description' => 'Details of the inbound rules.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Policy' => [ - 'description' => 'The action that is performed on network traffic that matches the rule. Valid values:'."\n" - ."\n" - .'* **accept**: allows the network traffic.'."\n" - .'* **drop**: blocks the network traffic.'."\n", - 'type' => 'string', - 'example' => 'accept', - ], - 'NetworkAclEntryId' => [ - 'description' => 'The ID of the inbound rule.'."\n", - 'type' => 'string', - 'example' => 'nae-5dk86arlydmezasw****', - ], - 'NetworkAclEntryName' => [ - 'description' => 'The name of the inbound rule.'."\n", - 'type' => 'string', - 'example' => 'acl-3', - ], - 'CidrBlock' => [ - 'description' => 'The source CIDR block.'."\n", - 'type' => 'string', - 'example' => '10.0.0.0/24', - ], - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* **icmp**: ICMP.'."\n" - .'* **tcp**: TCP.'."\n" - .'* **udp**: UDP.'."\n" - .'* **all**: all protocols.'."\n", - 'type' => 'string', - 'example' => 'all', - ], - 'PortRange' => [ - 'description' => 'The destination port range of the inbound rule.'."\n" - ."\n" - .'* If **Protocol** of the inbound rule is set to **all** or **icmp**, the port range is **-1/-1**, which indicates all ports.'."\n" - .'* If **Protocol** of the inbound rule is set to **tcp** or **udp**, the port range is in the following format: **1/200** or **80/80**. 1/200 indicates port 1 to port 200. 80/80 indicates port 80. Valid values for a port: **1 to 65535**.'."\n", - 'type' => 'string', - 'example' => '-1/-1', - ], - 'Priority' => [ - 'description' => 'The priority of the rule. Valid values: **1 to 100**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Type' => [ - 'description' => 'The type of the rule. Valid values:'."\n" - ."\n" - .'* **system**: The rule is created by the system.'."\n" - .'* **custom**: The rule is created by a user.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Description' => [ - 'description' => 'The description of the inbound rule.'."\n", - 'type' => 'string', - 'example' => 'This is IngressAclEntries.', - ], - 'DestinationCidrBlock' => [ - 'type' => 'string', - ], - ], - ], - ], - 'EgressAclEntries' => [ - 'description' => 'Details of the outbound rules.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Policy' => [ - 'description' => 'The action that is performed on network traffic that matches the rule. Valid values:'."\n" - ."\n" - .'* **accept**: allows the network traffic.'."\n" - .'* **drop**: blocks the network traffic.'."\n", - 'type' => 'string', - 'example' => 'accept', - ], - 'NetworkAclEntryId' => [ - 'description' => 'The ID of the outbound rule.'."\n", - 'type' => 'string', - 'example' => 'nae-a2d447uw4tillfvgb****', - ], - 'NetworkAclEntryName' => [ - 'description' => 'The name of the outbound rule.'."\n", - 'type' => 'string', - 'example' => 'acl-2', - ], - 'CidrBlock' => [ - 'description' => 'The destination CIDR block.'."\n", - 'type' => 'string', - 'example' => '10.0.0.0/24', - ], - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* **icmp**: ICMP.'."\n" - .'* **tcp**: TCP.'."\n" - .'* **udp**: UDP.'."\n" - .'* **all**: all protocols.'."\n", - 'type' => 'string', - 'example' => 'all', - ], - 'PortRange' => [ - 'description' => 'The destination port range of the outbound rule.'."\n" - ."\n" - .'* If **Protocol** of the outbound rule is set to **all** or **icmp** the port range is **-1/-1**, which indicates all ports.'."\n" - .'* If **Protocol** of the outbound rule is set to **tcp** or **udp**, the port range is in the following format: **1/200** or **80/80**. 1/200 indicates port 1 to port 200. 80/80 indicates port 80. Valid values for a port: **1 to 65535**.'."\n", - 'type' => 'string', - 'example' => '-1/-1', - ], - 'Priority' => [ - 'description' => 'The priority of the rule. Valid values: **1 to 100**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Type' => [ - 'description' => 'The type of the rule. Valid values:'."\n" - ."\n" - .'* **system**: The rule is created by the system.'."\n" - .'* **custom**: The rule is created by a user.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Description' => [ - 'description' => 'The description of the outbound rule.'."\n", - 'type' => 'string', - 'example' => 'This is EgressAclEntries.', - ], + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => 'The information about images.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image.', + 'type' => 'object', + 'properties' => [ + 'Description' => ['description' => 'The description of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_alibase_2017****', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_alibase_2017****', 'title' => ''], + 'ImageSize' => ['description' => 'The size of the image. Unit: GiB.', 'type' => 'string', 'example' => '20', 'title' => ''], + 'ImageVersion' => ['description' => 'The version of the image.', 'type' => 'string', 'example' => '6.8', 'title' => ''], + 'OSName' => ['description' => 'The type of the image. Valid values: **centos**, **debian**, **ubuntu**, and **windows**.', 'type' => 'string', 'example' => 'centos', 'title' => ''], + 'OSType' => ['description' => 'The type of the operating system.', 'type' => 'string', 'example' => 'linux', 'title' => ''], + 'ComputeType' => [ + 'description' => 'The computing type of the image. Valid values:'."\n" + ."\n" + .'- ens\\_vm: x86 computing.'."\n" + ."\n" + .'- arm\\_vm: ARM computing.'."\n" + ."\n" + .'- bare\\_metal: x86 bare machine.'."\n" + ."\n" + .'- pcfarm: heterogeneous computing.', + 'enumValueTitles' => ['ens_vm' => '', 'arm_vm' => '', 'bare_metal' => '', 'pcfarm' => ''], + 'type' => 'string', + 'example' => 'ens_vm', + 'title' => '', ], - ], - ], - 'Resources' => [ - 'description' => 'Details of the associated resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The association status of the resource. Valid values:'."\n" - ."\n" - .'* **BINDED**: The resource is associated with the network ACL.'."\n" - .'* **BINDING**: The resource is being associated with the network ACL.'."\n" - .'* **UNBINDING**: The resource is being disassociated from the network ACL.'."\n", - 'type' => 'string', - 'example' => 'BINDING', - ], - 'ResourceType' => [ - 'description' => 'The type of the associated resource.'."\n", - 'type' => 'string', - 'example' => 'Network', - ], - 'ResourceId' => [ - 'description' => 'The ID of the associated resource.'."\n", - 'type' => 'string', - 'example' => 'n-****', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-fuzhou-telecom', + 'DiskDeviceMappings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskDeviceMapping' => [ + 'description' => 'The mappings between disks and snapshots in the image.', + 'type' => 'array', + 'items' => [ + 'description' => 'The mappings between the disk and the snapshot in the image.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the disk. Valid values: System and Data.', 'type' => 'string', 'example' => 'Data', 'title' => ''], + 'Size' => ['description' => 'The size of the image. Unit: GB.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'Format' => ['description' => 'The format of the image.', 'type' => 'string', 'example' => '镜像格式,取值'."\n" + .'raw'."\n" + .'qcow2', 'title' => ''], + 'imageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'i-test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-wulanchabu', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5568A08C-10A9-47F3-902F-647298B463FB', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DescribeImageInfos', + 'summary' => 'Queries available images.', + 'changeSet' => [ + ['createdAt' => '2025-01-10T03:41:27.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-16T01:35:24.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-09T06:15:34.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeImageInfos'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeImageInfos', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A1707FC0-430C-423A-B624-284046B20399\\",\\n \\"TotalCount\\": \\"3\\",\\n \\"PageSize\\": \\"2\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"NetworkAcls\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"Description\\": \\"This is my NetworkAcl.\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spxscd****\\",\\n \\"NetworkAclName\\": \\"acl-8\\",\\n \\"IngressAclEntries\\": [\\n {\\n \\"Policy\\": \\"accept\\",\\n \\"NetworkAclEntryId\\": \\"nae-5dk86arlydmezasw****\\",\\n \\"NetworkAclEntryName\\": \\"acl-3\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Protocol\\": \\"all\\",\\n \\"PortRange\\": \\"-1/-1\\",\\n \\"Priority\\": 1,\\n \\"Type\\": \\"system\\",\\n \\"Description\\": \\"This is IngressAclEntries.\\",\\n \\"DestinationCidrBlock\\": \\"10.0.0.0/24\\"\\n }\\n ],\\n \\"EgressAclEntries\\": [\\n {\\n \\"Policy\\": \\"accept\\",\\n \\"NetworkAclEntryId\\": \\"nae-a2d447uw4tillfvgb****\\",\\n \\"NetworkAclEntryName\\": \\"acl-2\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Protocol\\": \\"all\\",\\n \\"PortRange\\": \\"-1/-1\\",\\n \\"Priority\\": 1,\\n \\"Type\\": \\"system\\",\\n \\"Description\\": \\"This is EgressAclEntries.\\"\\n }\\n ],\\n \\"Resources\\": [\\n {\\n \\"Status\\": \\"BINDING\\",\\n \\"ResourceType\\": \\"Network\\",\\n \\"ResourceId\\": \\"n-****\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-telecom\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n A1707FC0-430C-423A-B624-284046B20399\\n 3\\n 2\\n 1\\n \\n Available\\n 2019-11-01T06:08:46Z\\n This is my NetworkAcl.\\n nacl-a2do9e413e0spxscd****\\n acl-8\\n \\n accept\\n nae-5dk86arlydmezasw****\\n acl-3\\n 10.0.0.0/24\\n all\\n -1/-1\\n 1\\n system\\n This is IngressAclEntries.\\n \\n \\n accept\\n nae-a2d447uw4tillfvgb****\\n acl-2\\n 10.0.0.0/24\\n all\\n -1/-1\\n 1\\n system\\n This is EgressAclEntries.\\n \\n \\n BINDING\\n Network\\n n-****\\n cn-fuzhou-telecom\\n \\n \\n","errorExample":""}]', - 'title' => 'DescribeNetworkAcls', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Description\\": \\"centos_6_08_64_20G_alibase_2017****\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_2017****\\",\\n \\"ImageSize\\": \\"20\\",\\n \\"ImageVersion\\": \\"6.8\\",\\n \\"OSName\\": \\"centos\\",\\n \\"OSType\\": \\"linux\\",\\n \\"ComputeType\\": \\"ens_vm\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"Data\\",\\n \\"Size\\": \\"100\\",\\n \\"Format\\": \\"镜像格式,取值\\\\nraw\\\\nqcow2\\",\\n \\"imageId\\": \\"i-test\\"\\n }\\n ]\\n },\\n \\"RegionId\\": \\"cn-wulanchabu\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"5568A08C-10A9-47F3-902F-647298B463FB\\"\\n}","type":"json"}]', + 'extraInfo' => ' ', ], - 'AccosicateNetworkAcl' => [ - 'summary' => 'Associates a network access control list (ACL) with a network.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeImageSharePermission' => [ + 'summary' => 'Queries the accounts with which you share an image specified by the ImageId parameter.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'operationType' => 'get', + 'abilityTreeCode' => '18007', + 'abilityTreeNodes' => ['FEATUREensW6UXP8'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'NetworkAclId', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nacl-a2do9e413e0sp****', - ], + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => true, 'example' => 'm-5s7qotzavwbrnzaqh4unm****', 'title' => ''], ], [ - 'name' => 'Resource', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The type of resource with which you want to associate the network ACL.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The type of the associated resource. Set the value to **Network**.'."\n" - ."\n" - .'Valid values of **N**: 0 to 29. You can associate a network ACL with at most 30 resources.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Network', - 'enum' => [ - 'Network', - ], - ], - 'ResourceId' => [ - 'description' => 'The ID of the associated resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-5****', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => true, - 'maxItems' => 30, - 'minItems' => 1, - ], + 'schema' => ['description' => 'The page number. Pages start from page **1**.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'string', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **100**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'string', 'required' => false, 'maximum' => '100', 'default' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AliyunId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Alibaba Cloud account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '171710408091****', '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'TotalCount' => ['description' => 'The total number of Alibaba Cloud accounts with which you share the image.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A44EE357-6174-5E37-A801-48F5790F9ACE', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'm-5qkf6jv9a0tzd5ipwx5fi****', 'title' => ''], + 'Accounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Account' => [ + 'description' => 'The account information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The registered Alibaba Cloud accounts with which you share the image.', + 'type' => 'object', + 'properties' => [ + 'AliyunUid' => ['description' => 'The Alibaba Cloud account with which you share the image.', 'type' => 'string', 'example' => '151528552xxxxx', 'title' => ''], + ], + 'example' => '[{"AliyunId": 197265348438****},]', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'InvalidNetworkAcl.NotFound', - 'errorMessage' => 'The special Network Acl is not found.', - ], - [ - 'errorCode' => 'InvalidResource.NotFound', - 'errorMessage' => 'The binding instance is not found.', - ], - [ - 'errorCode' => 'InvalidResource.Associated', - 'errorMessage' => 'This instance has already associated network acl.', - ], - [ - 'errorCode' => 'RegionAccessDenied', - 'errorMessage' => 'Could not operate this region\'s resource.', - ], - [ - 'errorCode' => 'InvalidResource.NotSupport', - 'errorMessage' => 'Network type not support.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'AccosicateNetworkAcl', - ], - 'UnassociateNetworkAcl' => [ - 'summary' => 'Disassociates a network access control list (ACL) from a network.', - 'methods' => [ - 'get', - 'post', + 'title' => 'DescribeImageSharePermission', + 'changeSet' => [ + ['createdAt' => '2025-03-17T09:12:52.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-12-21T08:03:41.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeImageSharePermission'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeImageSharePermission', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 100,\\n \\"RequestId\\": \\"A44EE357-6174-5E37-A801-48F5790F9ACE\\",\\n \\"PageNumber\\": 1,\\n \\"ImageId\\": \\"m-5qkf6jv9a0tzd5ipwx5fi****\\",\\n \\"Accounts\\": {\\n \\"Account\\": [\\n {\\n \\"AliyunUid\\": \\"151528552xxxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeImages' => [ + 'summary' => 'Queries available images.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'operationType' => 'list', + 'abilityTreeCode' => '3619', + 'abilityTreeNodes' => ['FEATUREensU96TR9'], ], 'parameters' => [ [ - 'name' => 'NetworkAclId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL that you want to disassociate from a resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nacl-a2do9e413e0sp****', - ], + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => false, 'example' => 'cn-dalian-unicom', 'title' => ''], ], [ - 'name' => 'Resource', + 'name' => 'ImageId', 'in' => 'query', - 'style' => 'flat', + 'schema' => ['description' => 'The ID of the image. You can specify only one image ID.'."\n" + ."\n" + .'Custom images and public images are supported.', 'type' => 'string', 'required' => false, 'example' => 'm-5qm2r6xo7njrpdkx04q1o****', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is unavailable.', 'type' => 'string', 'example' => 'This parameter is not in use.', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the custom image. The name must be 2 to 128 characters in length The name must start with a letter and cannot start with `acs:` or `aliyun`. The name cannot contain `http://` or `https://`. The name can contain letters, digits, periods (.), colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'By default, this parameter is left empty, which indicates that the original name is retained.', 'type' => 'string', 'required' => false, 'example' => 'centos_6_08_64_20G_a****', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page **1**.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'string', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the snapshot.', 'type' => 'string', 'required' => false, 'example' => 'mock-clone_snapshot_id', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Resources that you want to disassociate. Valid values of **N**: 0 to 29. A maximum of 30 resources can be unbound.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resources that you want to disassociate.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The type of the resource that you want to disassociate. Valid values:'."\n" - ."\n" - .'* Network'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Network', - 'enum' => [ - 'Network', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => 'The information about the images.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image.', + 'type' => 'object', + 'properties' => [ + 'Architecture' => ['description' => 'The architecture of the image. Example: **x86\\_64**.', 'type' => 'string', 'example' => 'x86_64', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the image was created. The time follows the ISO 8601 standard.', 'type' => 'string', 'example' => '2017-12-08T12:10:03Z', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_alibase_2017****', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'Ubuntu_16.04', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The source of the image. Valid values:'."\n" + ."\n" + .'- system: Alibaba Cloud public images'."\n" + ."\n" + .'- self: your custom images'."\n" + ."\n" + .'- others: shared images from other Alibaba Cloud accounts, or community images published by other Alibaba Cloud accounts', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'ImageSize' => ['description' => 'The size of the image. Unit: GiB.', 'type' => 'string', 'example' => '40', 'title' => ''], + 'Platform' => ['description' => 'The operating system type of the image. Valid values:'."\n" + ."\n" + .'- Linux'."\n" + ."\n" + .'- Windows', 'type' => 'string', 'example' => 'centos', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot.', 'type' => 'string', 'example' => 'mock-clone_snapshot_id', 'title' => ''], + 'DiskDeviceMappings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskDeviceMapping' => [ + 'description' => 'The mappings between the disk and the snapshot in the image.', + 'type' => 'array', + 'items' => [ + 'description' => 'The mappings between the disk and the snapshot in the image.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the disk. Valid values:'."\n" + ."\n" + .'- system: system disk.'."\n" + ."\n" + .'- data: data disk.', 'type' => 'string', 'example' => 'Data', 'title' => ''], + 'Size' => ['description' => 'The size of the disk. Unit: GiB.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'Format' => ['description' => 'The format of the image.', 'type' => 'string', 'example' => 'Image format.'."\n" + .'raw'."\n" + .'qcow2', 'title' => ''], + 'imageId' => ['description' => 'The ID of image.', 'type' => 'string', 'example' => 'i-test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], - 'ResourceId' => [ - 'description' => 'The ID of the resource that you want to disassociate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-5***', - ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '8331AA01-C16D-5481-BB47-D19CEBAA811E', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of images.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Architecture\\": \\"x86_64\\",\\n \\"CreationTime\\": \\"2017-12-08T12:10:03Z\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_2017****\\",\\n \\"ImageName\\": \\"Ubuntu_16.04\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"ImageSize\\": \\"40\\",\\n \\"Platform\\": \\"centos\\",\\n \\"SnapshotId\\": \\"mock-clone_snapshot_id\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"Data\\",\\n \\"Size\\": \\"100\\",\\n \\"Format\\": \\"Image format.\\\\nraw\\\\nqcow2\\",\\n \\"imageId\\": \\"i-test\\"\\n }\\n ]\\n },\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"8331AA01-C16D-5481-BB47-D19CEBAA811E\\",\\n \\"TotalCount\\": 4\\n}","type":"json"}]', + 'title' => 'DescribeImages', + 'changeSet' => [ + ['createdAt' => '2025-01-10T03:41:27.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-16T01:35:25.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-01-22T05:49:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-02T05:54:57.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeImages'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => true, - 'maxItems' => 30, - 'minItems' => 1, ], ], ], + 'translator' => 'manual', + ], + 'DescribeInstanceAutoRenewAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => ['description' => 'The ID of an instance. Separate multiple IDs with semicolons (;).', 'type' => 'string', 'required' => true, 'example' => 'i-5ci7l7k1m9m2zmhp4iw3o****', '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InstanceRenewAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceRenewAttribute' => [ + 'description' => 'The renewal status of the instance.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AutoRenewal' => ['description' => 'The renewal type of the instance.'."\n" + ."\n" + .'- **true**: enables auto-renewal.'."\n" + ."\n" + .'- **false**: disables auto-renewal.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Duration' => ['description' => 'The unit of the auto-renewal period.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-5ci7l7k1m9m2zmhp4iw3o****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4DD66F05-3116-4BAA-B588-52EB2E7F431D', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'InvalidNetworkAcl.NotFound', - 'errorMessage' => 'The special Network Acl is not found.', - ], - [ - 'errorCode' => 'RegionAccessDenied', - 'errorMessage' => 'Could not operate this region\'s resource', - ], - [ - 'errorCode' => 'InvalidResource.NotBond', - 'errorMessage' => 'The special Network Acl and the Resource are not bound.', - ], - [ - 'errorCode' => 'IncorrectResourceBondStatus', - 'errorMessage' => 'The resource\'s bond status is invalid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'UnassociateNetworkAcl', - ], - 'CreateNetworkAclEntry' => [ - 'summary' => 'Creates a network access control list (ACL) rule.', - 'methods' => [ - 'get', - 'post', + 'title' => 'DescribeInstanceAutoRenewAttribute', + 'summary' => 'to query whether auto-renewal is enabled for an instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:39.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceAutoRenewAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceAutoRenewAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"InstanceRenewAttributes\\": {\\n \\"InstanceRenewAttribute\\": [\\n {\\n \\"AutoRenewal\\": false,\\n \\"Duration\\": \\"0\\",\\n \\"InstanceId\\": \\"i-5ci7l7k1m9m2zmhp4iw3o****\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"4DD66F05-3116-4BAA-B588-52EB2E7F431D\\"\\n}","type":"json"}]', + ], + 'DescribeInstanceBandwidthDetail' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREens41BYFG', - ], - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'NetworkAclId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nacl-bp1lhl0taikrbgnh****', - ], + 'schema' => ['description' => 'The start time. Specify the time in the yyyy-MM-dd HH:mm:ss format.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-01-11 00:00:00'], ], [ - 'name' => 'NetworkAclEntryName', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the 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-1', - 'maxLength' => 128, - ], + 'schema' => ['description' => 'The end time. The maximum time range that can be queried is 24 hours (86,400 seconds). The query uses a left-closed, right-open interval. Specify the time in the yyyy-MM-dd HH:mm:ss format.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-01-11 30:00:00'], ], [ - 'name' => 'Description', + 'name' => 'ServiceType', '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.', - 'maxLength' => 256, - ], + 'schema' => ['description' => 'The service type. For example: vm, eip, esk, or meta.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'vm'], ], [ - 'name' => 'Direction', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The direction in which the rule is applied. Valid values:'."\n" - ."\n" - .'* **ingress**'."\n" - .'* **egress**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ingress', - 'enum' => [ - 'egress', - 'ingress', - ], - ], + 'schema' => ['description' => 'The instance type. Leave this parameter empty to query all types. Examples include vm, eip, single\\_tenant, and nc.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'vm'], ], [ - 'name' => 'Policy', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The action that is performed on network traffic that matches the rule. Valid values:'."\n" - ."\n" - .'* **accept**: allows network traffic.'."\n" - .'* **drop**: blocks network traffic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'accept', - 'enum' => [ - 'accept', - 'drop', - ], - ], + 'schema' => ['description' => 'The ID of the ENS edge node.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'cn-beijing-cmcc'], ], [ - 'name' => 'CidrBlock', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The source CIDR block.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10.0.0.0/24', - ], + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'i-6ecpqvkicnchxccozrpxxxx'], ], [ - 'name' => 'Protocol', + 'name' => 'PageNumber', 'in' => 'query', + 'schema' => ['description' => 'The page number. The default value is 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. The default value is 200.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '200', 'title' => '', 'example' => '10'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of the protocol. Valid values:'."\n" - ."\n" - .'* **icmp**: ICMP'."\n" - .'* **tcp**: TCP'."\n" - .'* **udp**: UDP'."\n" - .'* **all**: all protocols'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'all', - 'enum' => [ - 'icmp', - 'tcp', - 'udp', - 'all', - 'gre', + 'title' => 'Schema of Response', + 'description' => 'The response schema.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'Bandwidths' => [ + 'description' => 'A collection of public bandwidth information.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of public bandwidth information.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'title' => '', 'example' => 'i-6ecpqvkicnchxccozrpxxxx'], + 'ServiceType' => ['description' => 'The service type. For example: vm, eip, esk, or meta.', 'type' => 'string', 'title' => '', 'example' => 'vm'], + 'InstanceType' => ['description' => 'The instance type. For example: vm, eip, single\\_tenant, or nc.', 'type' => 'string', 'title' => '', 'example' => 'vm'], + 'AliUid' => ['description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1972653484384661'], + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'title' => '', 'example' => 'cn-yichang-2'], + 'TxBw' => ['description' => 'The outbound bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '25415638'], + 'RxBw' => ['description' => 'The inbound bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '43795230'], + 'Ip' => ['description' => 'The IP address of the instance.', 'type' => 'string', 'title' => '', 'example' => '203.107.***'], + 'Isp' => ['description' => 'The Internet Service Provider (ISP) of the IP address.', 'type' => 'string', 'title' => '', 'example' => 'cmcc'], + 'FlowType' => ['description' => 'The bandwidth type. Valid values: 1 (public network) and 2 (internal network).', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'BizTime' => ['description' => 'The timestamp of the data point. Data is collected in 5-minute intervals.', 'type' => 'string', 'title' => '', 'example' => '2024-01-11 00:00:00'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ParamNotEnough', 'errorMessage' => '参数不足', 'description' => ''], + ['errorCode' => 'ParamScopeError', 'errorMessage' => '参数值错误', 'description' => ''], + ['errorCode' => 'ParamTypeError', 'errorMessage' => '参数类型错误', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeInstanceBandwidthDetail', + 'summary' => 'Queries the bandwidth details for instances at a 5 minute granularity.', + 'description' => '- Request parameters function as filters and are combined using a logical AND. If a parameter is empty, it is not used for filtering. However, if you specify an empty JSON array for the InstanceIds parameter, the filter is applied and an empty result is returned.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceBandwidthDetail'], + ], + ], + 'ramActions' => [ [ - 'name' => 'PortRange', - 'in' => 'query', - 'schema' => [ - 'description' => 'The port range.'."\n" - ."\n" - .'* If you set **Protocol** to **all** or **icmp**, set this parameter to -1/-1, which specifies all ports.'."\n" - .'* If you set **Protocol** to **tcp** or **udp**, the port can be **1 to 65535**. You can set this parameter to **1/200** or **80/80**, which specifies ports 1 to 200 or port 80.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '-1/-1', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceBandwidthDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Bandwidths\\": [\\n {\\n \\"InstanceId\\": \\"i-6ecpqvkicnchxccozrpxxxx\\",\\n \\"ServiceType\\": \\"vm\\",\\n \\"InstanceType\\": \\"vm\\",\\n \\"AliUid\\": 1972653484384661,\\n \\"EnsRegionId\\": \\"cn-yichang-2\\",\\n \\"TxBw\\": 25415638,\\n \\"RxBw\\": 43795230,\\n \\"Ip\\": \\"203.107.***\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"FlowType\\": 1,\\n \\"BizTime\\": \\"2024-01-11 00:00:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1\\n}","type":"json"}]', + ], + 'DescribeInstanceBootConfiguration' => [ + 'summary' => 'Queries the boot configuration of a heterogeneous PC Farm bare metal instance.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPPKHPZ'], + ], + 'parameters' => [ [ - 'name' => 'Priority', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The priority of the rule. Valid values: **1 to 100**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'i-****', 'title' => ''], ], [ - 'name' => 'DestinationCidrBlock', + 'name' => 'BootType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'maxLength' => 100, - 'minLength' => 1, - ], + 'schema' => ['description' => 'The startup type.', 'type' => 'string', 'required' => false, 'example' => 'pxe', 'title' => ''], + ], + [ + 'name' => 'BootSet', + 'in' => 'query', + 'schema' => ['description' => 'The startup method.', 'type' => 'string', 'required' => false, 'example' => 'legacy', 'title' => ''], + ], + [ + 'name' => 'DiskSet', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the startup depends on the disk.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'NetworkAclEntryId' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'example' => 'nae-5****', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], + 'Instances' => [ + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'BootType' => ['description' => 'The startup type.', 'type' => 'string', 'example' => 'disk', 'title' => ''], + 'DiskSet' => ['description' => 'Specifies whether the startup depends on the disk.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'BootSet' => ['description' => 'The startup method.', 'type' => 'string', 'example' => 'legacy', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParam.DuplicateRule', - 'errorMessage' => 'This rule already exists', - ], - [ - 'errorCode' => 'RuleLimitExceed', - 'errorMessage' => 'The maximum number of network acl rule is reached.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Instance not found, please check the InstanceId.', 'description' => 'Instance not found, please check the instance ID'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'InvalidInstanceType.NotSupported', 'errorMessage' => 'The specified InstanceType is not Supported.', 'description' => 'The specified instance type does not support the current operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"NetworkAclEntryId\\": \\"nae-5****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n nae-5****\\n","errorExample":""}]', - 'title' => 'CreateNetworkAclEntry', - ], - 'DeleteNetworkAclEntry' => [ - 'summary' => 'Deletes a network access control list (ACL) rule.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeInstanceBootConfiguration', + 'description' => 'Queries the boot configuration of a heterogeneous PC Farm bare metal instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceBootConfiguration'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceBootConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"Instances\\": {\\n \\"BootType\\": \\"disk\\",\\n \\"DiskSet\\": \\"off\\",\\n \\"BootSet\\": \\"legacy\\",\\n \\"InstanceId\\": \\"i-****\\"\\n }\\n}","type":"json"}]', + ], + 'DescribeInstanceMonitorData' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'NetworkAclEntryId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL for which you want to delete a rule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nae-5****', - ], + 'schema' => ['description' => 'The ID of the instance. You can specify only one instance ID.', 'type' => 'string', 'required' => false, 'example' => 'yourInstance ID', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => false, 'example' => '2019-10-29T23:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => false, 'example' => '2019-10-30T08:00:00Z', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The precision of the monitoring data that you want to obtain. Valid values: 60, 300, 1200, 3600, and 14400. Default value: 60. Unit: seconds.', 'type' => 'string', 'required' => false, 'example' => '60', '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'MonitorData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceMonitorData' => [ + 'description' => 'The set of InstanceMonitorDataType data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CPU' => ['description' => 'The vCPU usage of the instance, which is raw data. For example, a value of 0.02 indicates that the usage is 2%.', 'type' => 'string', 'example' => '0.02', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'yourInstance ID', 'title' => ''], + 'Memory' => ['description' => 'This parameter is not yet supported.', 'type' => 'string', 'example' => 'Not applicable.', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C8B26B44-0189-443E-9816-D951F59623A9', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'InvalidNetworkAclEntryId.NotFound', - 'errorMessage' => 'The special Network Acl Entry is not found. ', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'DeleteNetworkAclEntry', - ], - 'CreateFileSystem' => [ - 'summary' => 'Creates a NAS file system.', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"MonitorData\\": {\\n \\"InstanceMonitorData\\": [\\n {\\n \\"CPU\\": \\"0.02\\",\\n \\"InstanceId\\": \\"yourInstance ID\\",\\n \\"Memory\\": \\"Not applicable.\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\"\\n}","type":"json"}]', + 'title' => 'DescribeInstanceMonitorData', + 'summary' => 'Queries the vCPU and memory usage of an instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-01-25T01:25:17.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceMonitorData'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceMonitorData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeInstanceSDGStatus' => [ + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensBO90KZ', - ], + 'abilityTreeCode' => '253487', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'OrderDetails', + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'required' => true, 'example' => 'aic-xxxxx', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The deployment status of the SDG.', 'type' => 'string', 'required' => false, 'example' => 'success', 'title' => ''], + ], + [ + 'name' => 'SDGIds', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The information about the orders.'."\n", + 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'OrderType' => [ - 'description' => 'The type of the order. Set the value to BUY.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'BUY', - ], - 'ChargeType' => [ - 'description' => 'The billing method of the NAS file system. Valid values:'."\n" - ."\n" - .'* PrePaid: subscription. This billing method is not supported.'."\n" - .'* PostPaid: pay-as-you-go.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'PostPaid', - ], - 'FileSystemName' => [ - 'description' => 'The name of the file system. The name must be 1 to 80 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nasFile', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-suzhou-telecom', - ], - 'StorgeType' => [ - 'description' => 'The storage type. Valid values:'."\n" - ."\n" - .'* Capacity.'."\n" - .'* Performance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'capacity', - 'enum' => [ - 'capacity', - 'performance', - ], - ], - 'ProtocolType' => [ - 'description' => 'The storage protocol. Set the value to nfs.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'nfs' => 'nfs', - ], - 'example' => 'nfs', - 'enum' => [ - 'nfs', - 'smb', - ], - ], - 'NetworkId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vpc-xxx', - ], - 'MountTargetDomain' => [ - 'description' => 'The name of the mount target. The name must be 1 to 80 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nasMount', - ], - ], - 'required' => true, - 'description' => '', - ], - 'required' => true, + 'items' => ['description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.', 'type' => 'string', 'required' => false, 'example' => '["sdg-1", "sdg-2", "sdg-3"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], @@ -32095,1865 +19881,2279 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', - ], - 'AllocationId' => [ - 'description' => 'The information about the file system that was created.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '* InstanceId: the ID of the instance.'."\n" - .'* EnsRegionId: the ID of the node.'."\n", - 'type' => 'string', - 'example' => '{"InstanceId":"e426409223","EnsRegionId":"cn-chengdu-telecom-4"}', - ], - ], - 'BizStatusCode' => [ - 'description' => 'The status code for successful operations. Valid values:'."\n" - ."\n" - .'* PartSuccess: The operation is partially successful.'."\n" - .'* AllSuccess: The operation is successful.'."\n", - 'type' => 'string', - 'example' => 'PartSuccess', - ], - 'UnAllocationId' => [ - 'description' => 'The information about the file system that failed to be created.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '* InstanceId: the ID of the system.'."\n" - .'* EnsRegionId: the ID of the node.'."\n", - 'type' => 'string', - 'example' => '{"InstanceId":"e4264066666","EnsRegionId":"cn-hangzhou-26"}', - ], - ], - 'AllocationIds' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'DeploymentStatus' => [ + 'description' => 'The deployment information of the SDGs.', 'type' => 'array', 'items' => [ + 'description' => 'The deployment information of the SDG.', 'type' => 'object', 'properties' => [ - 'EnsRegionId' => [ - 'type' => 'string', - ], - 'InstanceId' => [ - 'type' => 'string', - ], + 'InstanceId' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'example' => 'aic-xxxx', 'title' => ''], + 'SDGId' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'example' => 'sdg-xxxxxxx', 'title' => ''], + 'MountType' => ['description' => 'The deployment type of the SDG.', 'type' => 'string', 'example' => 'shared', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-guangzhou-26', 'title' => ''], + 'Status' => ['description' => 'The deployment status of the SDG.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Phase' => ['description' => 'Deployment Phase', 'type' => 'string', 'example' => 'attach', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the status was last updated.', 'type' => 'string', 'example' => '2023-02-17T02:44:31Z', 'title' => ''], + 'BlockRwSplitSize' => ['description' => 'The size of the writable layer for block devices, in GiB. A value of 0 indicates that the capability is not enabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'CacheSize' => ['description' => 'Cache size in GiB. A value of 0 indicates that the capability is not Enabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'DiskType' => ['description' => 'Disk type of the mounted shared disk.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + 'DiskAccessProtocol' => ['description' => 'The protocol type for accessing the mounted shared disk.', 'type' => 'string', 'example' => 'iscsi', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The number of the page to return. Pages start from page 1. Default value: 1', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries to return on each page. Default value: **10**.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of queried deployment records.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Parameter.Invalid.%s', - 'errorMessage' => 'The parameter %s is invalid.Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'Stock.NotEnough', - 'errorMessage' => 'The inventory of the specified zone is insufficient.Please contact the product.', - ], - [ - 'errorCode' => 'UserStatus.Abnormal', - 'errorMessage' => 'The user status is abnormal.Please contact the product.', - ], - [ - 'errorCode' => 'Service.NotOpen', - 'errorMessage' => 'You have not activated the service.Please activate the service first.', - ], - [ - 'errorCode' => 'Order.CreateFailed', - 'errorMessage' => 'Failed to create order. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"AllocationId\\": [\\n \\"{\\\\\\"InstanceId\\\\\\":\\\\\\"e426409223\\\\\\", \\\\\\"EnsRegionId\\\\\\":\\\\\\"cn-chengdu-telecom-4\\\\\\"}\\"\\n ],\\n \\"BizStatusCode\\": \\"PartSuccess\\",\\n \\"UnAllocationId\\": [\\n \\"{\\\\\\"InstanceId\\\\\\":\\\\\\"e4264066666\\\\\\",\\\\\\"EnsRegionId\\\\\\":\\\\\\"cn-hangzhou-26\\\\\\"}\\"\\n ],\\n \\"AllocationIds\\": [\\n {\\n \\"EnsRegionId\\": \\"\\",\\n \\"InstanceId\\": \\"\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n EA3758E0-8899-17D3-9526-5F62CF33A586\\n AllSuccess\\n \\n e426409223\\n cn-chengdu-telecom-4\\n \\n \\n fff426409223\\n cn-chengdu-telecom-5\\n \\n","errorExample":""}]', - 'title' => 'CreateFileSystem', - ], - 'DeleteFileSystem' => [ - 'summary' => 'Deletes a File Storage NAS file system.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query the SDG deployment status on an instance', + 'summary' => 'Query the SDG mount status under a specific AIC instance.', + 'changeSet' => [ + ['createdAt' => '2025-06-03T06:08:01.000Z', 'description' => 'Response parameters changed'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '150', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceSDGStatus'], ], ], - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-chengdu-telecom-4', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceSDGStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"DeploymentStatus\\": [\\n {\\n \\"InstanceId\\": \\"aic-xxxx\\",\\n \\"SDGId\\": \\"sdg-xxxxxxx\\",\\n \\"MountType\\": \\"shared\\",\\n \\"EnsRegionId\\": \\"cn-guangzhou-26\\",\\n \\"Status\\": \\"success\\",\\n \\"Phase\\": \\"attach\\",\\n \\"UpdateTime\\": \\"2023-02-17T02:44:31Z\\",\\n \\"BlockRwSplitSize\\": 20,\\n \\"CacheSize\\": 20,\\n \\"DiskType\\": \\"standard\\",\\n \\"DiskAccessProtocol\\": \\"iscsi\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"1\\"\\n}","type":"json"}]', + ], + 'DescribeInstanceSpec' => [ + 'summary' => 'Queries the instance specifications that you can purchase.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'FileSystemId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the file system that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e42640****', - ], + 'AK' => [], ], ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], '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' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + 'BandwidthLimit' => ['description' => 'The bandwidth limit for a single instance. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'DataDiskMaxSize' => ['description' => 'The maximum capacity of a data disk. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20015', 'title' => ''], + 'DataDiskMinSize' => ['description' => 'The minimum capacity of a data disk. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InstanceSpecs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceSpec' => [ + 'description' => 'The information about instance specifications.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Core' => ['description' => 'The number of CPU cores.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'DisplayName' => ['description' => 'The display name of the instance type.', 'type' => 'string', 'example' => '计算型1C2G', 'title' => ''], + 'InstanceType' => ['description' => 'The type of the instance.', 'type' => 'string', 'example' => 'ens.sn1.stiny', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: MB.', 'type' => 'string', 'example' => '2048', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1ECC937A-AE0E-4626-BE51-DED1D6D1C888', 'title' => ''], + 'SystemDiskMaxSize' => ['description' => 'The maximum capacity of the system disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Instance.NotFound', - 'errorMessage' => 'The instance was not found.Please confirm whether the instance exists.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'Nas.Mount.Tatget.Entity.Not.Null', - 'errorMessage' => 'There are still mount points under the file system.Please delete the mount point first', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', - 'title' => 'DeleteFileSystem', - ], - 'ModifyFileSystem' => [ - 'summary' => 'Modifies the description of a NAS file system.', - 'methods' => [ - 'post', - 'get', + 'title' => 'DescribeInstanceSpec', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:51.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceSpec'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthLimit\\": 0,\\n \\"Code\\": 0,\\n \\"DataDiskMaxSize\\": 20015,\\n \\"DataDiskMinSize\\": 0,\\n \\"InstanceSpecs\\": {\\n \\"InstanceSpec\\": [\\n {\\n \\"Core\\": \\"1\\",\\n \\"DisplayName\\": \\"计算型1C2G\\",\\n \\"InstanceType\\": \\"ens.sn1.stiny\\",\\n \\"Memory\\": \\"2048\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\",\\n \\"SystemDiskMaxSize\\": 80\\n}","type":"json"}]', + ], + 'DescribeInstanceTypes' => [ + 'summary' => 'Returns a list of available instance types.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensYZKPLX', - ], + 'abilityTreeNodes' => ['FEATUREensQTKG0K', 'FEATUREensYVF1XN', 'FEATUREens96Y0MG', 'FEATUREensQTXJQ4'], ], 'parameters' => [ [ - 'name' => 'FileSystemId', + 'name' => 'InstanceType', 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '文件系统ID。', - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c50f8*****', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The business code. A value of `0` indicates that the request was successful. Other values indicate an error.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceType' => [ + 'description' => 'A list of instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of an instance type.', + 'type' => 'object', + 'properties' => [ + 'CpuCoreCount' => ['description' => 'The number of vCPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'InstanceTypeId' => ['description' => 'This parameter is not in use.', 'type' => 'string', 'example' => 'This parameter is not in use.', 'title' => ''], + 'InstanceTypeName' => ['description' => 'The instance type name.', 'type' => 'string', 'example' => 'ens.xxx.small', 'title' => ''], + 'MemorySize' => ['description' => 'The memory size, in MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '8192', 'title' => ''], + 'InstanceBandwidthRx' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + 'InstanceBandwidthTx' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + 'InstanceType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D452D190-BADF-5D09-910D-599B96D42AAA', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n {\\n \\"CpuCoreCount\\": 2,\\n \\"InstanceTypeId\\": \\"This parameter is not in use.\\",\\n \\"InstanceTypeName\\": \\"ens.xxx.small\\",\\n \\"MemorySize\\": 8192,\\n \\"InstanceBandwidthRx\\": 0,\\n \\"InstanceBandwidthTx\\": 0,\\n \\"InstanceType\\": \\"\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"D452D190-BADF-5D09-910D-599B96D42AAA\\"\\n}","type":"json"}]', + 'title' => 'DescribeInstanceTypes', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:40.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceTypes'], + ], + ], + 'ramActions' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing-cmcc', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeInstanceVncUrl' => [ + 'summary' => 'Queries the Virtual Network Computing (VNC) URL of an Edge Node Service (ENS) instance.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Description', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '文件系统描述符。', - 'description' => 'The description of the file system.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'fileSystemTest', - ], + 'schema' => ['description' => 'The ID of the instance', 'type' => 'string', 'required' => true, 'example' => 'i-5bp1hzoinajzkh91h****', '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' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', - ], + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'VncUrl' => ['description' => 'The URL of the VNC management terminal.', 'type' => 'string', 'example' => 'wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidInstanceType.NotSupported', 'errorMessage' => 'The specified InstanceType is not Supported.', 'description' => 'The specified instance type does not support the current operation.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', - 'title' => 'ModifyFileSystem', - ], - 'DescribeFileSystems' => [ - 'summary' => 'Queries the information about Apsara File Storage NAS (NAS) file systems.', - 'methods' => [ - 'get', + 'title' => 'DescribeInstanceVncUrl', + 'changeSet' => [ + ['createdAt' => '2024-07-09T08:48:35.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-29T06:16:24.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-07-05T03:00:37.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceVncUrl'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceVncUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"VncUrl\\": \\"wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996\\"\\n}","type":"json"}]', + ], + 'DescribeInstances' => [ + 'summary' => 'Retrieves details of one or more instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensW91M6J', - ], + 'abilityTreeNodes' => ['FEATUREensZ9TTQL'], ], 'parameters' => [ [ 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'title' => '地域ID。', - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-cmcc', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing-cmcc', 'title' => ''], ], [ - 'name' => 'FileSystemId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '文件系统ID。', - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c50f8*****', - ], + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'i-5iqczfxps7csjrxeca****', 'title' => ''], ], [ - 'name' => 'FileSystemName', + 'name' => 'EnsRegionIds', + 'in' => 'query', + 'schema' => ['description' => 'A JSON array of node IDs. You can specify a maximum of 100 IDs.', 'type' => 'string', 'required' => false, 'example' => '["cn-suzhou-telecom","cn-chengdu-telecom"]', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => ['description' => 'A JSON array of instance IDs. You can specify a maximum of 100 IDs.', 'type' => 'string', 'required' => false, 'example' => '["i-5iqczfxps7csjrxeca07****", "i-5iqczfxps7csjrxeca07****"]', 'title' => ''], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the instance.', 'type' => 'string', 'required' => false, 'example' => 'TestName', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => false, 'example' => 'centos_6_08_64_20G_alibase_****', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from **1**.'."\n" + ."\n" + .'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 to return on each page. Maximum value: **100**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status of the instance. Valid values:'."\n" + ."\n" + .'- **Running**: The instance is running.'."\n" + ."\n" + .'- **Stopped**: The instance is stopped.'."\n" + ."\n" + .'- **Expired**: The instance has expired.', 'type' => 'string', 'required' => false, 'example' => 'Running', 'title' => ''], + ], + [ + 'name' => 'OrderByParams', + 'in' => 'query', + 'schema' => ['description' => 'The sorting criteria, in JSON format.'."\n" + ."\n" + .'You can sort the results by instance name, expiration time, node ID, or creation time. You can combine multiple sort keys.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "InstanceNameSort": "asc",'."\n" + .' "ExpireTimeSort": "asc",'."\n" + .' "CreationTimeSort": "desc",'."\n" + .' "EnsRegionId": "desc"'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'EnsServiceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the edge service. If this parameter is specified, the operation returns only the instances that are created for the edge service.', 'type' => 'string', 'required' => false, 'example' => 'ens-20190730202316s****', 'title' => ''], + ], + [ + 'name' => 'InstanceResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The resource type. Valid values:'."\n" + ."\n" + .'- **EnsInstance**: subscription instance.'."\n" + ."\n" + .'- **EnsService**: edge service instance.'."\n" + ."\n" + .'- **BuildMachine**: image building machine.'."\n" + ."\n" + .'- **EnsPostPaidInstance**: pay-as-you-go instance.', 'type' => 'string', 'required' => false, 'example' => 'EnsService', 'title' => ''], + ], + [ + 'name' => 'SearchKey', + 'in' => 'query', + 'schema' => ['description' => 'The keyword for the query. You can use this parameter to search for instances by **ip**, **InstanceName**, or **InstanceId**.', 'type' => 'string', 'required' => false, 'example' => 'Joshua', 'title' => ''], + ], + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => false, 'example' => 'n-2zeuphj08tt7q3brd****', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-2zeh0r1pabwtg6wcs****', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => false, 'example' => 'sg-5kyicq2kfcapxrdds6tar7jqb', 'title' => ''], + ], + [ + 'name' => 'IntranetIp', + 'in' => 'query', + 'schema' => ['description' => 'The private IP address.', 'type' => 'string', 'required' => false, 'example' => '47.100.XX.XX', 'title' => ''], + ], + [ + 'name' => 'Tags', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '文件系统名称。'."\n" - .'参与挂载点路径,创建后不允许修改。'."\n" - .'LB:/fileSystemName/mountTargetName', - 'description' => 'The name of the file system.'."\n", - 'type' => 'string', + 'description' => 'The tags of the resource. This parameter is not returned. You can call the operations of the Tag service.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the instance. This parameter is not returned. You can call the operations of the Tag service.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N of the instance. Valid values of N: 1 to 20.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'tag'], + 'Value' => ['description' => 'The value of tag N of the instance. Valid values of N: 1 to 20.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '2'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'FileSystem1', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => ['description' => 'The instance type.', 'type' => 'string', 'required' => false, 'example' => 'ens.se1.tiny', 'title' => ''], + ], + [ + 'name' => 'ServiceStatus', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '页码,起始值为1。'."\n" - .'默认值:1。', - 'description' => 'The page number. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The business status of the instance. This status does not represent the actual running state of the instance.', + 'type' => 'array', + 'items' => ['description' => 'The business status of the instance. This status does not represent the actual running state of the instance.'."\n" + ."\n" + .'- **Expired**'."\n" + ."\n" + .'- **Arrears**', 'type' => 'string', 'required' => false, 'example' => 'Expired', 'title' => ''], 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'EipAddresses', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '每页行数,最大值为100行。'."\n" - .'默认值:10。', - 'description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + 'maxItems' => 20, + 'minItems' => 1, 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', + 'description' => '', + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'VpdId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'VpdVSwitchId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'title' => '页码。', - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '单页行数。', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TotalCount' => [ - 'title' => '总数。', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'FileSystems' => [ - 'title' => '文件系统信息集合。', - 'description' => 'The information about the file systems.'."\n", - 'type' => 'array', - 'items' => [ - 'title' => '', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'FileSystemId' => [ - 'title' => '文件系统ID。', - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'example' => 'c50f8*****', - ], - 'FileSystemName' => [ - 'title' => '文件系统名称。', - 'description' => 'The name of the file system.'."\n", - 'type' => 'string', - 'example' => 'FileSystem1', - ], - 'EnsRegionId' => [ - 'title' => '地域ID。', - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-cmcc', - ], - 'StorageType' => [ - 'title' => '存储类型'."\n" - .'capacity:容量型', - 'description' => 'The storage type. Valid values:'."\n" - ."\n" - .'* capacity: Capacity NAS file systems'."\n" - .'* performance: Performance NAS file systems'."\n", - 'type' => 'string', - 'example' => 'capacity', - ], - 'ProtocolType' => [ - 'title' => '文件系统协议类型。'."\n" - .'包括:'."\n" - .'nfs:nfs文件协议'."\n" - .'smb:smb文件协议', - 'description' => 'The protocol type of the file system. Valid values:'."\n" - ."\n" - .'* NFS: Network File System (NFS)'."\n" - .'* SMB: Server Message Block (SMB)'."\n", - 'type' => 'string', - 'example' => 'NFS', - ], - 'Capacity' => [ - 'title' => '容量。'."\n" - .'单位:GIB。', - 'description' => 'The capacity of the file system. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100000', - ], - 'MeteredSize' => [ - 'title' => '文件系统的使用量。'."\n" - .'非实时使用量,为上一小时最大使用量,单位:Byte。', - 'description' => 'The storage usage of the file system. The value of this parameter is the maximum storage usage of the file system over the last hour. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '102400', - ], - 'Status' => [ - 'title' => '文件系统状态'."\n" - .'pending:当前文件系统正在处理任务中。'."\n" - .'running:当前文件系统可用,当状态为running时才可以进行后续操作(例如:创建挂载点等)。'."\n" - .'stopped:当前文件系统不可用。'."\n" - .'extending:当前文件系统扩容中。'."\n" - .'stopping:当前文件系统停机中。'."\n" - .'deleting:当前文件系统删除中。', - 'description' => 'The status of the file system. Valid values:'."\n" - ."\n" - .'* pending: The file system is being created or modified.'."\n" - .'* running: The file system is available. Before you create a mount target for the file system, make sure that the file system is in the running state.'."\n" - .'* stopped: The file system is unavailable.'."\n" - .'* extending: The file system is being scaled out.'."\n" - .'* stopping: The file system is being disabled.'."\n" - .'* deleting: The file system is being deleted.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'PayType' => [ - 'title' => '付费类型'."\n" - .'PostPaid:后付费', - 'description' => 'The billing method. PostPaid is returned. PostPaid indicates the pay-as-you-go billing method.'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'CreationTime' => [ - 'title' => '文件系统创建时间。', - 'description' => 'The time when the file system was created.'."\n", - 'type' => 'string', - 'example' => '2022-08-31 12:00:00', - ], - 'MountTargets' => [ - 'title' => '挂载点信息集合', - 'description' => 'The information about mount targets.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MountTargetDomain' => [ - 'title' => '挂载点路径。', - 'description' => 'The path of the mount target.'."\n", - 'type' => 'string', - 'example' => '*.*.*.*:/${FileSystemName}/{MountTargetName}', + 'Code' => ['description' => 'The response code. A value of 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned results.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instances that match the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Instances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => 'An array of `InstanceAttributesType` objects, where each object contains the details of an instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of an instance.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the instance was created. The time is in UTC and uses the ISO 8601 format: `yyyy-MM-ddTHH:mm:ssZ`.', 'type' => 'string', 'example' => '2019-07-26T06:40:43Z', 'title' => ''], + 'Status' => ['description' => 'The status of the instance. Valid values:'."\n" + ."\n" + .'- `Running`: The instance is running.'."\n" + ."\n" + .'- `Expired`: The instance has expired.'."\n" + ."\n" + .'- `Stopped`: The instance is stopped.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'SpecName' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ens.sn1.stiny', 'title' => ''], + 'InstanceTypeFamily' => ['description' => 'The instance type family. Valid values:'."\n" + ."\n" + .'- `x86_vm`: X86 compute'."\n" + ."\n" + .'- `x86_pm`: X86 bare metal'."\n" + ."\n" + .'- `x86_bmi`: X86 bare metal instance'."\n" + ."\n" + .'- `x86_bm`: Smart NIC bare metal'."\n" + ."\n" + .'- `pc_bmi`: Heterogeneous bare metal instance'."\n" + ."\n" + .'- `pc_vm`: Heterogeneous virtual machine'."\n" + ."\n" + .'- `arm_bmi`: ARM compute', 'type' => 'string', 'example' => 'x86_vm', 'title' => ''], + 'InstanceResourceType' => ['description' => 'The resource type of the instance. Valid values:'."\n" + ."\n" + .'- `EnsInstance`: A standalone instance.'."\n" + ."\n" + .'- `EnsService`: An edge service instance.'."\n" + ."\n" + .'- `BuildMachine`: An image build machine.'."\n" + ."\n" + .'- `EnsPostPaidInstance`: A standalone pay-as-you-go instance.', 'type' => 'string', 'example' => 'EnsService', 'title' => ''], + 'HostName' => ['description' => 'The hostname of the instance.'."\n" + ."\n" + .'- A period (.) or hyphen (-) cannot be the first or last character, and cannot be used consecutively.'."\n" + ."\n" + .'- For Windows instances, the hostname must be 2 to 15 characters long, consisting of letters, digits, and hyphens (-). It cannot contain periods (.) or be composed solely of digits.'."\n" + ."\n" + .'- For other instance types (such as Linux), the hostname must be 2 to 64 characters long. You can use periods (.) to separate the name into segments. Each segment can consist of letters, digits, and hyphens (-).', 'type' => 'string', 'example' => 'testHostName', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-instanc****', 'title' => ''], + 'InternetMaxBandwidthIn' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'title' => ''], + 'InternetMaxBandwidthOut' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the instance\'s region.', 'type' => 'string', 'example' => 'cn-hangzhou-telecom', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPU cores.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'ExpiredTime' => ['description' => 'The expiration time. The time is in UTC and uses the ISO 8601 format: `yyyy-MM-ddTHH:mm:ssZ`.', 'type' => 'string', 'example' => '2119-07-13T02:38:57Z', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the instance.', 'type' => 'string', 'example' => 'i-5itef0f28t17bcdw9deu6meub', 'title' => ''], + 'Disk' => ['description' => 'The total size of the disks. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '71680', 'title' => ''], + 'OSName' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'centos 6.8 x86_64', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'm-****', 'title' => ''], + 'DataDisk' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataDisk' => [ + 'description' => 'The information about the data disks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of a data disk.', + 'type' => 'object', + 'properties' => [ + 'device_type' => ['description' => 'The disk category. Valid values:'."\n" + ."\n" + .'- **file**: local disk.'."\n" + ."\n" + .'- **pangu**: Efficiency Cloud Disk.'."\n" + ."\n" + .'- **local\\_hdd**: local HDD.', 'type' => 'string', 'example' => 'pangu', 'title' => ''], + 'disk_type' => ['description' => 'The type of the cloud disk or local disk. Valid values:'."\n" + ."\n" + .'**system**: system disk.'."\n" + .'**data**: data disk.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Size' => ['description' => 'The size of the disk. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '51200', 'title' => ''], + 'DiskName' => ['description' => 'The name of the disk.', 'type' => 'string', 'example' => 'DiskName', 'title' => ''], + 'uuid' => ['description' => 'The UUID.', 'type' => 'string', 'example' => '5431f898-1323-4e64-8ce1-6cad50ed****', 'title' => ''], + 'storage' => ['description' => 'The size of the disk. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20480', 'title' => ''], + 'DiskId' => ['description' => 'The ID of the disk.', 'type' => 'string', 'example' => 'd-5ip4c2dhmas0vjd5u1r****', 'title' => ''], + 'Category' => ['description' => 'The category of the cloud disk or local disk. Valid values:'."\n" + ."\n" + .'- **file**: local disk.'."\n" + ."\n" + .'- **pangu**: Efficiency Cloud Disk.'."\n" + ."\n" + .'- **local\\_hdd**: local HDD.', 'type' => 'string', 'example' => 'file', 'title' => ''], + 'name' => ['description' => 'The name of the disk.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'DiskSize' => ['description' => 'The size of the disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'EncryptKeyId' => ['description' => 'The ID of the KMS key used for the cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fxxxxx', 'title' => ''], + 'Encrypted' => ['description' => 'Indicates whether the cloud disk is encrypted.', 'type' => 'boolean', 'default' => 'false', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PublicIpAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PublicIpAddress' => [ + 'description' => 'The information about the public IP addresses.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the public IP addresses.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address.', 'type' => 'string', 'example' => '119.147.xx.xx', 'title' => ''], + 'GateWay' => ['description' => 'The gateway.', 'type' => 'string', 'example' => '119.147.xx.xx', 'title' => ''], + 'Isp' => ['description' => 'The ISP.', 'type' => 'string', 'example' => 'unicom', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PrivateIpAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpAddress' => [ + 'description' => 'The information about the private IP addresses of the instance.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address.', 'type' => 'string', 'example' => '119.147.xx.xx', 'title' => ''], + 'GateWay' => ['description' => 'The gateway.', 'type' => 'string', 'example' => '119.147.xx.xx', 'title' => ''], + 'Isp' => ['description' => 'The ISP.', 'type' => 'string', 'example' => 'cmcc', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => 'The security group ID.', + 'type' => 'array', + 'items' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-5kyicq2kfcapxrdds6ta****', 'title' => ''], + 'title' => '', + 'example' => '', + ], ], - 'MountTargetName' => [ - 'title' => '挂载点名称。', - 'description' => 'The name of the mount target.'."\n", - 'type' => 'string', - 'example' => 'target1', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InnerIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => 'The private IP address of the instance.', + 'type' => 'array', + 'items' => ['description' => 'A private IP address of the instance.', 'type' => 'string', 'example' => '10.170.xx.xx', 'title' => ''], + 'title' => '', + 'example' => '', + ], ], - 'NetWorkId' => [ - 'title' => '网络ID。', - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-****', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PublicIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => 'The public IP address.', + 'type' => 'array', + 'items' => ['description' => 'A public IP address.', 'type' => 'string', 'example' => '119.147.xx.xx', 'title' => ''], + 'title' => '', + 'example' => '', + ], ], - 'Status' => [ - 'title' => '挂载点状态。'."\n" - .'包括:'."\n" - .'active:可用'."\n" - .'inactive:不可用'."\n" - .'pending:任务处理中'."\n" - .'deleting:删除中', - 'description' => 'The status of the mount target. Valid values:'."\n" + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SystemDisk' => [ + 'description' => 'The details of the system disk.', + 'type' => 'object', + 'properties' => [ + 'device_type' => ['description' => 'The disk category. Valid values:'."\n" + ."\n" + .'- **file**: local disk.'."\n" + ."\n" + .'- **pangu**: Efficiency Cloud Disk.'."\n" + ."\n" + .'- **local\\_hdd**: local HDD.', 'type' => 'string', 'example' => 'pangu', 'title' => ''], + 'disk_type' => ['description' => 'The type of the cloud disk or local disk. Valid values:'."\n" + ."\n" + .'- **system**: system disk.'."\n" + ."\n" + .'- **data**: data disk.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Size' => ['description' => 'The size of the disk. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '51200', 'title' => ''], + 'DiskName' => ['description' => 'The name of the disk.', 'type' => 'string', 'example' => 'DiskName', 'title' => ''], + 'uuid' => ['description' => 'The UUID.', 'type' => 'string', 'example' => '5431f898-1323-4e64-8ce1-6cad50ed****', 'title' => ''], + 'storage' => ['description' => 'The disk capacity. Unit: MiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20480', 'title' => ''], + 'DiskId' => ['description' => 'The ID of the disk.', 'type' => 'string', 'example' => 'd-5ip4c2dhmas0rn7rt0p9****', 'title' => ''], + 'Category' => ['description' => 'The category of the cloud disk or local disk. Valid values:'."\n" + ."\n" + .'- **file**: local disk.'."\n" + ."\n" + .'- **pangu**: Efficiency Cloud Disk.'."\n" ."\n" - .'* active: The mount target is available.'."\n" - .'* inactive: The mount target is unavailable.'."\n" - .'* pending: The task is running.'."\n" - .'* deleting: The mount target is being deleted.'."\n", - 'type' => 'string', - 'example' => 'active', + .'- **local\\_hdd**: local HDD.', 'type' => 'string', 'example' => 'file', 'title' => ''], + 'name' => ['description' => 'The name of the disk.', 'type' => 'string', 'example' => 'DiskName', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'NetworkAttributes' => [ + 'description' => 'The network information.', + 'type' => 'object', + 'properties' => [ + 'NetworkId' => ['description' => 'The network ID.', 'type' => 'string', 'example' => 'n-2zeuphj08tt7q3brd****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the VSwitch.', 'type' => 'string', 'example' => 'vsw-2zeh0r1pabwtg6wcs****', 'title' => ''], + 'PrivateIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => 'The information about the private IP addresses of the instance.', + 'type' => 'array', + 'items' => ['description' => 'The private IP address of the instance. You can specify only one private IP address. The IP address must be an available address within the CIDR block of the specified VSwitch (`VSwitchId`).', 'type' => 'string', 'example' => '172.17.**.**', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tags' => [ + 'description' => 'The tags of the instance.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'This operation does not return tag information. To retrieve tags, you must call a dedicated tagging API.'."\n" + ."\n" + .'>', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'This operation does not return tag information. To retrieve tags, you must call a dedicated tagging API.'."\n" + ."\n" + .'>', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The value of the tag.', 'type' => 'string', 'example' => 'value1', 'title' => ''], + 'TagKey' => ['description' => 'The key of the tag.', 'type' => 'string', 'example' => 'key1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'AutoReleaseTime' => ['description' => 'The time when the instance is automatically released.', 'type' => 'string', 'title' => '', 'example' => '2023-06-28T14:38:52Z'], + 'SpotStrategy' => ['description' => 'The bidding policy for the spot instance.', 'type' => 'string', 'title' => '', 'example' => 'NoSpot'], + 'KeyPairName' => ['description' => 'The name of the key pair.', 'type' => 'string', 'example' => 'TestKeyPairName', 'title' => ''], + 'NetworkInterfaces' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterfaces' => [ + 'description' => 'A list of elastic network interfaces.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of an elastic network interface.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the elastic network interface. Valid values:'."\n" + ."\n" + .'- `Primary`: The primary network interface.'."\n" + ."\n" + .'- `Secondary`: The secondary network interface.', 'type' => 'string', 'example' => 'Primary', 'title' => ''], + 'MacAddress' => ['description' => 'The MAC address of the elastic network interface.', 'type' => 'string', 'example' => '00:16:XXX:XXX:60:0a', 'title' => ''], + 'PrimaryIpAddress' => ['description' => 'The primary private IP address.', 'type' => 'string', 'example' => '10.XXX.XXX.25', 'title' => ''], + 'NetworkInterfaceId' => ['description' => 'The ID of the elastic network interface.', 'type' => 'string', 'example' => 'eni-53afk8a0t5lklbi8m7j8iczdg', 'title' => ''], + 'PrivateIpSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpSet' => [ + 'description' => 'A collection of `PrivateIpSet` objects.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of `PrivateIpSet` objects.', + 'type' => 'object', + 'properties' => [ + 'PrivateIpAddress' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '192.XXX.XXX.130', 'title' => ''], + 'Primary' => ['description' => 'Indicates whether the IP address is the primary private IP address. Valid values:'."\n" + ."\n" + .'- `true`: The IP address is the primary private IP address.'."\n" + ."\n" + .'- `false`: The IP address is a secondary private IP address.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Ipv6Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Set' => [ + 'description' => 'A collection of IPv6 addresses assigned to the elastic network interface.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of IPv6 addresses assigned to the elastic network interface.', + 'type' => 'object', + 'properties' => [ + 'Ipv6Address' => ['description' => 'The IPv6 address assigned to the elastic network interface.', 'type' => 'string', 'example' => '2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'VpdVSwitchId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'VpdId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'ServiceStatus' => ['description' => 'The service status of the instance, instead of the running status.', 'type' => 'string', 'example' => 'Expired', 'title' => ''], + 'DeletionProtection' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - 'Description' => [ - 'type' => 'string', - ], + 'title' => '', + 'example' => '', ], ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '762DD527-358B-1E48-8005-CCE3ED4EB9E0', + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 2,\\n \\"TotalCount\\": 1,\\n \\"FileSystems\\": [\\n {\\n \\"FileSystemId\\": \\"c50f8*****\\",\\n \\"FileSystemName\\": \\"FileSystem1\\",\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"StorageType\\": \\"capacity\\",\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"Capacity\\": 100000,\\n \\"MeteredSize\\": 102400,\\n \\"Status\\": \\"running\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"CreationTime\\": \\"2022-08-31 12:00:00\\",\\n \\"MountTargets\\": [\\n {\\n \\"MountTargetDomain\\": \\"*.*.*.*:/${FileSystemName}/{MountTargetName}\\",\\n \\"MountTargetName\\": \\"target1\\",\\n \\"NetWorkId\\": \\"n-****\\",\\n \\"Status\\": \\"active\\"\\n }\\n ],\\n \\"Description\\": \\"test\\"\\n }\\n ],\\n \\"RequestId\\": \\"762DD527-358B-1E48-8005-CCE3ED4EB9E0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 2\\n 1\\n \\n c50f8*****\\n FileSystem1\\n cn-beijing-cmcc\\n capacity\\n NFS\\n 100000\\n 102400\\n running\\n PostPaid\\n 2022-08-31 12:00:00\\n \\n *.*.*.*:/${FileSystemName}/{MountTargetName}\\n target1\\n n-****\\n active\\n \\n \\n 762DD527-358B-1E48-8005-CCE3ED4EB9E0\\n","errorExample":""}]', - 'title' => 'DescribeFileSystems', - ], - 'CreateMountTarget' => [ - 'summary' => 'Creates a mount target.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DescribeInstances', + 'description' => '- API call rate: 800 requests/second.'."\n" + ."\n" + .'- Single-user API call rate: 100 requests/second.'."\n" + ."\n" + .'- Request parameters act as filters and are combined with a logical AND. Unspecified parameters are ignored. However, an empty JSON array for `InstanceIds` is a valid filter that returns an empty result set.', + 'changeSet' => [ + ['createdAt' => '2024-11-29T06:45:42.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-10-17T08:17:23.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-27T11:01:18.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-22T11:08:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-05-23T12:57:42.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-04-09T11:20:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-01-25T06:34:45.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-01-04T06:15:59.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-08T01:57:49.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-09-22T08:54:48.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-03-15T01:58:46.000Z', 'description' => 'Request parameters changed'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstances'], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ - [ - 'name' => 'FileSystemId', - 'in' => 'query', - 'schema' => [ - 'title' => '文件系统ID。', - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c50f8*****', - ], - ], - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'title' => '地域ID。', - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing-cmcc', - ], - ], + 'ramActions' => [ [ - 'name' => 'NetWorkId', - 'in' => 'query', - 'schema' => [ - 'title' => '网络ID。', - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-*****', - ], - ], - [ - 'name' => 'MountTargetName', - 'in' => 'query', - 'schema' => [ - 'title' => '挂载点名称。', - 'description' => 'The name of the mount target.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TestMountPath', - ], - ], - ], - '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' => '70EACC9C-D07A-4A34-ADA4-A3DC0DE3C83E', - ], - 'Status' => [ - 'description' => 'The state of the mount target. Valid values:'."\n" - ."\n" - .'* active'."\n" - .'* inactive'."\n" - .'* pending'."\n" - .'* deleting'."\n", - 'type' => 'string', - 'example' => 'pending', - ], + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter.FileSystem.NotExisted', - 'errorMessage' => 'The specified file system does not exist. ', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"70EACC9C-D07A-4A34-ADA4-A3DC0DE3C83E\\",\\n \\"Status\\": \\"pending\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 70EACC9C-D07A-4A34-ADA4-A3DC0DE3C83E\\n pending\\n","errorExample":""}]', - 'title' => 'CreateMountTarget', - 'description' => '## [](#)Precautions'."\n" - ."\n" - .'After you call this operation, a mount target is not immediately created. Therefore, we recommend that you call the DescribeMountTargets operation to query the status of the mount target. If the mount target is in the Active state, you can then mount the file system. Otherwise, the file system may fail to be mounted.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"PageSize\\": 60,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 2,\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"CreationTime\\": \\"2019-07-26T06:40:43Z\\",\\n \\"Status\\": \\"Running\\",\\n \\"SpecName\\": \\"ens.sn1.stiny\\",\\n \\"InstanceTypeFamily\\": \\"x86_vm\\",\\n \\"InstanceResourceType\\": \\"EnsService\\",\\n \\"HostName\\": \\"testHostName\\",\\n \\"InstanceId\\": \\"i-instanc****\\",\\n \\"InternetMaxBandwidthIn\\": 40,\\n \\"InternetMaxBandwidthOut\\": 100,\\n \\"EnsRegionId\\": \\"cn-hangzhou-telecom\\",\\n \\"Cpu\\": \\"2\\",\\n \\"ExpiredTime\\": \\"2119-07-13T02:38:57Z\\",\\n \\"InstanceName\\": \\"i-5itef0f28t17bcdw9deu6meub\\",\\n \\"Disk\\": 71680,\\n \\"OSName\\": \\"centos 6.8 x86_64\\",\\n \\"Memory\\": 2048,\\n \\"ImageId\\": \\"m-****\\",\\n \\"DataDisk\\": {\\n \\"DataDisk\\": [\\n {\\n \\"device_type\\": \\"pangu\\",\\n \\"disk_type\\": \\"system\\",\\n \\"Size\\": 51200,\\n \\"DiskName\\": \\"DiskName\\",\\n \\"uuid\\": \\"5431f898-1323-4e64-8ce1-6cad50ed****\\",\\n \\"storage\\": 20480,\\n \\"DiskId\\": \\"d-5ip4c2dhmas0vjd5u1r****\\",\\n \\"Category\\": \\"file\\",\\n \\"name\\": \\"name\\",\\n \\"DiskSize\\": 100,\\n \\"EncryptKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fxxxxx\\",\\n \\"Encrypted\\": true\\n }\\n ]\\n },\\n \\"PublicIpAddresses\\": {\\n \\"PublicIpAddress\\": [\\n {\\n \\"Ip\\": \\"119.147.xx.xx\\",\\n \\"GateWay\\": \\"119.147.xx.xx\\",\\n \\"Isp\\": \\"unicom\\"\\n }\\n ]\\n },\\n \\"PrivateIpAddresses\\": {\\n \\"PrivateIpAddress\\": [\\n {\\n \\"Ip\\": \\"119.147.xx.xx\\",\\n \\"GateWay\\": \\"119.147.xx.xx\\",\\n \\"Isp\\": \\"cmcc\\"\\n }\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-5kyicq2kfcapxrdds6ta****\\"\\n ]\\n },\\n \\"InnerIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"10.170.xx.xx\\"\\n ]\\n },\\n \\"PublicIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"119.147.xx.xx\\"\\n ]\\n },\\n \\"SystemDisk\\": {\\n \\"device_type\\": \\"pangu\\",\\n \\"disk_type\\": \\"system\\",\\n \\"Size\\": 51200,\\n \\"DiskName\\": \\"DiskName\\",\\n \\"uuid\\": \\"5431f898-1323-4e64-8ce1-6cad50ed****\\",\\n \\"storage\\": 20480,\\n \\"DiskId\\": \\"d-5ip4c2dhmas0rn7rt0p9****\\",\\n \\"Category\\": \\"file\\",\\n \\"name\\": \\"DiskName\\"\\n },\\n \\"NetworkAttributes\\": {\\n \\"NetworkId\\": \\"n-2zeuphj08tt7q3brd****\\",\\n \\"VSwitchId\\": \\"vsw-2zeh0r1pabwtg6wcs****\\",\\n \\"PrivateIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"172.17.**.**\\"\\n ]\\n }\\n },\\n \\"Tags\\": {\\n \\"Tags\\": [\\n {\\n \\"TagValue\\": \\"value1\\",\\n \\"TagKey\\": \\"key1\\"\\n }\\n ]\\n },\\n \\"AutoReleaseTime\\": \\"2023-06-28T14:38:52Z\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterfaces\\": [\\n {\\n \\"Type\\": \\"Primary\\",\\n \\"MacAddress\\": \\"00:16:XXX:XXX:60:0a\\",\\n \\"PrimaryIpAddress\\": \\"10.XXX.XXX.25\\",\\n \\"NetworkInterfaceId\\": \\"eni-53afk8a0t5lklbi8m7j8iczdg\\",\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"192.XXX.XXX.130\\",\\n \\"Primary\\": true\\n }\\n ]\\n },\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6\\"\\n }\\n ]\\n },\\n \\"VpdVSwitchId\\": \\"\\",\\n \\"VpdId\\": \\"\\"\\n }\\n ]\\n },\\n \\"ServiceStatus\\": \\"Expired\\",\\n \\"DeletionProtection\\": false\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'DeleteMountTarget' => [ - 'summary' => 'Deletes a mount target.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeKeyPairs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'FileSystemId', + 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'title' => '文件系统ID。', - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c50f8*****', - ], + 'schema' => ['description' => 'The name of the key pair that you want to bind to the simple application server. The name must be 2 to 128 characters in length. The name must start with a letter but cannot start with `http://` or `https://`. The name can contain the following characters:'."\n" + ."\n" + .'- Numbers.'."\n" + ."\n" + .'- :'."\n" + ."\n" + .'- \\_'."\n" + ."\n" + .'- .'."\n" + ."\n" + .'You can specify only one name. By default, all key pairs are queried.', 'type' => 'string', 'required' => false, 'example' => 'TestKeyPairName', 'title' => ''], ], [ - 'name' => 'EnsRegionId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '地域ID。', - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing-cmcc', - ], + 'schema' => ['description' => 'The page number of the returned page. Valid values: integers that are greater than 0. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'MountTargetName', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '挂载点名称。', - 'description' => 'The name of the mount target.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TestMountPath', - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: integers that are greater than 0. Default value: 10.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'KeyPairId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the key pair.', 'type' => 'string', 'required' => false, 'example' => 'ssh-50cynkq42sgj4ej1tn78t4***', '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' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', + 'KeyPairs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'KeyPair' => [ + 'description' => 'Details about the key pairs.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the key pair was created. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2020-04-26T15:38:27Z', 'title' => ''], + 'KeyPairFingerPrint' => ['description' => 'The fingerprint of the key pair.', 'type' => 'string', 'example' => 'fdaf8ff7a756ef843814fc****', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the SSH key pair.', 'type' => 'string', 'example' => 'TestKeyPairName', 'title' => ''], + 'KeyPairId' => ['description' => 'The ID of the key pair.', 'type' => 'string', 'example' => 'ssh-50cynkq42sgj4ej1tn78t4***', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '37B52F33-6879-49D0-A39B-22966B01449E', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of key pairs.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidMountTarget.NotExisted', - 'errorMessage' => 'The specified mount target does not exist. ', - ], - [ - 'errorCode' => 'EdgeNasError', - 'errorMessage' => 'EdgeNasError', + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DescribeKeyPairs', + 'summary' => 'Queries one or more key pairs.', + 'changeSet' => [ + ['createdAt' => '2024-01-22T07:47:40.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeKeyPairs'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeKeyPairs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n","errorExample":""}]', - 'title' => 'DeleteMountTarget', - 'description' => 'After you delete a mount target, the mount target cannot be restored. Proceed with caution.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"KeyPairs\\": {\\n \\"KeyPair\\": [\\n {\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\",\\n \\"KeyPairFingerPrint\\": \\"fdaf8ff7a756ef843814fc****\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"KeyPairId\\": \\"ssh-50cynkq42sgj4ej1tn78t4***\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"37B52F33-6879-49D0-A39B-22966B01449E\\",\\n \\"TotalCount\\": 7\\n}","type":"json"}]', + 'extraInfo' => ' ', ], - 'DescribeMountTargets' => [ - 'summary' => 'Queries the information about mount targets.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancerAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '14488', + 'abilityTreeNodes' => ['FEATUREensU6BJRP'], + ], 'parameters' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'title' => '地域ID。', - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing-cmcc', - ], - ], - [ - 'name' => 'FileSystemId', - 'in' => 'query', - 'schema' => [ - 'title' => '文件系统ID。', - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c50f8*****', - ], - ], - [ - 'name' => 'MountTargetName', - 'in' => 'query', - 'schema' => [ - 'title' => '挂载点名称。', - 'description' => 'The name of the mount target.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestMountPath', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'title' => '页码,起始值为1。'."\n" - .'默认值:1。', - 'description' => 'The number of the page to return. Pages start from page 1. Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'title' => '每页行数,最大值为100行。'."\n" - .'默认值:10。', - 'description' => 'The number of entries returned per page. Maximum value: 100. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5rcvo1n1t3hykfhhjwjgq****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'title' => '页码。', - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '单页行数。', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TotalCount' => [ - 'title' => '总数。', - 'description' => 'The total number of mount targets.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'LoadBalancerId' => ['description' => 'The ID of the Load Balancer instance.', 'type' => 'string', 'example' => 'lb-5rcvo1n1t3hykfhhjwjgqp****', 'title' => ''], + 'LoadBalancerName' => ['description' => 'The name of the Load Balancer instance.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'LoadBalancerStatus' => ['description' => 'The status of the Load Balancer instance. Valid values:'."\n" + ."\n" + .'- **Active**: The instance\'s Listeners can forward traffic based on the configured rules.'."\n" + ."\n" + .'- **Inactive**: The instance\'s Listeners do not forward traffic.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS region.', 'type' => 'string', 'example' => 'cn-chengdu-telecom', 'title' => ''], + 'Address' => ['description' => 'The service address of the Load Balancer instance.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5rwbi3g9zvgxcsiufwhw8****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-5s78m2pdr9osa0j64bn78****', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the Load Balancer instance. A value of -1 indicates that the bandwidth is unlimited.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1'."\n", 'title' => ''], + 'LoadBalancerSpec' => ['description' => 'The specification of the Load Balancer instance.', 'type' => 'string', 'example' => 'elb.s2.medium', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time of the Load Balancer instance, in UTC.', 'type' => 'string', 'example' => '2019-05-21T12:22:00Z', 'title' => ''], + 'EndTime' => ['description' => 'The expiration time of the Load Balancer instance.', 'type' => 'string', 'example' => '2020-05-21T12:22:00Z', 'title' => ''], + 'ListenerPorts' => [ + 'description' => 'The frontend ports used by the Load Balancer instance.', + 'type' => 'array', + 'items' => ['description' => 'The frontend port used by the Load Balancer instance.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'MountTargets' => [ - 'title' => '挂载点信息集合。', - 'description' => 'The information about mount targets.'."\n", + 'BackendServers' => [ + 'description' => 'A list of Backend Servers.', 'type' => 'array', 'items' => [ - 'title' => '', - 'description' => '', + 'description' => 'A Backend Server.', 'type' => 'object', 'properties' => [ - 'MountTargetDomain' => [ - 'title' => '挂载点路径。'."\n" - .'LB:/fileSystemName/mountTargetName', - 'description' => 'The path of the mount target.'."\n", - 'type' => 'string', - 'example' => 'LB:/fileSystemName/mountTargetName', - ], - 'MountTargetName' => [ - 'title' => '挂载点名称', - 'description' => 'The name of the mount target.'."\n", - 'type' => 'string', - 'example' => 'TestMountPath', - ], - 'NetWorkId' => [ - 'title' => '网络ID。'."\n" - .'n-***', - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-***', - ], - 'Status' => [ - 'title' => '状态。'."\n" - .'包括:'."\n" - .'active:可用'."\n" - .'inactive:不可用'."\n" - .'pending:任务排队中'."\n" - .'deleting:删除中', - 'description' => 'The state of the mount target. Valid values:'."\n" - ."\n" - .'* active: The mount target is available.'."\n" - .'* inactive: The mount target is unavailable.'."\n" - .'* pending: A task is being queued for the mount target.'."\n" - .'* deleting: The mount target is being deleted.'."\n", - 'type' => 'string', - 'example' => 'active', - ], - 'EnsRegionId' => [ - 'title' => '地域ID。', - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-cmcc', - ], - 'FileSystemId' => [ - 'title' => '文件系统ID。', - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'example' => 'c50f8*****', - ], + 'ServerId' => ['description' => 'The ID of the Backend Server instance.', 'type' => 'string', 'example' => 'i-5vb5h5njxiuhn48a****', 'title' => ''], + 'Ip' => ['description' => 'The IP address of the Backend Server.', 'type' => 'string', 'example' => '192.168.XX.XX'."\n", 'title' => ''], + 'Port' => ['description' => 'The port used by the Backend Server.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Type' => ['description' => 'The type of the Backend Server.', 'type' => 'string', 'example' => 'ens', 'title' => ''], + 'Weight' => ['description' => 'The weight of the Backend Server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '762DD527-358B-1E48-8005-CCE3ED4EB9E0', + 'ListenerPortsAndProtocols' => [ + 'description' => 'The frontend ports and protocols used by the Load Balancer instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about a frontend port and protocol.', + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => ['description' => 'The Listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'ListenerProtocol' => ['description' => 'The Listener protocol.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'Description' => ['description' => 'The description of the Listener.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ListenerForward' => ['description' => 'Indicates whether Listener Forwarding is enabled.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'ForwardPort' => ['description' => 'The destination Listener port to which traffic is forwarded.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'BackendServerPort' => ['description' => 'The port used by the Backend Servers. The value must be between **1** and **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '6000', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'AddressIPVersion' => ['description' => 'The IP version of the Load Balancer instance. Valid values: `ipv4` or `ipv6`.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + 'PayType' => ['description' => 'The billing method. Valid values:'."\n" + ."\n" + .'- **Prepaid**: The subscription model.'."\n" + ."\n" + .'- **PostPaid**: The pay-as-you-go model.', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'LoadBalancerType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'AddressType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 2,\\n \\"TotalCount\\": 1,\\n \\"MountTargets\\": [\\n {\\n \\"MountTargetDomain\\": \\"LB:/fileSystemName/mountTargetName\\",\\n \\"MountTargetName\\": \\"TestMountPath\\",\\n \\"NetWorkId\\": \\"n-***\\",\\n \\"Status\\": \\"active\\",\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"FileSystemId\\": \\"c50f8*****\\"\\n }\\n ],\\n \\"RequestId\\": \\"762DD527-358B-1E48-8005-CCE3ED4EB9E0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 2\\n 1\\n \\n LB:/fileSystemName/mountTargetName\\n TestMountPath\\n n-***\\n active\\n cn-beijing-cmcc\\n c50f8*****\\n \\n 762DD527-358B-1E48-8005-CCE3ED4EB9E0\\n","errorExample":""}]', - 'title' => 'DescribeMountTargets', - ], - 'PutBucket' => [ - 'summary' => 'Creates an Edge Object Storage (EOS) bucket.', - 'methods' => [ - 'post', - 'get', + 'title' => 'DescribeLoadBalancerAttribute', + 'summary' => 'Retrieves the details of a specified load balancer instance.', + 'description' => '- API Call Rate: 100 requests/second.'."\n" + ."\n" + .'- Per-user Call Rate: 10 requests/second.', + 'changeSet' => [ + ['createdAt' => '2025-06-19T07:40:36.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2025-02-11T03:36:32.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2024-01-22T06:18:13.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LoadBalancerId\\": \\"lb-5rcvo1n1t3hykfhhjwjgqp****\\",\\n \\"LoadBalancerName\\": \\"example\\",\\n \\"LoadBalancerStatus\\": \\"Active\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom\\",\\n \\"Address\\": \\"192.168.XX.XX\\",\\n \\"NetworkId\\": \\"n-5rwbi3g9zvgxcsiufwhw8****\\",\\n \\"VSwitchId\\": \\"vsw-5s78m2pdr9osa0j64bn78****\\",\\n \\"Bandwidth\\": -1,\\n \\"LoadBalancerSpec\\": \\"elb.s2.medium\\",\\n \\"CreateTime\\": \\"2019-05-21T12:22:00Z\\",\\n \\"EndTime\\": \\"2020-05-21T12:22:00Z\\",\\n \\"ListenerPorts\\": [\\n \\"80\\"\\n ],\\n \\"BackendServers\\": [\\n {\\n \\"ServerId\\": \\"i-5vb5h5njxiuhn48a****\\",\\n \\"Ip\\": \\"192.168.XX.XX\\\\n\\",\\n \\"Port\\": \\"0\\",\\n \\"Type\\": \\"ens\\",\\n \\"Weight\\": 100\\n }\\n ],\\n \\"ListenerPortsAndProtocols\\": [\\n {\\n \\"ListenerPort\\": 8080,\\n \\"ListenerProtocol\\": \\"tcp\\",\\n \\"Description\\": \\"test\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": 0,\\n \\"BackendServerPort\\": 6000\\n }\\n ],\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"LoadBalancerType\\": \\"\\",\\n \\"AddressType\\": \\"\\"\\n}","type":"json"}]', + ], + 'DescribeLoadBalancerHTTPListenerAttribute' => [ + 'summary' => 'Queries the configuration of an HTTP listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '119478', - 'abilityTreeNodes' => [ - 'FEATUREens8BRN2W', - ], - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'BucketName', - 'in' => 'query', - 'schema' => [ - 'title' => 'Bucket名称。'."\n" - .'3~50 个字符,只允许小写字母、数字、短横线(-),且不能以短横线开头或结尾。', - 'description' => 'The name of the bucket. This parameter can contain 3 to 50 characters in length and can contain only lowercase letters, digits, and hyphens (-). The name cannot start or end with a hyphen (-).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], - ], - [ - 'name' => 'LogicalBucketType', - 'in' => 'query', - 'schema' => [ - 'title' => '否 逻辑bucket类型,取值范围:'."\n" - .'sink: 下沉(指定节点)'."\n" - .'standard:标准(全局)(默认值)', - 'description' => 'The type of the logical bucket. Valid values: sink standard (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sink', - ], - ], - [ - 'name' => 'Comment', - 'in' => 'query', - 'schema' => [ - 'title' => '备注。长度为0-128个字符、汉字或表情符等。', - 'description' => 'The description. The description can be 0 to 128 characters in length, and can contain Chinese characters and emoticons.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'numb', - ], - ], - [ - 'name' => 'BucketAcl', - 'in' => 'query', - 'schema' => [ - 'title' => 'Bucket权限类型:'."\n" - .'private:私有(默认值)'."\n" - .'public-read-write:公共读写'."\n" - .'public-read:公共读', - 'description' => 'The access control list (ACL) of the bucket. private public-read-write public-read'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'private', - ], - ], - [ - 'name' => 'EnsRegionId', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'title' => '节点区域id,不指定时为全局默认节点', - 'description' => 'The ID of the region where the node is located. If this parameter is not specified, the node is the global default node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-15', - ], + 'schema' => ['description' => 'The listener port that you want to query. Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'DispatchScope', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The scheduling scope. This parameter takes effect only when the value of the LogicalBucketType parameter is standard. Valid values:'."\n" - ."\n" - .'* **domestic**: Chinese mainland.'."\n" - .'* **oversea**: outside the Chinese mainland.'."\n", - 'example' => 'domestic', - ], + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5snthcyu1x10g7tywj7iu****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '85123E71-7710-4620-8AAB-133CCE49EC83', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'ListenerPort' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **Running**'."\n" + ."\n" + .'- **Stopped**'."\n" + ."\n" + .'- **Starting**'."\n" + ."\n" + .'- **Configuring**'."\n" + ."\n" + .'- **Stopping**', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the Edge Load Balancer (ELB) instance. The default value is -1, which indicates that the bandwidth is not limited.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'Scheduler' => ['description' => 'The routing algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections to a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" + ."\n" + .'- **iqch**: consistent hashing that is based on specific three bytes of the iQUIC CIDs. Requests whose second to fourth bytes are the same are distributed to the same backend server.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter is returned only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter is returned only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" + ."\n" + .'- If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" + ."\n" + .'> This parameter is returned only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '5000', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" + ."\n" + .'> This parameter is returned only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Description' => ['description' => 'The description of the listener. The description must be **1** to **80** characters in length.'."\n" + ."\n" + .'> The value cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'abc', 'title' => ''], + 'ListenerForward' => ['description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled. Valid values:'."\n" + ."\n" + .'- **on**: HTTP-to-HTTPS redirection is enabled.'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'ForwardPort' => ['description' => 'The listener port that is used to redirect HTTP requests to HTTPS.', 'type' => 'integer', 'format' => 'int32', 'example' => '10002', 'title' => ''], + 'RequestTimeout' => ['description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" + ."\n" + .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'IdleTimeout' => ['description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" + ."\n" + .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, ELB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status codes for a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default)'."\n" + ."\n" + .'- **http\\_3xx**.'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**'."\n" + ."\n" + .'> This parameter is returned only if you set HealthCheck to on.', 'type' => 'string', 'example' => 'http_2xx', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that is used for health checks.'."\n" + ."\n" + .'> This parameter is returned only if you set HealthCheck to on.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', 'example' => '/checkpreload.htm', 'title' => ''], + 'ServerCertificateId' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'example' => '6027667', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method used in HTTP health checks. Valid values:'."\n" + ."\n" + .'- **head**: requests the head of the page.'."\n" + ."\n" + .'- **get**: requests the specified part of the page and returns the entity body.'."\n" + ."\n" + .'> This parameter is returned only if you set HealthCheck to on.', 'type' => 'string', 'example' => 'head', 'title' => ''], + 'XForwardedFor' => ['description' => 'Indicates whether the X-Forwarded-For header is used to obtain the real IP address of the client. Valid values:'."\n" + ."\n" + .'- **on** (default)'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on'."\n", 'title' => ''], + 'BackendServerPort' => ['description' => 'The port used by the backend server of the ELB instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyBuckets', - 'errorMessage' => 'The number of buckets created exceeds the limit.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'Specified parameter %s is not valid.', - ], - [ - 'errorCode' => 'UnSupportedCity', - 'errorMessage' => 'The city is not supported.', - ], - [ - 'errorCode' => 'BucketAlreadyExists', - 'errorMessage' => 'The bucket already exists or is occupied by other users.', - ], - [ - 'errorCode' => 'InvalidEngineId', - 'errorMessage' => 'The engineId does not belong to the city.', - ], - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'InvalidComment', - 'errorMessage' => 'Specified parameter Comment is not valid.', - ], - [ - 'errorCode' => 'InvalidDataRedundancyType', - 'errorMessage' => 'Specified parameter DataRedundancyType is not valid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'Listener is not found.', 'description' => 'Listener does not exist'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'OperationDenied', - 'errorMessage' => 'The current ens region has not been purchased', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'title' => 'DescribeLoadBalancerHTTPListenerAttribute', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2024-08-08T03:18:52.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-07-04T02:42:25.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-04T06:40:34.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchEnsRegion', - 'errorMessage' => 'The ens region does not exist', - ], - [ - 'errorCode' => 'NoSuchStorageDomain', - 'errorMessage' => 'The specified storageDomain does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"85123E71-7710-4620-8AAB-133CCE49EC83\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 85123E71-7710-4620-8AAB-133CCE49EC83\\n","errorExample":""}]', - 'title' => 'PutBucket', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ListenerPort\\": 80,\\n \\"Status\\": \\"Running\\",\\n \\"Bandwidth\\": -1,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 3,\\n \\"UnhealthyThreshold\\": 3,\\n \\"HealthCheckTimeout\\": 10,\\n \\"HealthCheckConnectPort\\": 5000,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"abc\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": 10002,\\n \\"RequestTimeout\\": 60,\\n \\"IdleTimeout\\": 15,\\n \\"HealthCheckHttpCode\\": \\"http_2xx\\",\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"HealthCheckURI\\": \\"/checkpreload.htm\\",\\n \\"ServerCertificateId\\": \\"6027667\\",\\n \\"HealthCheckMethod\\": \\"head\\",\\n \\"XForwardedFor\\": \\"on\\\\n\\",\\n \\"BackendServerPort\\": 8080\\n}","type":"json"}]', ], - 'DeleteBucket' => [ - 'summary' => 'Deletes a bucket.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancerHTTPSListenerAttribute' => [ + 'summary' => 'Queries the configurations of an HTTPS listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '119370', - 'abilityTreeNodes' => [ - 'FEATUREens8BRN2W', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'BucketName', + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listening port that you want to query. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '443', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'title' => 'bucket名称', - 'description' => 'The name of the bucket that you want to delete. You can delete only one bucket at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5qoxu2rsr0ytanpn4r3i****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '2180AB96-57CF-1C68-9FEE-D60E547FD79C', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'ListenerPort' => ['description' => 'The frontend port that is used by the ELB instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **Running**'."\n" + ."\n" + .'- **Stopped**'."\n" + ."\n" + .'- **Starting**'."\n" + ."\n" + .'- **Configuring**'."\n" + ."\n" + .'- **Stopping**', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the Edge Load Balancer (ELB). The default value is -1, which indicates that the bandwidth is not limited.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'Scheduler' => ['description' => 'The routing algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **wlc**: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections to a backend server. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" + ."\n" + .'- **iqch**: consistent hashing that is based on specific three bytes of the iQUIC CIDs. Requests whose second to fourth bytes are the same are distributed to the same backend server.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" + ."\n" + .'- If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If an empty string is returned for this parameter, the port specified by BackendServerPort is used for health checks.'."\n" + ."\n" + .'> This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '9902', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" + ."\n" + .'> This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Description' => ['description' => 'The description of the listener. The description must be **1** to **80** characters in length.', 'type' => 'string', 'example' => 'abc', 'title' => ''], + 'ListenerForward' => ['description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled. Valid values:'."\n" + ."\n" + .'- on'."\n" + ."\n" + .'- off', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'ForwardPort' => ['description' => 'The listener port that is used to redirect HTTP requests to HTTPS.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestTimeout' => ['description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" + ."\n" + .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'IdleTimeout' => ['description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" + ."\n" + .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, CLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code for a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default)'."\n" + ."\n" + .'- **http\\_3xx**.'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**'."\n" + ."\n" + .'> This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'string', 'example' => 'http_2xx', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that is used for health checks.'."\n" + ."\n" + .'> This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'string', 'example' => 'www.test.com', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI that is used for health checks. The URI must be **1** to **80** characters in length.'."\n" + ."\n" + .'- The URL must start with `/` and contain characters other than `/`.'."\n" + ."\n" + .'- This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'string', 'example' => '/checkpreload.htm', 'title' => ''], + 'ServerCertificateId' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'example' => '60276**', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method used in HTTP health checks. Valid values:'."\n" + ."\n" + .'- **head**: requests the head of the page.'."\n" + ."\n" + .'- **get**: requests the specified part of the page and returns the entity body.'."\n" + ."\n" + .'> This parameter is returned only if the HealthCheck parameter is set to on.', 'type' => 'string', 'example' => 'head', 'title' => ''], + 'BackendServerPort' => ['description' => 'The port used by the backend server of the ELB instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'title' => 'DescribeLoadBalancerHTTPSListenerAttribute', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2024-08-08T06:02:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', - ], - ], - 409 => [ - [ - 'errorCode' => 'BucketNotEmpty', - 'errorMessage' => 'The bucket you tried to delete is not empty.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2180AB96-57CF-1C68-9FEE-D60E547FD79C\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2180AB96-57CF-1C68-9FEE-D60E547FD79C\\n","errorExample":""}]', - 'title' => 'DeleteBucket', - 'description' => '* Only the Alibaba Cloud Account ID owner of a bucket can delete the bucket from the account.'."\n" - .'* You cannot delete buckets that store objects. You can only delete empty buckets.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ListenerPort\\": 8080,\\n \\"Status\\": \\"Running\\",\\n \\"Bandwidth\\": 50,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 3,\\n \\"UnhealthyThreshold\\": 3,\\n \\"HealthCheckTimeout\\": 5,\\n \\"HealthCheckConnectPort\\": 9902,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"abc\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": 0,\\n \\"RequestTimeout\\": 60,\\n \\"IdleTimeout\\": 15,\\n \\"HealthCheckHttpCode\\": \\"http_2xx\\",\\n \\"HealthCheckDomain\\": \\"www.test.com\\",\\n \\"HealthCheckURI\\": \\"/checkpreload.htm\\",\\n \\"ServerCertificateId\\": \\"60276**\\",\\n \\"HealthCheckMethod\\": \\"head\\",\\n \\"BackendServerPort\\": 8080\\n}","type":"json"}]', ], - 'GetBucketInfo' => [ - 'summary' => 'Queries the detailed information about a bucket.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancerListenMonitor' => [ + 'summary' => 'Queries monitoring data of an edge load balancer (ELB) instance.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '119506', - 'abilityTreeNodes' => [ - 'FEATUREensK8PUWN', - ], - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'BucketName', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The beginning of the time range to query.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-01-15 16:00:00'], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-01-30 08:00:00'], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5q73cv04zeyh43lh74lp4****'], + ], + [ + 'name' => 'VPort', + 'in' => 'query', + 'schema' => ['description' => 'The virtual IP address (VIP) port of the ELB instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '80'], + ], + [ + 'name' => 'Proto', + 'in' => 'query', + 'schema' => ['description' => 'The network protocol, such as tcp or udp.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'tcp'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C5831388-2D4B-46F4-A96B-D4E6BD06E7521', - ], - 'BucketInfo' => [ - 'description' => 'The list of bucket information.'."\n", - 'type' => 'object', - 'properties' => [ - 'BucketAcl' => [ - 'description' => 'The ACL of the bucket.'."\n" - ."\n" - .'* **public-read-write**'."\n" - .'* **public-read**'."\n" - .'* **private** (default)'."\n", - 'type' => 'string', - 'example' => 'private', - ], - 'BucketName' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Comment' => [ - 'description' => 'The remarks.'."\n", - 'type' => 'string', - 'example' => 'das', - ], - 'CreateTime' => [ - 'description' => 'The time when the bucket 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' => '2022-10-12T05:45:00Z', - ], - 'LogicalBucketType' => [ - 'description' => 'Single-node storage. Set the value to sink.'."\n", - 'type' => 'string', - 'example' => 'sink', - ], - 'ModifyTime' => [ - 'description' => 'The time when the bucket was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-10-12T06:45:00Z', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'LoadBalancerMonitorListenData' => [ + 'description' => 'The TCP/UDP monitoring data of the ELB instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The monitoring data.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => 'lb-5q73cv04zeyh43lh74lp4****'], + 'EnsRegionId' => ['description' => 'The ID of the node to which the ELB instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'cn-dongguan-9'], + 'Vip' => ['description' => 'The virtual IP address (VIP) of the instance.', 'type' => 'string', 'title' => '', 'example' => '10.8.****'], + 'Vni' => ['description' => 'The ID of the tunnel.', 'type' => 'string', 'title' => '', 'example' => '53284'], + 'VPort' => ['description' => 'The VIP port of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => '80'], + 'Proto' => ['description' => 'The network protocol.', 'type' => 'string', 'title' => '', 'example' => 'tcp'], + 'Conns' => ['description' => 'The number of new connections.', 'type' => 'string', 'title' => '', 'example' => '37150'], + 'ActConns' => ['description' => 'The number of active connections.', 'type' => 'string', 'title' => '', 'example' => '80285'], + 'InActConns' => ['description' => 'The number of inactive connections.', 'type' => 'string', 'title' => '', 'example' => '16322'], + 'DropConns' => ['description' => 'The number of dropped connections.', 'type' => 'string', 'title' => '', 'example' => '10'], + 'InPkts' => ['description' => 'The number of inbound packets.', 'type' => 'string', 'title' => '', 'example' => '12'], + 'OutPkts' => ['description' => 'The number of outbound packets.', 'type' => 'string', 'title' => '', 'example' => '34'], + 'InDropPkts' => ['description' => 'The number of dropped inbound packets.', 'type' => 'string', 'title' => '', 'example' => '27'], + 'OutDropPkts' => ['description' => 'The number of dropped outbound packets.', 'type' => 'string', 'title' => '', 'example' => '76'], + 'InBytes' => ['description' => 'The inbound traffic.', 'type' => 'string', 'title' => '', 'example' => '67532'], + 'OutBytes' => ['description' => 'The outbound traffic.', 'type' => 'string', 'title' => '', 'example' => '5155487'], + 'InDropBytes' => ['description' => 'The dropped inbound traffic.', 'type' => 'string', 'title' => '', 'example' => '324'], + 'OutDropBytes' => ['description' => 'The dropped outbound traffic.', 'type' => 'string', 'title' => '', 'example' => '0'], + 'ValidRsNum' => ['description' => 'The number of available servers that are attached to the monitored ELB instance.', 'type' => 'string', 'title' => '', 'example' => '2'], + 'InValidRsNum' => ['description' => 'The number of unavailable servers that are attached to the monitored ELB instance.', 'type' => 'string', 'title' => '', 'example' => '0'], + 'BizTime' => ['description' => 'The business time.', 'type' => 'string', 'title' => '', 'example' => '2024-01-15 16:03:00'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'Specified parameter %s is not valid.', - ], - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeLoadBalancerListenMonitor', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerListenMonitor'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerListenMonitor', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C5831388-2D4B-46F4-A96B-D4E6BD06E7521\\",\\n \\"BucketInfo\\": {\\n \\"BucketAcl\\": \\"private\\",\\n \\"BucketName\\": \\"test\\",\\n \\"Comment\\": \\"das\\",\\n \\"CreateTime\\": \\"2022-10-12T05:45:00Z\\",\\n \\"LogicalBucketType\\": \\"sink\\",\\n \\"ModifyTime\\": \\"2022-10-12T06:45:00Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n C5831388-2D4B-46F4-A96B-D4E6BD06E7521\\n \\n private\\n test\\n das\\n 2022-10-12T05:45:00Z\\n sink\\n 2022-10-12T06:45:00Z\\n \\n","errorExample":""}]', - 'title' => 'GetBucketInfo', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"LoadBalancerMonitorListenData\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5q73cv04zeyh43lh74lp4****\\",\\n \\"EnsRegionId\\": \\"cn-dongguan-9\\",\\n \\"Vip\\": \\"10.8.****\\",\\n \\"Vni\\": \\"53284\\",\\n \\"VPort\\": \\"80\\",\\n \\"Proto\\": \\"tcp\\",\\n \\"Conns\\": \\"37150\\",\\n \\"ActConns\\": \\"80285\\",\\n \\"InActConns\\": \\"16322\\",\\n \\"DropConns\\": \\"10\\",\\n \\"InPkts\\": \\"12\\",\\n \\"OutPkts\\": \\"34\\",\\n \\"InDropPkts\\": \\"27\\",\\n \\"OutDropPkts\\": \\"76\\",\\n \\"InBytes\\": \\"67532\\",\\n \\"OutBytes\\": \\"5155487\\",\\n \\"InDropBytes\\": \\"324\\",\\n \\"OutDropBytes\\": \\"0\\",\\n \\"ValidRsNum\\": \\"2\\",\\n \\"InValidRsNum\\": \\"0\\",\\n \\"BizTime\\": \\"2024-01-15 16:03:00\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'PutBucketAcl' => [ - 'summary' => 'Modifies the access control list (ACL) of a bucket.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancerListeners' => [ + 'summary' => 'Queries listeners of Edge Load Balancer (ELB) instances.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '125217', - 'abilityTreeNodes' => [ - 'FEATUREens44HZEV', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '35626', + 'abilityTreeNodes' => ['FEATUREensRH3EFN'], ], 'parameters' => [ [ - 'name' => 'BucketName', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'title' => 'Bucket名称', - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5s7crik3yo3p5****', 'title' => ''], ], [ - 'name' => 'BucketAcl', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => 'Bucket读写权限类型:'."\n" - .'public-read-write:公共读写'."\n" - .'public-read:公共读'."\n" - .'private:私有(默认值)', - 'description' => 'The access control list (ACL) of the bucket.'."\n" - ."\n" - .'* **public-read-write**'."\n" - .'* **public-read**'."\n" - .'* **private** (default)'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'private', - ], + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'required' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the image.', 'type' => 'string', 'maxLength' => 256, 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C0066F05-3116-4BAA-B588-52EB2E7F5D23', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '49', 'title' => ''], + 'Listeners' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Listener' => [ + 'description' => 'The listeners of the ELB instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The listener of the ELB instance.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'example' => 'lb-51a5fhou****', 'title' => ''], + 'ListenerPort' => ['description' => 'The listening port.', 'type' => 'string', 'example' => '8080', 'title' => ''], + 'Protocol' => ['description' => 'The network transmission protocol that is used by the listener.'."\n" + ."\n" + .'- **tcp**'."\n" + ."\n" + .'- **udp**'."\n" + ."\n" + .'- **http**'."\n" + ."\n" + .'- **https**', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'Description' => ['description' => 'The description of the listener.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **running**'."\n" + ."\n" + .'- **stopped**', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'ListenerForward' => ['description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled for the listener. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'ForwardPort' => ['description' => 'The listener port that is used for HTTP-to-HTTPS redirection.', 'type' => 'string', 'example' => '443', 'title' => ''], + 'CreateTime' => ['description' => 'The timestamp when the listener was created.', 'type' => 'string', 'example' => '2022-08-15T08:42:57Z', 'title' => ''], + 'BackendServerPort' => ['description' => 'The backend port that is used by the ELB instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '3306', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'Specified parameter %s is not valid.', - ], - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidBucketAcl', - 'errorMessage' => 'Specified parameter BucketAcl is not valid.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', 'description' => 'The load balancing instance does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'title' => 'DescribeLoadBalancerListeners', + 'changeSet' => [ + ['createdAt' => '2025-02-11T03:36:32.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerListeners'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerListeners', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0066F05-3116-4BAA-B588-52EB2E7F5D23\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C0066F05-3116-4BAA-B588-52EB2E7F5D23\\n","errorExample":""}]', - 'title' => 'PutBucketAcl', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 49,\\n \\"Listeners\\": {\\n \\"Listener\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-51a5fhou****\\",\\n \\"ListenerPort\\": \\"8080\\",\\n \\"Protocol\\": \\"tcp\\",\\n \\"Description\\": \\"test\\",\\n \\"Status\\": \\"running\\",\\n \\"ListenerForward\\": \\"off\\",\\n \\"ForwardPort\\": \\"443\\",\\n \\"CreateTime\\": \\"2022-08-15T08:42:57Z\\",\\n \\"BackendServerPort\\": 3306\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'GetBucketAcl' => [ - 'summary' => 'Queries the access control list (ACL) of a bucket.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeLoadBalancerSpec' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '187121', - 'abilityTreeNodes' => [ - 'FEATUREens44HZEV', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'BucketName', + 'name' => 'LoadBalancerSpec', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The specifications of the ELB instance.', 'type' => 'string', 'required' => false, 'example' => 'elb.s2.small', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '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' => '5C881388-2D4B-46F4-A96B-D4E6BD0886A2', - ], - 'BucketAcl' => [ - 'description' => 'The ACL of the bucket.'."\n", - 'type' => 'string', - 'example' => 'private', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page. Maximum value: 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], + 'LoadBalancerSpecs' => [ + 'description' => 'The specifications. Valid values:', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'DisplayName' => ['description' => 'The display name of the instance type.', 'type' => 'string', 'example' => 'elb.s1.small', 'title' => ''], + 'LoadBalancerSpec' => ['description' => 'The specifications of the ELB instance.', 'type' => 'string', 'example' => 'elb.s1.small', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'Specified parameter %s is not valid.', - ], - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'title' => 'DescribeLoadBalancerSpec', + 'summary' => 'Queries the specifications of an Edge Load Balancer (ELB) instance.', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:10:36.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerSpec'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5C881388-2D4B-46F4-A96B-D4E6BD0886A2\\",\\n \\"BucketAcl\\": \\"private\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5C881388-2D4B-46F4-A96B-D4E6BD0886A2\\n private\\n","errorExample":""}]', - 'title' => 'GetBucketAcl', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 10,\\n \\"PageSize\\": 100,\\n \\"TotalCount\\": 7,\\n \\"LoadBalancerSpecs\\": [\\n {\\n \\"DisplayName\\": \\"elb.s1.small\\",\\n \\"LoadBalancerSpec\\": \\"elb.s1.small\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'PrepareUpload' => [ - 'summary' => 'Prepares the upload and obtains the location of the bucket.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancerTCPListenerAttribute' => [ + 'summary' => 'Call the `DescribeLoadBalancerTCPListenerAttribute` operation to query the configuration of a TCP listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '120703', - 'abilityTreeNodes' => [ - 'FEATUREensK8PUWN', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'BucketName', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'title' => 'bucket名称', - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The listener port. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'ClientIp', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'title' => '指定ip,适用于用户ip与接口调用IP不一致的情况,如服务端获取授权后下发给客户端', - 'description' => 'The specified IP address. This parameter is applicable to scenarios where the user IP address is inconsistent with the operation calling IP address, such as the scenario where the server obtains authorization and sends the authorization to the client.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '180.166.XX.XXX', - ], + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5snthcyu1x10g7tywj7iu****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response.', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', - ], - 'BucketName' => [ - 'title' => '物理存储名称,使用oss sdk时传入', - 'description' => 'The name of the bucket. This parameter is available only when the OSS SDK is used.'."\n", - 'type' => 'string', - 'example' => 'test-xxxxxx', - ], - 'Endpoint' => [ - 'title' => 'endpoint,使用oss sdk时传入', - 'description' => 'The endpoint. This parameter is available only when the OSS SDK is used.'."\n", - 'type' => 'string', - 'example' => 'eos.aliyuncs.com', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'ListenerPort' => ['description' => 'The frontend port used by the load balancer instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **Running**: The listener is running.'."\n" + ."\n" + .'- **Stopped**: The listener is stopped.'."\n" + ."\n" + .'- **Starting**: The listener is being started.'."\n" + ."\n" + .'- **Configuring**: The listener is being configured.'."\n" + ."\n" + .'- **Stopping**: The listener is being stopped.', 'type' => 'string', 'example' => 'Stopped', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the load balancer. The default value is -1, which indicates unlimited bandwidth.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Weighted Round Robin. Backend servers with higher weights receive more requests.'."\n" + ."\n" + .'- **wlc**: Weighted Least Connections. In addition to weights, the system considers the number of active connections to each backend server. If multiple backend servers have the same weight, the system selects the backend server with the fewest active connections.'."\n" + ."\n" + .'- **rr**: Round Robin. The system distributes requests sequentially to the backend servers.'."\n" + ."\n" + .'- **sch**: Source IP Hash. The system routes requests from the same source IP address to the same backend server.'."\n" + ."\n" + .'- **tch**: 4-Tuple Hash. The system routes requests that share the same 4-tuple (source IP address, destination IP address, source port, and destination port) to the same backend server.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'PersistenceTimeout' => ['description' => 'The session persistence timeout.'."\n" + ."\n" + .'- Default value: 0. A value of 0 indicates that session persistence is disabled.'."\n" + ."\n" + .'- Valid values: **0** to **3600**.'."\n" + ."\n" + .'- Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'EstablishedTimeout' => ['description' => 'The connection timeout. Valid values: **10** to **900**. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'HealthCheck' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n" + ."\n" + .'- **on**: enable'."\n" + ."\n" + .'- **off**: disable', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of consecutive successful health checks required to change the health status of a backend server from `fail` (unhealthy) to `success` (healthy). Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only when the HealthCheck parameter is set to `on`.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of consecutive failed health checks required to change the health status of a backend server from `success` (healthy) to `fail` (unhealthy). Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only when the HealthCheck parameter is set to `on`.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'HealthCheckConnectTimeout' => ['description' => 'The response timeout for a health check. If a backend ENS instance does not respond within this timeout period, the health check fails.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'> * This parameter takes effect only when the HealthCheck parameter is set to `on`.'."\n" + .'>'."\n" + .'> * If this value is less than the `HealthCheckInterval` value, the `HealthCheckInterval` value is used as the timeout period instead.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval between health checks. Valid values: **1** to **50**. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Description' => ['description' => 'The description of the listener.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status codes that indicate a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (Default)'."\n" + ."\n" + .'- **http\\_3xx**'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**'."\n" + ."\n" + .'> This parameter takes effect only when the HealthCheck parameter is set to `on`.', 'type' => 'string', 'example' => 'http_2xx', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name used for health checks.'."\n" + ."\n" + .'> This parameter takes effect only when the HealthCheck parameter is set to `on`.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI used for health checks. Length: **1** to **80** characters.'."\n" + ."\n" + .'> - The URI must start with `/` but cannot consist solely of `/`.'."\n" + .'>'."\n" + .'> - This parameter takes effect only when the HealthCheck parameter is set to `on`.', 'type' => 'string', 'example' => '/example/index.html', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check type. Valid values:'."\n" + ."\n" + .'- **tcp** (Default)'."\n" + ."\n" + .'- **http**', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'BackendServerPort' => ['description' => 'The port used by the backend servers. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. If this parameter is not specified, the value of `BackendServerPort` is used.'."\n" + ."\n" + .'> This parameter takes effect only when the HealthCheck parameter is set to `on`.', 'type' => 'integer', 'format' => 'int32', 'example' => '8000', 'title' => ''], + 'EipTransmit' => ['description' => 'Specifies whether EIP passthrough is enabled. Valid values:'."\n" + ."\n" + .'- **on**: enable'."\n" + ."\n" + .'- **off** (Default): disable', 'type' => 'string', 'example' => 'on', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'Specified parameter %s is not valid', - ], - [ - 'errorCode' => 'InvalidaliUid', - 'errorMessage' => 'Specified parameter aliUid is not valid', - ], - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid', - ], - [ - 'errorCode' => 'InvalidClientIp', - 'errorMessage' => 'Specified parameter ClientIp is not valid', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found. ', 'description' => ''], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'Listener is not found.', 'description' => 'Listener does not exist'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'Auth is not valid.', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ListenerPort\\": 80,\\n \\"Status\\": \\"Stopped\\",\\n \\"Bandwidth\\": -1,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"PersistenceTimeout\\": 0,\\n \\"EstablishedTimeout\\": 500,\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 4,\\n \\"UnhealthyThreshold\\": 4,\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"example\\",\\n \\"HealthCheckHttpCode\\": \\"http_2xx\\",\\n \\"HealthCheckDomain\\": \\"example.com\\",\\n \\"HealthCheckURI\\": \\"/example/index.html\\",\\n \\"HealthCheckType\\": \\"tcp\\",\\n \\"BackendServerPort\\": 8080,\\n \\"HealthCheckConnectPort\\": 8000,\\n \\"EipTransmit\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'DescribeLoadBalancerTCPListenerAttribute', + 'description' => '- API call rate: 100 calls per second.'."\n" + ."\n" + .'- Per-user call rate: 10 calls per second.', + 'changeSet' => [ + ['createdAt' => '2024-06-04T06:40:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerTCPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"BucketName\\": \\"test-xxxxxx\\",\\n \\"Endpoint\\": \\"eos.aliyuncs.com\\"\\n}","type":"json"}]', - 'title' => 'PrepareUpload', ], - 'DeleteObject' => [ - 'summary' => 'Deletes an object.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancerUDPListenerAttribute' => [ + 'summary' => 'Call `DescribeLoadBalancerUDPListenerAttribute` to get a UDP listener\'s configuration.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '120837', - 'abilityTreeNodes' => [ - 'FEATUREens4K3NWA', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ObjectKey', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'title' => '文件名称', - 'description' => 'The name of the file.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'image5', - ], + 'schema' => ['description' => 'The listener port to query. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'BucketName', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'title' => 'Bucket名称', - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'tets', - ], + 'schema' => ['description' => 'The ID of the load balancer.', 'type' => 'string', 'required' => true, 'example' => 'lb-5pzipr2fszqtl2xf64uy5****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A5626B44-0189-443E-9816-D951F596CC89', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '5D7597CF-1630-54EC-A945-624A33F2E7E8'], + 'ListenerPort' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **Running**: The listener is running.'."\n" + ."\n" + .'- **Stopped**: The listener is stopped.'."\n" + ."\n" + .'- **Starting**: The listener is starting.'."\n" + ."\n" + .'- **Configuring**: The listener is being configured.'."\n" + ."\n" + .'- **Stopping**: The listener is being stopped.', 'type' => 'string', 'example' => 'Stopped', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the load balancer. A value of -1 indicates that no rate limit is applied.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (Weighted Round Robin): Backend servers with higher weights receive a larger proportion of requests.'."\n" + ."\n" + .'- **wlc** (Weighted Least Connections): Requests are distributed based on both the weight and the current connection count of each backend server. If backend servers have the same weight, the server with the fewest connections receives more new requests.'."\n" + ."\n" + .'- **rr** (Round Robin): Requests are distributed to backend servers sequentially.'."\n" + ."\n" + .'- **sch** (Source IP Hash): Routes requests from the same source IP address to the same backend server by using a consistent hash of the source IP address.'."\n" + ."\n" + .'- **tch** (4-tuple Hash): Routes packets from the same flow to the same backend server by using a consistent hash of the 4-tuple (source IP address, destination IP address, source port, and destination port).'."\n" + ."\n" + .'- **qch** (QUIC Connection ID Hash): Uses a consistent hashing algorithm on the QUIC Connection ID to ensure that requests with the same connection ID are always routed to the same backend server.'."\n" + ."\n" + .'- **iqch** (iQUIC CID Hash): Uses a consistent hashing algorithm on bytes 2, 3, and 4 of the iQUIC CID. Requests where these three bytes are the same are routed to the same backend server.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'HealthCheck' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of consecutive successful health checks that must occur before a backend server can be declared healthy. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only when `HealthCheck` is set to `on`.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of consecutive failed health checks that must occur before a backend server can be declared unhealthy. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only when `HealthCheck` is set to `on`.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'HealthCheckConnectTimeout' => ['description' => 'The timeout period for a health check response. If a backend ENS instance does not respond within the specified timeout period, the health check fails.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'> * This parameter takes effect only when `HealthCheck` is set to `on`.'."\n" + .'>'."\n" + .'> * If the value of `HealthCheckConnectTimeout` is less than the value of `HealthCheckInterval`, the value of `HealthCheckInterval` is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval between health checks. Valid values: **1** to **50**. Unit: seconds.'."\n" + ."\n" + .'> This parameter takes effect only when `HealthCheck` is set to `on`.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Description' => ['description' => 'The listener name.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'BackendServerPort' => ['description' => 'The port used by the backend servers. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. If you do not specify this parameter, the value of `BackendServerPort` is used.', 'type' => 'integer', 'format' => 'int32', 'example' => '8000', 'title' => ''], + 'HealthCheckReq' => ['description' => 'The request string for UDP health checks. The string can contain only letters and digits and can be up to 64 characters in length.', 'type' => 'string', 'example' => 'hello', 'title' => ''], + 'HealthCheckExp' => ['description' => 'The response string for UDP health checks. The string can contain only letters and digits and can be up to 64 characters in length.', 'type' => 'string', 'example' => 'ok', 'title' => ''], + 'EipTransmit' => ['description' => 'Specifies whether to enable EIP passthrough. Valid values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off** (default): Disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'EstablishedTimeout' => ['description' => 'The connection timeout period. Valid values: **10** to **900**. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'Listener is not found.', 'description' => 'Listener does not exist'], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', 'description' => 'The load balancing instance does not exist.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'Auth is not valid.', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5D7597CF-1630-54EC-A945-624A33F2E7E8\\",\\n \\"ListenerPort\\": 80,\\n \\"Status\\": \\"Stopped\\",\\n \\"Bandwidth\\": 5,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"HealthyThreshold\\": 4,\\n \\"UnhealthyThreshold\\": 4,\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"HealthCheckInterval\\": 5,\\n \\"Description\\": \\"example\\",\\n \\"BackendServerPort\\": 8080,\\n \\"HealthCheckConnectPort\\": 8000,\\n \\"HealthCheckReq\\": \\"hello\\",\\n \\"HealthCheckExp\\": \\"ok\\",\\n \\"EipTransmit\\": \\"on\\",\\n \\"EstablishedTimeout\\": 500\\n}","type":"json"}]', + 'title' => 'DescribeLoadBalancerUDPListenerAttribute', + 'description' => '- API rate limit: 100 requests per second (RPS).'."\n" + ."\n" + .'- Per-user rate limit: 10 RPS.', + 'changeSet' => [ + ['createdAt' => '2024-08-20T07:26:21.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2024-06-04T06:40:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-20T09:23:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-20T09:23:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-20T09:23:00.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', - ], - [ - 'errorCode' => 'NoSuchKey', - 'errorMessage' => 'The specified key does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerUDPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A5626B44-0189-443E-9816-D951F596CC89\\"\\n}","errorExample":""},{"type":"xml","example":"\\n A5626B44-0189-443E-9816-D951F596CC89\\n","errorExample":""}]', - 'title' => 'DeleteObject', ], - 'ListObjects' => [ - 'summary' => 'Queries the information about all objects in a bucket.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancers' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -33965,756 +22165,842 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '119378', - 'abilityTreeNodes' => [ - 'FEATUREensTK769B', - ], + 'abilityTreeCode' => '14851', + 'abilityTreeNodes' => ['FEATUREensU6BJRP'], ], 'parameters' => [ [ - 'name' => 'BucketName', + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => false, 'example' => 'cn-guangzhou-10', 'title' => ''], + ], + [ + 'name' => 'ServerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the backend server.', 'type' => 'string', 'required' => false, 'example' => 'i-5f67ffjc004wwz0t****', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerStatus', 'in' => 'query', 'schema' => [ - 'title' => 'Bucket名称', - 'description' => 'The name of the bucket.'."\n", + 'description' => 'The status of the load balancer. Valid values:'."\n" + ."\n" + .'- **Active**: The listeners on the instance forward incoming traffic according to their rules.'."\n" + ."\n" + .'- **Inactive**: The listeners on the instance no longer forward incoming traffic.', 'type' => 'string', - 'required' => true, - 'example' => 'test', + 'enum' => ['InActive', 'Active', 'Locked', 'Releasing'], + 'required' => false, + 'example' => 'InActive', + 'title' => '', + ], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-5q73cv04zeyh43lh74lp4****', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the load balancer instance.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'example', 'title' => ''], + ], + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => false, 'example' => 'n-5s9ayrxsd9hszrlt5fgv2****', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5sy773iy25rulsmgskmba****', 'title' => ''], + ], + [ + 'name' => 'Address', + 'in' => 'query', + 'schema' => ['description' => 'The service address of the load balancer instance.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + ], + [ + 'name' => 'EnsRegionIds', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'A list of ENS node IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Valid values: **10** to **100**. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the load balancer instance.', + 'type' => 'string', + 'enum' => ['CLB', 'InternetDR'], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page. The default value is 10. Valid values: **10** to **100**.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LoadBalancers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LoadBalancer' => [ + 'description' => 'The list of ELB instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the ELB instance.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'example' => 'lb-5snthcyu1x10g7tywj7iu****', 'title' => ''], + 'LoadBalancerName' => ['description' => 'The name of the ELB instance.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'LoadBalancerStatus' => ['description' => 'The status of the ELB instance. Valid values:'."\n" + ."\n" + .'- **Active**: The listeners of the instance can forward received traffic based on the rules.'."\n" + ."\n" + .'- **Inactive**: The listeners of the instance no longer forward received traffic.', 'type' => 'string', 'example' => 'InActive', 'title' => ''], + 'Address' => ['description' => 'The service address of the ELB instance.', 'type' => 'string', 'example' => '10.10.XX.XX', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-wuhan-telecom', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5rz0rj1caexauilpsjx0w****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-5rllcjb3ol6duzjdnbm1om****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the ELB instance was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-05-06T11:13:41Z', 'title' => ''], + 'AddressIPVersion' => ['description' => 'The IP version. Valid values: **ipv4** and **ipv6**.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + 'PayType' => ['description' => 'The billing method of the instance. Valid values:'."\n" + ."\n" + .'- **PrePaid**: subscription'."\n" + ."\n" + .'- **PostPaid**: pay-as-you-go. This is currently the only supported billing method.', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'LoadBalancerType' => ['description' => 'The type of the ELB instance.', 'type' => 'string', 'default' => 'CLB', 'title' => '', 'example' => ''], + 'AddressType' => ['description' => 'The address type.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The list of ELB instances.', + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], - [ - 'name' => 'EncodingType', - 'in' => 'query', - 'schema' => [ - 'title' => '请求响应体中文件名称采用的编码方式,目前仅支持URL', - 'description' => 'The encoding type of the object names in the response. Only URL encoding is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'url', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], ], - [ - 'name' => 'Marker', - 'in' => 'query', - 'schema' => [ - 'title' => '否 此次列举文件的起点。设定从Marker之后按字母排序开始返回Object。Marker用来实现分页显示效果,参数的长度必须小于1024字节。'."\n" - .'做条件查询时,即使Marker在列表中不存在,也会从符合Marker字母排序的下一个开始打印。', - 'description' => 'The position from which the list operation starts. If this parameter is specified, objects whose names are alphabetically greater than value of Marker are returned. The Marker parameter is used to list the returned objects by page, and its value must be smaller than 1,024 bytes in length.'."\n" - ."\n" - .'Even if the value specified for Marker does not exist in the list during a conditional query, the list starts from the object whose name is alphabetically greater than the value of Marker.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'a', - ], + ], + 'title' => 'DescribeLoadBalancers', + 'summary' => 'Retrieves a list of your Load Balancer instances.', + 'description' => '- API call rate: 100 requests per second.'."\n" + ."\n" + .'- Per-user call rate: 10 requests per second.', + 'changeSet' => [ + ['createdAt' => '2025-06-19T07:40:36.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], + ['createdAt' => '2025-03-27T03:09:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-02-11T03:36:32.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-01-22T06:18:13.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancers'], ], + ], + 'ramActions' => [ [ - 'name' => 'MaxKeys', - 'in' => 'query', - 'schema' => [ - 'title' => '限定此次列举文件的最大个数。'."\n" - .'取值范围 (0, 1000],默认值为100。', - 'description' => 'The maximum number of objects to return. Valid values: 0 to 1000. Default value: 100.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 100,\\n \\"TotalCount\\": 1,\\n \\"LoadBalancers\\": {\\n \\"LoadBalancer\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5snthcyu1x10g7tywj7iu****\\",\\n \\"LoadBalancerName\\": \\"example\\",\\n \\"LoadBalancerStatus\\": \\"InActive\\",\\n \\"Address\\": \\"10.10.XX.XX\\",\\n \\"EnsRegionId\\": \\"cn-wuhan-telecom\\",\\n \\"NetworkId\\": \\"n-5rz0rj1caexauilpsjx0w****\\",\\n \\"VSwitchId\\": \\"vsw-5rllcjb3ol6duzjdnbm1om****\\",\\n \\"CreateTime\\": \\"2021-05-06T11:13:41Z\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"PayType\\": \\"PostPaid\\",\\n \\"LoadBalancerType\\": \\"\\",\\n \\"AddressType\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeMeasurementData' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Prefix', - 'in' => 'query', - 'schema' => [ - 'title' => '限定返回的文件必须以prefix作为前缀。'."\n" - .'参数的长度必须小于1024字节。'."\n" - .'使用Prefix查询时,返回的Key中仍会包含Prefix。', - 'description' => 'The prefix that must be included in the names of objects you want to list. If you specify a prefix to query objects, the returned object names contain the prefix.'."\n" - ."\n" - .'The value of the parameter must be less than 1,000 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'b', - ], + 'AK' => [], ], + ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'ContinuationToken', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'title' => '否 此次列举文件使用的continuationToken。如果Max-keys的设定无法一次完成列举,返回结果会附加NextContinuationToken作为下一次列举的ContinuationToken。', - 'description' => 'The token used in this list operation. If the number of objects exceeds the value of MaxKeys, the NextContinuationToken is included in the response as the token for the next list operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test1.txt', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2019-06-01T00:00:00Z', 'title' => ''], ], [ - 'name' => 'StartAfter', + 'name' => 'EndDate', 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2019-08-30T00:00:00Z', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '此次列举文件的起点。设定从Start-after之后按字母排序开始返回Object。Start-after用来实现分页显示效果,参数的长度必须小于1024字节。'."\n" - .'做条件查询时,即使Start-after在列表中不存在,也会从符合Start-after字母排序的下一个开始打印。', - 'description' => 'The position from which the list operation starts. If this parameter is specified, objects whose names are alphabetically greater than the value of StartAfter are returned. The StartAfter parameter is used to list the returned objects by page, and its value must be less than 1,000 bytes in length. Even if the value specified for StartAfter does not exist in the list during a conditional query, the list starts from the object whose name is alphabetically greater than the value of StartAfter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'b', + 'type' => 'object', + 'properties' => [ + 'MeasurementDatas' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MeasurementData' => [ + 'description' => 'The metering data returned.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'BandWidthFeeDatas' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BandWidthFeeData' => [ + 'description' => 'The bandwidth data returned.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CostCode' => ['description' => 'The code of the bandwidth plan.', 'type' => 'string', 'example' => 'cn-cmcc-1', 'title' => ''], + 'CostName' => ['description' => 'The name of the bandwidth plan.', 'type' => 'string', 'example' => '北上广移动', 'title' => ''], + 'CostVal' => ['description' => 'The bandwidth consumption. Unit: bit/second.', 'type' => 'integer', 'format' => 'int32', 'example' => '16486', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ChargeModel' => ['description' => 'The metering method. Valid values:'."\n" + ."\n" + .'- ChargeByUnified: unified metering.'."\n" + ."\n" + .'- ChargeByGrade: differential metering.', 'type' => 'string', 'example' => 'ChargeByGrade', 'title' => ''], + 'CostCycle' => ['description' => 'The metering cycle.', 'type' => 'string', 'example' => '2019-07-30', 'title' => ''], + 'CostEndTime' => ['description' => 'The end time of the metering cycle.', 'type' => 'string', 'example' => '2019-07-30T16:00:00Z', 'title' => ''], + 'CostStartTime' => ['description' => 'The start time of the metering cycle.', 'type' => 'string', 'example' => '2019-07-29T16:00:00Z', 'title' => ''], + 'ResourceFeeData' => [ + 'description' => 'The information about computing resources.', + 'type' => 'object', + 'properties' => [ + 'Memory' => ['description' => 'The memory size. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '24', 'title' => ''], + 'Storage' => ['description' => 'The storage capacity. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'Vcpu' => ['description' => 'The number of vCPUs.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ResourceFeeDataDetails' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ResourceFeeDataDetail' => [ + 'description' => 'Details of the computing resources.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CostCode' => ['description' => 'The code of the resource.', 'type' => 'string', 'example' => 'vCPU', 'title' => ''], + 'CostName' => ['description' => 'The name of the resource.', 'type' => 'string', 'example' => 'vCPU', 'title' => ''], + 'CostVal' => ['description' => 'The consumption of the resource.'."\n" + ."\n" + .'- Memory unit: GB.'."\n" + ."\n" + .'- CPU unit: vCPU.'."\n" + ."\n" + .'- Storage unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '55', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the resource.', 'type' => 'string', 'example' => 'vCPU', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'CommonPrefixes' => [ - 'title' => '如果请求中指定了Delimiter参数,则会在返回的响应中包含CommonPrefixes元素。该元素表明以Delimiter结尾,并有共同前缀的Object名称的集合。', - 'description' => 'If the delimiter parameter is specified in the request, the response contains CommonPrefixes. Objects whose names contain the same string from the prefix to the next occurrence of the delimiter are grouped as a single result element in CommonPrefixes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'If the delimiter parameter is specified in the request, the response contains CommonPrefixes. Objects whose names contain the same string from the prefix to the next occurrence of the delimiter are grouped as a single result element in CommonPrefixes.'."\n", - 'type' => 'string', - 'example' => 'N/A', - ], - ], - 'NextContinuationToken' => [ - 'title' => '下次列举文件的ContinuationToken。', - 'description' => 'The token used in the next list operation.'."\n", - 'type' => 'string', - 'example' => 'CgJiYw--', - ], - 'ContinuationToken' => [ - 'title' => '此次列举文件操作使用ContinuationToken', - 'description' => 'The token used in this list operation.'."\n", - 'type' => 'string', - 'example' => 'test1.txt', - ], - 'Delimiter' => [ - 'title' => '对文件名称进行分组的字符', - 'description' => 'The character used to group objects by name.'."\n", - 'type' => 'string', - 'example' => '/', - ], - 'EncodingType' => [ - 'title' => '指明返回结果中编码使用的类型。', - 'description' => 'The encoding type of the object names in the response.'."\n", - 'type' => 'string', - 'example' => 'N/A', - ], - 'Prefix' => [ - 'title' => '本次查询结果的前缀', - 'description' => 'The prefix contained in the names of returned objects.'."\n", - 'type' => 'string', - 'example' => 'b', - ], - 'Marker' => [ - 'title' => '标明本次列举文件的起点', - 'description' => 'The position from which the list operation starts.'."\n", - 'type' => 'string', - 'example' => 'ceshi.txt1617853707991', - ], - 'BucketName' => [ - 'title' => 'Bucket名称', - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Contents' => [ - 'title' => 'Object元信息列表', - 'description' => 'The list of object metadata.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => 'Object名称', - 'description' => 'The name of the object.'."\n", - 'type' => 'string', - 'example' => 'ceshi.txt1617853706546', - ], - 'LastModified' => [ - 'title' => 'Object最后被修改的时间。'."\n" - .'(格式:yyyy-mm-ddThh:mm:ss.timezone, 例如 2011-12-01T12:27:13.000Z)', - 'description' => 'The time when the object was last modified.'."\n", - 'type' => 'string', - 'example' => '2021-04-08T03:48:47.488Z', - ], - 'ETag' => [ - 'title' => '否 ETag在每个Object生成时创建,用于标识一个Object的内容。'."\n" - .'对于PutObject请求创建的Object,ETag值是其内容的MD5值。'."\n" - .'对于其他方式创建的Object,ETag值是其内容的UUID。'."\n" - .'ETag值可以用于检查Object内容是否发生变化。不建议使用ETag值作为Object内容的MD5校验数据完整性的依据。', - 'description' => 'The entity tag (ETag). When an object is created, an ETag is created to identify the content of the object.'."\n" - ."\n" - .'* For an object that is created by calling the PutObject operation, the ETag value of the object is the MD5 hash of the object content.'."\n" - .'* For an object that is not created by calling the PutObject operation, the ETag value of the object is the UUID of the object content.'."\n" - .'* The ETag of an object can be used to check whether the object content is modified. However, we recommend that you use the MD5 hash of an object rather than the ETag value of the object to verify data integrity.'."\n", - 'type' => 'string', - 'example' => '5B3C1A2E053D763E1B002CC607C5****', - ], - 'Size' => [ - 'title' => 'Object的字节数', - 'description' => 'The size of the returned object. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15', - ], - ], - ], - ], - 'IsTruncated' => [ - 'title' => '指明列举文件是否被截断。'."\n" - .'列举完没有截断,返回值为false。'."\n" - .'没列举完就有截断,返回值为true。', - 'description' => 'Indicates whether the listed objects are truncated. Valid values:'."\n" - ."\n" - .'* **false**'."\n" - .'* **true**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'KeyCount' => [ - 'description' => 'The number of keys returned for this request.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'NextMarker' => [ - 'title' => '下一次列举文件的起点。', - 'description' => 'The position from which the next list operation starts.'."\n", - 'type' => 'string', - 'example' => 'ceshi.txt1617853707991', - ], - 'MaxKeys' => [ - 'title' => '列举文件的最大个数,默认值为100', - 'description' => 'The maximum number of objects returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4833C4AC-9396-458C-8F25-1D701334E560', - ], - ], - 'description' => '', - ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DescribeMeasurementData', + 'summary' => 'Queries the metering data of the user.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '带宽代码和名称如下所示。'."\n" + ."\n" + .'cn-telecom-1:北上广电信'."\n" + ."\n" + .'cn-telecom-2:地区中心电信'."\n" + ."\n" + .'cn-telecom-3:一般城市电信'."\n" + ."\n" + .'cn-unicom-1:北上广联通'."\n" + ."\n" + .'cn-unicom-2:地区中心联通'."\n" + ."\n" + .'cn-unicom-3:一般城市联通'."\n" + ."\n" + .'cn-cmcc-1:北上广移动'."\n" + ."\n" + .'cn-cmcc-2:地区中心移动'."\n" + ."\n" + .'cn-cmcc-3:一般城市移动'."\n" + ."\n" + .'cn-other:全国的中小ISP'."\n" + ."\n" + .'cn-beijing-telecom-unit:北京电信'."\n" + ."\n" + .'cn-beijing-unicom-unit:北京联通'."\n" + ."\n" + .'cn-beijing-cmcc-unit:北京移动'."\n" + ."\n" + .'cn-changchun-telecom-unit:长春电信'."\n" + ."\n" + .'cn-changchun-unicom-unit:长春联通'."\n" + ."\n" + .'cn-changchun-cmcc-unit:长春移动'."\n" + ."\n" + .'cn-changsha-telecom-unit:长沙电信'."\n" + ."\n" + .'cn-changsha-unicom-unit:长沙联通'."\n" + ."\n" + .'cn-changsha-cmcc-unit:长沙移动'."\n" + ."\n" + .'cn-changzhou-telecom-unit:常州电信'."\n" + ."\n" + .'cn-chengdu-telecom-unit:成都电信'."\n" + ."\n" + .'cn-chengdu-unicom-unit:成都联通'."\n" + ."\n" + .'cn-chengdu-cmcc-unit:成都移动'."\n" + ."\n" + .'cn-chongqing-telecom-unit:重庆电信'."\n" + ."\n" + .'cn-chongqing-unicom-unit:重庆联通'."\n" + ."\n" + .'cn-chongqing-cmcc-unit:重庆移动'."\n" + ."\n" + .'cn-dalian-telecom-unit:大连电信'."\n" + ."\n" + .'cn-dalian-unicom-unit:大连联通'."\n" + ."\n" + .'cn-dalian-cmcc-unit:大连移动'."\n" + ."\n" + .'cn-dongguan-telecom-unit:东莞电信'."\n" + ."\n" + .'cn-foshan-telecom-unit:佛山电信'."\n" + ."\n" + .'cn-fuzhou-telecom-unit:福州电信'."\n" + ."\n" + .'cn-fuzhou-unicom-unit:福州联通'."\n" + ."\n" + .'cn-fuzhou-cmcc-unit:福州移动'."\n" + ."\n" + .'cn-guangzhou-telecom-unit:广州电信'."\n" + ."\n" + .'cn-guangzhou-unicom-unit:广州联通'."\n" + ."\n" + .'cn-guangzhou-cmcc-unit:广州移动'."\n" + ."\n" + .'cn-guiyang-telecom-unit:贵阳电信'."\n" + ."\n" + .'cn-guiyang-unicom-unit:贵阳联通'."\n" + ."\n" + .'cn-guiyang-cmcc-unit:贵阳移动'."\n" + ."\n" + .'cn-haerbin-telecom-unit:哈尔滨电信'."\n" + ."\n" + .'cn-haerbin-unicom-unit:哈尔滨联通'."\n" + ."\n" + .'cn-haerbin-cmcc-unit:哈尔滨移动'."\n" + ."\n" + .'cn-haikou-telecom-unit:海口电信'."\n" + ."\n" + .'cn-haikou-unicom-unit:海口联通'."\n" + ."\n" + .'cn-haikou-cmcc-unit:海口移动'."\n" + ."\n" + .'cn-hefei-telecom-unit:合肥电信'."\n" + ."\n" + .'cn-hefei-unicom-unit:合肥联通'."\n" + ."\n" + .'cn-hefei-cmcc-unit:合肥移动'."\n" + ."\n" + .'cn-hohhot-telecom-unit:呼和浩特电信'."\n" + ."\n" + .'cn-hohhot-unicom-unit:呼和浩特联通'."\n" + ."\n" + .'cn-hohhot-cmcc-unit:呼和浩特移动'."\n" + ."\n" + .'cn-jiamusi-unicom-unit:佳木斯联通'."\n" + ."\n" + .'cn-jinan-telecom-unit:济南电信'."\n" + ."\n" + .'cn-jinan-unicom-unit:济南联通'."\n" + ."\n" + .'cn-jinan-cmcc-unit:济南移动'."\n" + ."\n" + .'cn-jingzhou-telecom-unit:荆州电信'."\n" + ."\n" + .'cn-kunming-telecom-unit:昆明电信'."\n" + ."\n" + .'cn-kunming-unicom-unit:昆明联通'."\n" + ."\n" + .'cn-kunming-cmcc-unit:昆明移动'."\n" + ."\n" + .'cn-lanzhou-telecom-unit:兰州电信'."\n" + ."\n" + .'cn-lanzhou-unicom-unit:兰州联通'."\n" + ."\n" + .'cn-lanzhou-cmcc-unit:兰州移动'."\n" + ."\n" + .'cn-lhasa-telecom-unit:拉萨电信'."\n" + ."\n" + .'cn-lhasa-unicom-unit:拉萨联通'."\n" + ."\n" + .'cn-lhasa-cmcc-unit:拉萨移动'."\n" + ."\n" + .'cn-meishan-unicom-unit:眉山联通'."\n" + ."\n" + .'cn-nanchang-telecom-unit:南昌电信'."\n" + ."\n" + .'cn-nanchang-unicom-unit:南昌联通'."\n" + ."\n" + .'cn-nanchang-cmcc-unit:南昌移动'."\n" + ."\n" + .'cn-nanjing-telecom-unit:南京电信'."\n" + ."\n" + .'cn-nanjing-unicom-unit:南京联通'."\n" + ."\n" + .'cn-nanjing-cmcc-unit:南京移动'."\n" + ."\n" + .'cn-nanning-telecom-unit:南宁电信'."\n" + ."\n" + .'cn-nanning-unicom-unit:南宁联通'."\n" + ."\n" + .'cn-nanning-cmcc-unit:南宁移动'."\n" + ."\n" + .'cn-ningbo-unicom-unit:宁波联通'."\n" + ."\n" + .'cn-qingdao-telecom-unit:青岛电信'."\n" + ."\n" + .'cn-qingdao-unicom-unit:青岛联通'."\n" + ."\n" + .'cn-qingdao-cmcc-unit:青岛移动'."\n" + ."\n" + .'cn-shanghai-telecom-unit:上海电信'."\n" + ."\n" + .'cn-shanghai-unicom-unit:上海联通'."\n" + ."\n" + .'cn-shanghai-cmcc-unit:上海移动'."\n" + ."\n" + .'cn-shantou-cmcc-unit:汕头移动'."\n" + ."\n" + .'cn-shenzhen-telecom-unit:深圳电信'."\n" + ."\n" + .'cn-shenzhen-unicom-unit:深圳联通'."\n" + ."\n" + .'cn-shenzhen-cmcc-unit:深圳移动'."\n" + ."\n" + .'cn-shenyang-telecom-unit:沈阳电信'."\n" + ."\n" + .'cn-shenyang-unicom-unit:沈阳联通'."\n" + ."\n" + .'cn-shenyang-cmcc-unit:沈阳移动'."\n" + ."\n" + .'cn-shijiazhuang-telecom-unit:石家庄电信'."\n" + ."\n" + .'cn-shijiazhuang-unicom-unit:石家庄联通'."\n" + ."\n" + .'cn-shijiazhuang-cmcc-unit:石家庄移动'."\n" + ."\n" + .'cn-suihua-unicom-unit:绥化联通'."\n" + ."\n" + .'cn-suzhou-telecom-unit:苏州电信'."\n" + ."\n" + .'cn-taiyuan-telecom-unit:太原电信'."\n" + ."\n" + .'cn-taiyuan-unicom-unit:太原联通'."\n" + ."\n" + .'cn-taiyuan-cmcc-unit:太原移动'."\n" + ."\n" + .'cn-taizhou-telecom-unit:台州电信'."\n" + ."\n" + .'cn-taizhou-unicom-unit:台州联通'."\n" + ."\n" + .'cn-taizhou-cmcc-unit:台州移动'."\n" + ."\n" + .'cn-tianjin-telecom-unit:天津电信'."\n" + ."\n" + .'cn-tianjin-unicom-unit:天津联通'."\n" + ."\n" + .'cn-tianjin-cmcc-unit:天津移动'."\n" + ."\n" + .'cn-tonghua-telecom-unit:通化电信'."\n" + ."\n" + .'cn-urumqi-telecom-unit:乌鲁木齐电信'."\n" + ."\n" + .'cn-urumqi-unicom-unit:乌鲁木齐联通'."\n" + ."\n" + .'cn-urumqi-cmcc-unit:乌鲁木齐移动'."\n" + ."\n" + .'cn-wenzhou-telecom-unit:温州电信'."\n" + ."\n" + .'cn-wuhan-telecom-unit:武汉电信'."\n" + ."\n" + .'cn-wuhan-unicom-unit:武汉联通'."\n" + ."\n" + .'cn-wuhan-cmcc-unit:武汉移动'."\n" + ."\n" + .'cn-wuhu-telecom-unit:芜湖电信'."\n" + ."\n" + .'cn-wuhu-unicom-unit:芜湖联通'."\n" + ."\n" + .'cn-wuxi-telecom-unit:无锡电信'."\n" + ."\n" + .'cn-wuxi-unicom-unit:无锡联通'."\n" + ."\n" + .'cn-wuxi-cmcc-unit:无锡移动'."\n" + ."\n" + .'cn-xiamen-telecom-unit:厦门电信'."\n" + ."\n" + .'cn-xiamen-unicom-unit:厦门联通'."\n" + ."\n" + .'cn-xiamen-cmcc-unit:厦门移动'."\n" + ."\n" + .'cn-xian-telecom-unit:西安电信'."\n" + ."\n" + .'cn-xian-unicom-unit:西安联通'."\n" + ."\n" + .'cn-xian-cmcc-unit:西安移动'."\n" + ."\n" + .'cn-xining-telecom-unit:西宁电信'."\n" + ."\n" + .'cn-xining-unicom-unit:西宁联通'."\n" + ."\n" + .'cn-xining-cmcc-unit:西宁移动'."\n" + ."\n" + .'cn-yinchuan-telecom-unit:银川电信'."\n" + ."\n" + .'cn-yinchuan-unicom-unit:银川联通'."\n" + ."\n" + .'cn-yinchuan-cmcc-unit:银川移动'."\n" + ."\n" + .'cn-zhengzhou-telecom-unit:郑州电信'."\n" + ."\n" + .'cn-zhengzhou-unicom-unit:郑州联通'."\n" + ."\n" + .'cn-zhengzhou-cmcc-unit:郑州移动'."\n" + ."\n" + .'cn-zhongwei-telecom-unit:中卫电信'."\n" + ."\n" + .'cn-zhongwei-unicom-unit:中卫联通', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:45.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMeasurementData'], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'Specified parameter %s is not valid', - ], - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'InvalidPrefix', - 'errorMessage' => 'Specified parameter Prefix is not valid.', - ], - [ - 'errorCode' => 'InvalidStartAfter', - 'errorMessage' => 'Specified parameter StartAfter is not valid.', - ], - [ - 'errorCode' => 'InvalidMarker', - 'errorMessage' => 'Specified parameter Marker is not valid.', - ], - [ - 'errorCode' => 'InvalidDelimiter', - 'errorMessage' => 'Specified parameter Delimiter is not valid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Specified parameter ContinuationToken is incorrect.', - ], - ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], - ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeMeasurementData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"CommonPrefixes\\": [\\n \\"不涉及\\"\\n ],\\n \\"NextContinuationToken\\": \\"CgJiYw--\\",\\n \\"ContinuationToken\\": \\"test1.txt\\",\\n \\"Delimiter\\": \\"/\\",\\n \\"EncodingType\\": \\"不涉及\\",\\n \\"Prefix\\": \\"b\\",\\n \\"Marker\\": \\"ceshi.txt1617853707991\\",\\n \\"BucketName\\": \\"test\\",\\n \\"Contents\\": [\\n {\\n \\"Key\\": \\"ceshi.txt1617853706546\\",\\n \\"LastModified\\": \\"2021-04-08T03:48:47.488Z\\",\\n \\"ETag\\": \\"5B3C1A2E053D763E1B002CC607C5****\\",\\n \\"Size\\": 15\\n }\\n ],\\n \\"IsTruncated\\": true,\\n \\"KeyCount\\": 10,\\n \\"NextMarker\\": \\"ceshi.txt1617853707991\\",\\n \\"MaxKeys\\": 10,\\n \\"RequestId\\": \\"4833C4AC-9396-458C-8F25-1D701334E560\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4833C4AC-9396-458C-8F25-1D701334E560\\n test\\n b\\n 10\\n 10\\n ceshi.txt1617853707991\\n ceshi.txt1617853707991\\n \\n ceshi.txt1617853706546\\n 2021-04-08T03:48:47.488Z\\n 15\\n \\n true\\n","errorExample":""}]', - 'title' => 'ListObjects', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MeasurementDatas\\": {\\n \\"MeasurementData\\": [\\n {\\n \\"BandWidthFeeDatas\\": {\\n \\"BandWidthFeeData\\": [\\n {\\n \\"CostCode\\": \\"cn-cmcc-1\\",\\n \\"CostName\\": \\"北上广移动\\",\\n \\"CostVal\\": 16486\\n }\\n ]\\n },\\n \\"ChargeModel\\": \\"ChargeByGrade\\",\\n \\"CostCycle\\": \\"2019-07-30\\",\\n \\"CostEndTime\\": \\"2019-07-30T16:00:00Z\\",\\n \\"CostStartTime\\": \\"2019-07-29T16:00:00Z\\",\\n \\"ResourceFeeData\\": {\\n \\"Memory\\": 24,\\n \\"Storage\\": 60,\\n \\"Vcpu\\": 12\\n },\\n \\"ResourceFeeDataDetails\\": {\\n \\"ResourceFeeDataDetail\\": [\\n {\\n \\"CostCode\\": \\"vCPU\\",\\n \\"CostName\\": \\"vCPU\\",\\n \\"CostVal\\": 55,\\n \\"ResourceType\\": \\"vCPU\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', ], - 'PutBucketLifecycle' => [ - 'summary' => 'Configures lifecycle rules for objects.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMountTargets' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '130573', - 'abilityTreeNodes' => [ - 'FEATUREensN79QUI', - ], - ], + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'BucketName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], - ], - [ - 'name' => 'RuleId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the rule. The ID of a lifecycle rule can be up to 255 bytes in length.'."\n" - ."\n" - .'* You do not need to configure this parameter when you create a rule. The system automatically generates a unique ID.'."\n" - .'* When you update a rule, you need to specify this parameter. Make sure that the rule specified by RuleId exists. Otherwise, an error occurs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the rule. Valid values:'."\n" - ."\n" - .'* **Enabled**'."\n" - .'* **Disabled**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Enabled', - ], - ], - [ - 'name' => 'Prefix', - 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of a object name. The prefix must be unique.'."\n" - ."\n" - .'* If you specify a prefix, the rule applies only to objects in the bucket that match the prefix.'."\n" - .'* If you do not specify a prefix, the rule applies to all objects in the bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image', - ], - ], - [ - 'name' => 'CreatedBeforeDate', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The expiration time. EOS executes a lifecycle rule for objects that were last updated before the expiration time.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> ExpirationDays and CreateBeforeDate are mutually exclusive.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2023-10-12T05:45:00Z', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing-cmcc', 'title' => ''], ], [ - 'name' => 'ExpirationDays', + 'name' => 'FileSystemId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of days from when the objects were last modified to when the lifecycle rule takes effect. The value must be a positive integer that is greater than 0.'."\n" - ."\n" - .'> ExpirationDays and CreateBeforeDate are mutually exclusive.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'example' => 'c50f8*****', 'title' => ''], ], [ - 'name' => 'AllowSameActionOverlap', + 'name' => 'MountTargetName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to allow overlapped prefixes. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - ], - ], - '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' => '62373E71-5521-4620-8AAB-133CCE49357A', - ], - 'RuleId' => [ - 'description' => 'The ID of the rule.'."\n", - 'type' => 'string', - 'example' => 'b8f93xxxxx4881xxxxxc71d991', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Days and createBeforeDate can only choose one', - ], - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'InvalidLifecycleScheme', - 'errorMessage' => 'Specified parameter LifecycleScheme is not valid.', - ], - [ - 'errorCode' => 'InvalidType', - 'errorMessage' => 'Specified parameter Type is not valid.', - ], - [ - 'errorCode' => 'OperationDenied', - 'errorMessage' => 'Engine lifecycle scheme does\'t support replication lifecycle rule configuration.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], - ], - [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', - ], - [ - 'errorCode' => 'NoSuchLifecycle', - 'errorMessage' => 'The bucket lifecycle does not exist.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"62373E71-5521-4620-8AAB-133CCE49357A\\",\\n \\"RuleId\\": \\"b8f93xxxxx4881xxxxxc71d991\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 62373E71-5521-4620-8AAB-133CCE49357A\\n","errorExample":""}]', - 'title' => 'PutBucketLifecycle', - 'description' => '* You can configure up to 1,000 rules.'."\n" - .'* If an object meets multiple rules, the rule that has the earliest expiration time prevails.'."\n", - ], - 'DeleteBucketLifecycle' => [ - 'summary' => 'Deletes the lifecycle rules for objects in a bucket.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '130575', - 'abilityTreeNodes' => [ - 'FEATUREensN79QUI', + 'schema' => ['description' => 'The name of the mount target.', 'type' => 'string', 'example' => 'TestMountPath', 'title' => '', 'required' => false], ], - ], - 'parameters' => [ [ - 'name' => 'BucketName', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1. Default value: 1', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], ], [ - 'name' => 'RuleId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the rule. If this parameter is not specified, all rules are removed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The number of entries returned per page. Maximum value: 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C6583E8B-B930-4F59-ADC0-0E209A45E860', + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], + 'TotalCount' => ['description' => 'The total number of mount targets.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'MountTargets' => [ + 'title' => '', + 'description' => 'The information about mount targets.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'MountTargetDomain' => ['description' => 'The path of the mount target.', 'type' => 'string', 'title' => '', 'example' => 'LB:/fileSystemName/mountTargetName'], + 'MountTargetName' => ['description' => 'The name of the mount target.', 'type' => 'string', 'title' => '', 'example' => 'TestMountPath'], + 'NetWorkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'title' => '', 'example' => 'n-***'], + 'Status' => ['description' => 'The state of the mount target. Valid values:'."\n" + ."\n" + .'- active: The mount target is available.'."\n" + ."\n" + .'- inactive: The mount target is unavailable.'."\n" + ."\n" + .'- pending: A task is being queued for the mount target.'."\n" + ."\n" + .'- deleting: The mount target is being deleted.', 'type' => 'string', 'title' => '', 'example' => 'active'], + 'EnsRegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'title' => '', 'example' => 'cn-beijing-cmcc'], + 'FileSystemId' => ['description' => 'The ID of the file system.', 'type' => 'string', 'title' => '', 'example' => 'c50f8*****'], + ], + 'example' => '', + ], + 'example' => '', ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], - ], - [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', - ], - [ - 'errorCode' => 'NoSuchLifecycle', - 'errorMessage' => 'The bucket lifecycle does not exist.', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '762DD527-358B-1E48-8005-CCE3ED4EB9E0'], + ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C6583E8B-B930-4F59-ADC0-0E209A45E860\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C6583E8B-B930-4F59-ADC0-0E209A45E860\\n","errorExample":""}]', - 'title' => 'DeleteBucketLifecycle', - ], - 'GetBucketLifecycle' => [ - 'summary' => 'Queries lifecycle rules.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '130574', - 'abilityTreeNodes' => [ - 'FEATUREensN79QUI', + 'title' => 'DescribeMountTargets', + 'summary' => 'Queries the information about mount targets.', + 'changeSet' => [ + ['createdAt' => '2022-08-30T06:19:04.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMountTargets'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'BucketName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'tese', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeMountTargets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 0,\\n \\"PageSize\\": 2,\\n \\"TotalCount\\": 1,\\n \\"MountTargets\\": [\\n {\\n \\"MountTargetDomain\\": \\"LB:/fileSystemName/mountTargetName\\",\\n \\"MountTargetName\\": \\"TestMountPath\\",\\n \\"NetWorkId\\": \\"n-***\\",\\n \\"Status\\": \\"active\\",\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"FileSystemId\\": \\"c50f8*****\\"\\n }\\n ],\\n \\"RequestId\\": \\"762DD527-358B-1E48-8005-CCE3ED4EB9E0\\"\\n}","type":"json"}]', + ], + 'DescribeNASAvailableResourceInfo' => [ + 'summary' => 'Query the resources that you can purchase when creating a NAS file system.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RuleId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the rule that you want to query. If this parameter is not specified, all rules are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Response information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A2583E8B-B930-4F59-ADC0-0E209A90C46E', - ], - 'Rule' => [ - 'description' => 'The detailed information about the rule.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74'], + 'Code' => ['description' => 'Business status code. Returns 0 on success.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'you are not authorized to this workspace, or workspace not exists.', 'title' => ''], + 'NasAvailableResourceInfo' => [ + 'description' => 'Available NAS resource information.', 'type' => 'array', 'items' => [ + 'description' => 'Array of available NAS resource information.', 'type' => 'object', 'properties' => [ - 'ID' => [ - 'description' => 'The unique ID of the rule.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Expiration' => [ - 'description' => 'The expiration time.'."\n", - 'type' => 'object', - 'properties' => [ - 'Days' => [ - 'description' => 'The validity period, in days.'."\n", - 'type' => 'string', - 'example' => '5', - ], - 'CreatedBeforeDate' => [ - 'description' => 'The expiration date.'."\n", - 'type' => 'string', - 'example' => 'yyy-MM-DDThh:mm:ssZ', - ], - ], - ], - 'Prefix' => [ - 'description' => 'The prefix that is applied to the rule.'."\n", - 'type' => 'string', - 'example' => 'image', - ], - 'Status' => [ - 'description' => 'The status of the rule. Valid values:'."\n" - ."\n" - .'* **Enabled**: The rule is periodically executed.'."\n" - .'* **Disabled**: The rule is ignored.'."\n", - 'type' => 'string', - 'example' => 'Enabled', + 'EnsRegionId' => ['description' => 'ENS edge zone ID.', 'type' => 'string', 'example' => 'cn-chenzhou-telecom_unicom_cmcc', 'title' => ''], + 'NasAvailableAmount' => ['description' => 'Available NAS resource count.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'NasAvailableStorgeType' => ['description' => 'Available NAS resource type.', 'type' => 'string', 'example' => 'capacity', 'title' => ''], + 'EnsRegionName' => ['description' => 'ENS edge zone name.', 'type' => 'string', 'example' => 'China Hangzhou36', 'title' => ''], + 'Area' => ['description' => 'Area to which the ENS edge zone belongs.', 'type' => 'string', 'example' => 'SouthWestChina', 'title' => ''], + 'EnName' => ['description' => 'English name.', 'type' => 'string', 'example' => 'cn-chenzhou-telecom_unicom_cmcc', 'title' => ''], + 'Province' => ['description' => 'Province to which the ENS edge zone belongs.', 'type' => 'string', 'example' => '湖北省', 'title' => ''], + 'Ability' => [ + 'description' => 'Edge zone product capabilities.', + 'type' => 'array', + 'items' => ['description' => 'The capabilities of the node product.', 'type' => 'string', 'example' => 'nas', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidBucketName', - 'errorMessage' => 'Specified parameter BucketName is not valid.', - ], - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['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' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"Code\\": \\"0\\",\\n \\"Message\\": \\"you are not authorized to this workspace, or workspace not exists.\\",\\n \\"NasAvailableResourceInfo\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chenzhou-telecom_unicom_cmcc\\",\\n \\"NasAvailableAmount\\": 1,\\n \\"NasAvailableStorgeType\\": \\"capacity\\",\\n \\"EnsRegionName\\": \\"China Hangzhou36\\",\\n \\"Area\\": \\"SouthWestChina\\",\\n \\"EnName\\": \\"cn-chenzhou-telecom_unicom_cmcc\\",\\n \\"Province\\": \\"湖北省\\",\\n \\"Ability\\": [\\n \\"nas\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeNASAvailableResourceInfo', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNASAvailableResourceInfo'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist.', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeNASAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A2583E8B-B930-4F59-ADC0-0E209A90C46E\\",\\n \\"Rule\\": [\\n {\\n \\"ID\\": \\"1\\",\\n \\"Expiration\\": {\\n \\"Days\\": \\"5\\",\\n \\"CreatedBeforeDate\\": \\"yyy-MM-DDThh:mm:ssZ\\"\\n },\\n \\"Prefix\\": \\"image\\",\\n \\"Status\\": \\"Enabled\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n A2583E8B-B930-4F59-ADC0-0E209A90C46E\\n \\n 1\\n \\n yyy-MM-DDThh:mm:ssZ\\n \\n image\\n Enabled\\n \\n","errorExample":""}]', - 'title' => 'GetBucketLifecycle', + 'translator' => 'manual', ], - 'ListBuckets' => [ - 'summary' => 'Queries all buckets of a user.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeNatGateways' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -34726,1330 +23012,1725 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '119373', - 'abilityTreeNodes' => [ - 'FEATUREensXAKQAP', - ], + 'abilityTreeCode' => '128812', + 'abilityTreeNodes' => ['FEATUREensRGDWBB'], ], 'parameters' => [ [ - 'name' => 'Prefix', + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'required' => false, 'example' => 'cn-wuxi-9', 'title' => ''], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'required' => false, 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], + ], + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => false, 'example' => 'n-2zeuphj08tt7q3brd****', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5rllcjb3ol6duzjdnbm1o****', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the NAT gateway.', 'type' => 'string', 'required' => false, 'example' => 'test0', 'title' => ''], + ], + [ + 'name' => 'NatGatewayIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => '限定返回的bucket name必须以prefix作为前缀,可以不设定。不设定时则不过滤前缀信息。'."\n" - .'默认值:无', - 'description' => 'The prefix that returned bucket names must contain. If this parameter is not specified, prefix information will not be used as a filter.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the NAT gateways. You can specify 1 to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'required' => false, 'example' => 'nat-5****4ik', 'title' => ''], 'required' => false, - 'example' => 'image', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => '', - 'description' => 'The page number. Pages start from page 1.'."\n", - 'type' => 'string', + 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], 'required' => false, - 'example' => '1', - 'pattern' => '^\\d+$', + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page **1**.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => 'The maximum number of returned buckets. You can leave this parameter empty. The default value is 10. The value cannot be greater than 100.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5', - 'pattern' => '^\\d+$', - ], + 'schema' => ['description' => 'The number of entries per page. The maximum value is **100**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '435769C7-AA6F-4DC5-B3DB-A3DC0DE7E853', - ], - 'BucketInfos' => [ - 'title' => 'Bucket信息列表', - 'description' => 'The list of bucket information.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '2818A8F4-5E2B-5611-8732-5ACF7B677059'], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The number of NAT gateways that are returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '49', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'NatGateways' => [ + 'description' => 'The details of the NAT gateways.', 'type' => 'array', 'items' => [ + 'description' => 'The details of the NAT gateway.', 'type' => 'object', 'properties' => [ - 'BucketAcl' => [ - 'description' => 'The access control list (ACL) of the bucket.'."\n" - ."\n" - .'* **public-read-write**'."\n" - .'* **public-read**'."\n" - .'* **private** (default)'."\n", - 'type' => 'string', - 'example' => 'private', - ], - 'BucketName' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Comment' => [ - 'description' => 'The remarks.'."\n", - 'type' => 'string', - 'example' => 'numb', - ], - 'CreateTime' => [ - 'description' => 'The time when the bucket 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' => '2022-10-12T05:45:00Z', - ], - 'LogicalBucketType' => [ - 'description' => 'The type of the single-node storage. Set the value to sink.'."\n", - 'type' => 'string', - 'example' => 'sink', - ], - 'ModifyTime' => [ - 'description' => 'The time when the bucket was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-10-12T06:45:00Z', + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-xiangyang-5', 'title' => ''], + 'NatGatewayId' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5s2ml1olj0kzaws9n1yrj****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-5szpp1os9m55myirbflfw****', 'title' => ''], + 'Name' => ['description' => 'The name of the NAT gateway.', 'type' => 'string', 'example' => 'test0', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the NAT gateway was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-11-22T07:03:32Z', 'title' => ''], + 'Spec' => ['description' => 'The type of the NAT gateway.', 'type' => 'string', 'example' => 'enat.default', 'title' => ''], + 'Status' => ['description' => 'The status of the NAT gateway. Valid values:'."\n" + ."\n" + .'- **Creating**: After you send a request to create a NAT gateway, the system creates the NAT gateway in the background. The NAT gateway remains in the Creating state until the operation is completed.'."\n" + ."\n" + .'- **Available**: The NAT gateway is in the Available state after the creation is complete.'."\n" + ."\n" + .'- **Deleting**: After you send a request to delete a NAT gateway, the system deletes the NAT gateway in the background. The NAT gateway remains in the Deleting state until the operation is completed.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'IpLists' => [ + 'description' => 'The EIPs that are associated with the NAT gateway.', + 'type' => 'array', + 'items' => [ + 'description' => 'The EIP that is associated with the NAT gateway.', + 'type' => 'object', + 'properties' => [ + 'UsingStatus' => ['description' => 'The association between the EIP and the Internet NAT gateway. Valid values:'."\n" + ."\n" + .'- **UsedByForwardTable**: The EIP is specified in a DNAT entry.'."\n" + ."\n" + .'- **UsedBySnatTable**: The EIP is specified in an SNAT entry.'."\n" + ."\n" + .'- **Idle**: The EIP is not specified in an SNAT entry or a DNAT entry.', 'type' => 'string', 'example' => 'Idle', 'title' => ''], + 'IpAddress' => ['description' => 'The EIP.', 'type' => 'string', 'example' => '8.XX.XX.162', 'title' => ''], + 'AllocationId' => ['description' => 'The ID of the EIP.', 'type' => 'string', 'example' => 'eip-50g****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'EnsRegionId' => [ - 'description' => 'The ID of the region where the node is located.'."\n", - 'type' => 'string', - 'example' => 'cn-dalian-unicom', + 'Tags' => [ + 'description' => 'The collection of tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of tags.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'Tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + 'Key' => ['description' => 'Tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagKey' => ['description' => 'Tag key.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'Tag value.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestValue', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - ], - 'TotalCount' => [ - 'title' => '命中条件Bucket总数', - 'description' => 'The total number of buckets that match the conditions.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'MissingParameter', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'auth is not valid', - ], - [ - 'errorCode' => 'UserDisable', - 'errorMessage' => 'The user has been disabled due to arrears.', - ], + ], + 'title' => 'Query NAT Gateway properties ', + 'summary' => 'Invoke DescribeNatGateways to query created NAT Gateways.', + 'changeSet' => [ + ['createdAt' => '2025-04-15T05:57:11.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-10T07:51:41.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-13T08:23:30.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-07-28T06:56:03.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-07T16:04:07.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNatGateways'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'NoSuchBucket', - 'errorMessage' => 'The specified bucket does not exist', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNatGateways', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"435769C7-AA6F-4DC5-B3DB-A3DC0DE7E853\\",\\n \\"BucketInfos\\": [\\n {\\n \\"BucketAcl\\": \\"private\\",\\n \\"BucketName\\": \\"test\\",\\n \\"Comment\\": \\"numb\\",\\n \\"CreateTime\\": \\"2022-10-12T05:45:00Z\\",\\n \\"LogicalBucketType\\": \\"sink\\",\\n \\"ModifyTime\\": \\"2022-10-12T06:45:00Z\\",\\n \\"EnsRegionId\\": \\"cn-dalian-unicom\\"\\n }\\n ],\\n \\"TotalCount\\": 1\\n}","errorExample":""},{"type":"xml","example":"\\n 435769C7-AA6F-4DC5-B3DB-A3DC0DE7E853\\n \\n private\\n test\\n numb\\n 2022-10-12T05:45:00Z\\n sink\\n 2022-10-12T06:45:00Z\\n cn-dalian-unicom\\n \\n 1\\n","errorExample":""}]', - 'title' => 'ListBuckets', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2818A8F4-5E2B-5611-8732-5ACF7B677059\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 49,\\n \\"PageSize\\": 10,\\n \\"NatGateways\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-xiangyang-5\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"NetworkId\\": \\"n-5s2ml1olj0kzaws9n1yrj****\\",\\n \\"VSwitchId\\": \\"vsw-5szpp1os9m55myirbflfw****\\",\\n \\"Name\\": \\"test0\\",\\n \\"CreationTime\\": \\"2021-11-22T07:03:32Z\\",\\n \\"Spec\\": \\"enat.default\\",\\n \\"Status\\": \\"Available\\",\\n \\"IpLists\\": [\\n {\\n \\"UsingStatus\\": \\"Idle\\",\\n \\"IpAddress\\": \\"8.XX.XX.162\\",\\n \\"AllocationId\\": \\"eip-50g****\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'GetOssUsageData' => [ - 'summary' => 'Queries the storage and bandwidth usage within a specific time range.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeNetworkAcls' => [ + 'summary' => 'You can invoke the DescribeNetworkAcls API to query created network ACLs.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensF94XEF'], + ], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'NetworkAclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. The time must be in UTC. Format: 2010-01-21T09:50:23Z.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2022-01-11T00:00:00Z', - ], + 'schema' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'required' => false, 'example' => 'nacl-bp1lhl0taikrbgnh****', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'NetworkAclName', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. The time must be in UTC. Format: 2010-01-21T09:50:23Z.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [], - 'example' => '2022-01-12T00:00:00Z', - ], + 'schema' => ['description' => 'The name of the network ACL.', 'type' => 'string', 'required' => false, 'example' => 'acl-1', 'title' => ''], ], [ - 'name' => 'Bucket', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the logical Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens-sink-bucketzyp1656903494', - ], + 'schema' => ['description' => 'The ID of the associated instance.', 'type' => 'string', 'required' => false, 'example' => 'n-5****', 'title' => ''], ], [ - 'name' => 'Period', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The aggregation granularity. Unit: minutes.'."\n" - ."\n" - .'Default value: 5. Valid values: 5 to 1440.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The page number. Pages start from page **1**. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2A8CCD48-14F9-0309-B957-7B1D74A8119D', - ], - 'UsageList' => [ - 'description' => 'The array of usage data.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A1707FC0-430C-423A-B624-284046B20399', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '3', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'NetworkAcls' => [ + 'description' => 'Details of the network ACLs.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'LanRxBw' => [ - 'description' => 'The inbound bandwidth over the internal network. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '37865147', - ], - 'LanTxBw' => [ - 'description' => 'The outbound bandwidth over the internal network. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '22012187890', - ], - 'Point' => [ - 'description' => 'The number of time points within a day.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '144', - ], - 'PointTs' => [ - 'description' => 'The point in time, in UTC. Format: 2010-01-21T09:50:23Z.'."\n", - 'type' => 'string', - 'example' => '2022-01-12T00:00:00Z', - ], - 'StorageUsageByte' => [ - 'description' => 'The storage usage. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '85462146217', + 'Status' => ['description' => 'The status of the network ACL. Valid values:'."\n" + ."\n" + .'- **Available**: The network ACL is available.'."\n" + ."\n" + .'- **Modifying**: The network ACL is being configured.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the network ACL was created. The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-01T06:08:46Z', 'title' => ''], + 'Description' => ['description' => 'The description of the network ACL.', 'type' => 'string', 'example' => 'This is my NetworkAcl.', 'title' => ''], + 'NetworkAclId' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'example' => 'nacl-a2do9e413e0spxscd****', 'title' => ''], + 'NetworkAclName' => ['description' => 'The name of the network ACL.', 'type' => 'string', 'example' => 'acl-8', 'title' => ''], + 'IngressAclEntries' => [ + 'description' => 'Details of the inbound rules.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Policy' => ['description' => 'The action that is performed on network traffic that matches the rule. Valid values:'."\n" + ."\n" + .'- **accept**: allows the network traffic.'."\n" + ."\n" + .'- **drop**: blocks the network traffic.', 'type' => 'string', 'example' => 'accept', 'title' => ''], + 'NetworkAclEntryId' => ['description' => 'The ID of the inbound rule.', 'type' => 'string', 'example' => 'nae-5dk86arlydmezasw****', 'title' => ''], + 'NetworkAclEntryName' => ['description' => 'The name of the inbound rule.', 'type' => 'string', 'example' => 'acl-3', 'title' => ''], + 'CidrBlock' => ['description' => 'The source CIDR block.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- **icmp**: ICMP.'."\n" + ."\n" + .'- **tcp**: TCP.'."\n" + ."\n" + .'- **udp**: UDP.'."\n" + ."\n" + .'- **all**: all protocols.', 'type' => 'string', 'example' => 'all', 'title' => ''], + 'PortRange' => ['description' => 'The destination port range of the inbound rule.'."\n" + ."\n" + .'- If **Protocol** of the inbound rule is set to **all** or **icmp**, the port range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- If **Protocol** of the inbound rule is set to **tcp** or **udp**, the port range is in the following format: **1/200** or **80/80**. 1/200 indicates port 1 to port 200. 80/80 indicates port 80. Valid values for a port: **1 to 65535**.', 'type' => 'string', 'example' => '-1/-1', 'title' => ''], + 'Priority' => ['description' => 'The priority of the rule. Valid values: **1 to 100**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Type' => ['description' => 'The type of the rule. Valid values:'."\n" + ."\n" + .'- **system**: The rule is created by the system.'."\n" + ."\n" + .'- **custom**: The rule is created by a user.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Description' => ['description' => 'The description of the inbound rule.', 'type' => 'string', 'example' => 'This is IngressAclEntries.', 'title' => ''], + 'DestinationCidrBlock' => ['description' => 'The destination network.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'WanRxBw' => [ - 'description' => 'The outbound bandwidth over the Internet. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '542155715', + 'EgressAclEntries' => [ + 'description' => 'Details of the outbound rules.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Policy' => ['description' => 'The action that is performed on network traffic that matches the rule. Valid values:'."\n" + ."\n" + .'- **accept**: allows the network traffic.'."\n" + ."\n" + .'- **drop**: blocks the network traffic.', 'type' => 'string', 'example' => 'accept', 'title' => ''], + 'NetworkAclEntryId' => ['description' => 'The ID of the outbound rule.', 'type' => 'string', 'example' => 'nae-a2d447uw4tillfvgb****', 'title' => ''], + 'NetworkAclEntryName' => ['description' => 'The name of the outbound rule.', 'type' => 'string', 'example' => 'acl-2', 'title' => ''], + 'CidrBlock' => ['description' => 'The destination CIDR block.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- **icmp**: ICMP.'."\n" + ."\n" + .'- **tcp**: TCP.'."\n" + ."\n" + .'- **udp**: UDP.'."\n" + ."\n" + .'- **all**: all protocols.', 'type' => 'string', 'example' => 'all', 'title' => ''], + 'PortRange' => ['description' => 'The destination port range of the outbound rule.'."\n" + ."\n" + .'- If **Protocol** of the outbound rule is set to **all** or **icmp** the port range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- If **Protocol** of the outbound rule is set to **tcp** or **udp**, the port range is in the following format: **1/200** or **80/80**. 1/200 indicates port 1 to port 200. 80/80 indicates port 80. Valid values for a port: **1 to 65535**.', 'type' => 'string', 'example' => '-1/-1', 'title' => ''], + 'Priority' => ['description' => 'The priority of the rule. Valid values: **1 to 100**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Type' => ['description' => 'The type of the rule. Valid values:'."\n" + ."\n" + .'- **system**: The rule is created by the system.'."\n" + ."\n" + .'- **custom**: The rule is created by a user.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Description' => ['description' => 'The description of the outbound rule.', 'type' => 'string', 'example' => 'This is EgressAclEntries.', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'WanTxBw' => [ - 'description' => 'The outbound bandwidth over the Internet. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '547126175217', + 'Resources' => [ + 'description' => 'Details of the associated resources.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The association status of the resource. Valid values:'."\n" + ."\n" + .'- **BINDED**: The resource is associated with the network ACL.'."\n" + ."\n" + .'- **BINDING**: The resource is being associated with the network ACL.'."\n" + ."\n" + .'- **UNBINDING**: The resource is being disassociated from the network ACL.', 'type' => 'string', 'example' => 'BINDING', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the associated resource.', 'type' => 'string', 'example' => 'Network', 'title' => ''], + 'ResourceId' => ['description' => 'The ID of the associated resource.', 'type' => 'string', 'example' => 'n-****', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-fuzhou-telecom', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ParamNotEnough', - 'errorMessage' => '参数不足', - ], - [ - 'errorCode' => 'ParamScopeError', - 'errorMessage' => '参数值错误', - ], - [ - 'errorCode' => 'ParamTypeError', - 'errorMessage' => '参数类型错误', - ], - [ - 'errorCode' => 'SqlError', - 'errorMessage' => '数据库操作异常', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2A8CCD48-14F9-0309-B957-7B1D74A8119D\\",\\n \\"UsageList\\": [\\n {\\n \\"LanRxBw\\": 37865147,\\n \\"LanTxBw\\": 22012187890,\\n \\"Point\\": 144,\\n \\"PointTs\\": \\"2022-01-12T00:00:00Z\\",\\n \\"StorageUsageByte\\": 85462146217,\\n \\"WanRxBw\\": 542155715,\\n \\"WanTxBw\\": 547126175217\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 2A8CCD48-14F9-0309-B957-7B1D74A8119D\\n \\n 37865147\\n 22012187890\\n 144\\n 2022-01-12T00:00:00Z\\n 85462146217\\n 542155715\\n 547126175217\\n \\n","errorExample":""}]', - 'title' => 'GetOssUsageData', - 'description' => 'The query and aggregation granularity of bandwidth and storage usage cannot exceed one day. Data aggregation is to collect the maximum values of usage data within a period of time.'."\n", - ], - 'GetOssStorageAndAccByBuckets' => [ - 'summary' => 'Queries the storage usage in the previous billing cycle and the cumulative number of calls in this month.', - 'methods' => [ - 'get', + 'title' => 'View the list of network ACLs', + 'changeSet' => [ + ['createdAt' => '2025-05-20T08:07:26.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2022-09-08T05:56:37.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworkAcls'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworkAcls', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A1707FC0-430C-423A-B624-284046B20399\\",\\n \\"TotalCount\\": \\"3\\",\\n \\"PageSize\\": \\"2\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"NetworkAcls\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"Description\\": \\"This is my NetworkAcl.\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spxscd****\\",\\n \\"NetworkAclName\\": \\"acl-8\\",\\n \\"IngressAclEntries\\": [\\n {\\n \\"Policy\\": \\"accept\\",\\n \\"NetworkAclEntryId\\": \\"nae-5dk86arlydmezasw****\\",\\n \\"NetworkAclEntryName\\": \\"acl-3\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Protocol\\": \\"all\\",\\n \\"PortRange\\": \\"-1/-1\\",\\n \\"Priority\\": 1,\\n \\"Type\\": \\"system\\",\\n \\"Description\\": \\"This is IngressAclEntries.\\",\\n \\"DestinationCidrBlock\\": \\"10.0.0.0/24\\"\\n }\\n ],\\n \\"EgressAclEntries\\": [\\n {\\n \\"Policy\\": \\"accept\\",\\n \\"NetworkAclEntryId\\": \\"nae-a2d447uw4tillfvgb****\\",\\n \\"NetworkAclEntryName\\": \\"acl-2\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Protocol\\": \\"all\\",\\n \\"PortRange\\": \\"-1/-1\\",\\n \\"Priority\\": 1,\\n \\"Type\\": \\"system\\",\\n \\"Description\\": \\"This is EgressAclEntries.\\"\\n }\\n ],\\n \\"Resources\\": [\\n {\\n \\"Status\\": \\"BINDING\\",\\n \\"ResourceType\\": \\"Network\\",\\n \\"ResourceId\\": \\"n-****\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-telecom\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeNetworkAttribute' => [ + 'summary' => 'Use DescribeNetworkAttribute to query the configuration of a specific network.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '15785', + 'abilityTreeNodes' => ['FEATUREensJ76HWH'], + ], 'parameters' => [ [ - 'name' => 'BucketList', + 'name' => 'NetworkId', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my-bucket', - ], + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => true, 'example' => 'n-****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '112F4860-F1B2-58DD-8FC0-75F19DA1C4BF', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'NetworkId' => ['description' => 'The network ID.', 'type' => 'string', 'example' => 'n-5***', 'title' => ''], + 'NetworkName' => ['description' => 'The network name.', 'type' => 'string', 'example' => 'abc', 'title' => ''], + 'CidrBlock' => ['description' => 'The IPv4 CIDR block of the network.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], + 'Status' => ['description' => 'The status of the network. Valid values:'."\n" + ."\n" + .'- Pending: The network is being configured.'."\n" + ."\n" + .'- Available: The network is ready for use.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'Description' => ['description' => 'The description of the network.', 'type' => 'string', 'example' => 'abc', 'title' => ''], + 'CreatedTime' => ['description' => 'The time at which the network was created. The time is in UTC and is formatted as yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2019-06-01T00:00:00Z', 'title' => ''], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => 'A list of VSwitch IDs associated with the network.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a VSwitch.', 'type' => 'string', 'example' => '{"VSwitchId": [ "vsw-bp14cagpfysr29feg****" ]}', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'BucketList' => [ - 'description' => 'The information about the bucket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Acc' => [ - 'description' => 'The number of times that the bucket is accessed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'Bucket' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'example' => 'my-bucket', + 'CloudResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CloudResourceSetType' => [ + 'description' => 'A list of resources in the network.', + 'type' => 'array', + 'items' => [ + 'description' => 'A summary for a specific type of resource.', + 'type' => 'object', + 'properties' => [ + 'ResourceCount' => ['description' => 'The number of resources of this type.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the resource. Example: VSwitch.', 'type' => 'string', 'example' => 'VSwitch', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'StorageUsageByte' => [ - 'description' => 'The storage usage of the bucket. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RouterTableId' => ['description' => 'The route table ID.', 'type' => 'string', 'example' => 'rtb-5***', 'title' => ''], + 'NetworkAclId' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'example' => 'nacl-a2do9e413e0sp****', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'A list of instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an instance.', 'type' => 'string', 'example' => 'i-5****vbfdpyrbi', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RouteTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteTableId' => [ + 'description' => 'A list of route table IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a route table.', 'type' => 'string', 'example' => 'rt-5****8uz', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NetworkInterfaceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterfaceId' => [ + 'description' => 'A list of elastic network interface IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an elastic network interface.', 'type' => 'string', 'example' => 'eni-5*****8vyk', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LoadBalancerId' => [ + 'description' => 'A list of load balancer instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a load balancer instance.', 'type' => 'string', 'example' => 'lb-5****2uk', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NatGatewayIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NatGatewayId' => [ + 'description' => 'A list of NAT gateway IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a NAT gateway.', 'type' => 'string', 'example' => 'nat-5****4ik', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'HaVipIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HaVipId' => [ + 'description' => 'A list of HA VIP instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an HA VIP instance.', 'type' => 'string', 'example' => 'havip-5****4aof', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RouteTableId' => ['description' => 'The route table ID.', 'type' => 'string', 'example' => 'rt-539***fpu', 'title' => ''], + 'GatewayRouteTableId' => ['description' => 'The gateway route table ID.', 'type' => 'string', 'example' => 'rt-539***tbs', 'title' => ''], + 'SecondaryCidrBlocks' => [ + 'itemNode' => true, + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SecondaryCidrBlock' => [ + 'description' => 'A list of secondary CIDR blocks.', + 'type' => 'array', + 'items' => ['description' => 'A secondary CIDR block.', 'type' => 'string', 'example' => '172.XX.XX.0/12', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Ipv6CidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6CidrBlock' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Isp' => ['type' => 'string', 'example' => 'telecom', 'description' => '', 'title' => ''], + 'Ipv6CidrBlock' => ['type' => 'string', 'example' => '2408:XXXX:0:a600::/110', 'description' => '', 'title' => ''], + 'Type' => ['type' => 'string', 'example' => 'system', 'description' => '', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ParamNotEnough', - 'errorMessage' => '参数不足', - ], - [ - 'errorCode' => 'ParamScopeError', - 'errorMessage' => '参数值错误', - ], - [ - 'errorCode' => 'ParamTypeError', - 'errorMessage' => '参数类型错误', - ], - [ - 'errorCode' => 'SqlError', - 'errorMessage' => '数据库操作异常', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NetworkNotFound', 'errorMessage' => 'The specified network is not found.', 'description' => 'Network not found, please check network id.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"112F4860-F1B2-58DD-8FC0-75F19DA1C4BF\\",\\n \\"BucketList\\": [\\n {\\n \\"Acc\\": 1000,\\n \\"Bucket\\": \\"my-bucket\\",\\n \\"StorageUsageByte\\": 1024\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'GetOssStorageAndAccByBuckets', - ], - 'DescribeStorageGateway' => [ - 'summary' => 'Queries storage gateways.', - 'methods' => [ - 'get', - 'post', + 'title' => 'Query Network Information ', + 'description' => '- API rate limit: 100 calls/sec.'."\n" + ."\n" + .'- Per-user rate limit: 10 calls/sec.', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:28.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-12-26T08:26:40.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2022-09-08T05:56:36.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworkAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworkAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"EnsRegionId\\": \\"cn-beijing\\",\\n \\"NetworkId\\": \\"n-5***\\",\\n \\"NetworkName\\": \\"abc\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"abc\\",\\n \\"CreatedTime\\": \\"2019-06-01T00:00:00Z\\",\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"{\\\\\\"VSwitchId\\\\\\": [ \\\\\\"vsw-bp14cagpfysr29feg****\\\\\\" ]}\\"\\n ]\\n },\\n \\"CloudResources\\": {\\n \\"CloudResourceSetType\\": [\\n {\\n \\"ResourceCount\\": 3,\\n \\"ResourceType\\": \\"VSwitch\\"\\n }\\n ]\\n },\\n \\"RouterTableId\\": \\"rtb-5***\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0sp****\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"i-5****vbfdpyrbi\\"\\n ]\\n },\\n \\"RouteTableIds\\": {\\n \\"RouteTableId\\": [\\n \\"rt-5****8uz\\"\\n ]\\n },\\n \\"NetworkInterfaceIds\\": {\\n \\"NetworkInterfaceId\\": [\\n \\"eni-5*****8vyk\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-5****2uk\\"\\n ]\\n },\\n \\"NatGatewayIds\\": {\\n \\"NatGatewayId\\": [\\n \\"nat-5****4ik\\"\\n ]\\n },\\n \\"HaVipIds\\": {\\n \\"HaVipId\\": [\\n \\"havip-5****4aof\\"\\n ]\\n },\\n \\"RouteTableId\\": \\"rt-539***fpu\\",\\n \\"GatewayRouteTableId\\": \\"rt-539***tbs\\",\\n \\"SecondaryCidrBlocks\\": {\\n \\"SecondaryCidrBlock\\": [\\n \\"172.XX.XX.0/12\\"\\n ]\\n },\\n \\"Ipv6CidrBlocks\\": {\\n \\"Ipv6CidrBlock\\": [\\n {\\n \\"Ipv6Isp\\": \\"telecom\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/110\\",\\n \\"Type\\": \\"system\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeNetworkInterfaces' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], - 'parameters' => [ + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '4378', + 'abilityTreeNodes' => ['FEATUREensOTSUQL'], + ], + 'parameters' => [ + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the elastic network interface (ENI).', 'type' => 'string', 'required' => false, 'example' => 'eni-58z57orgmt6d1****', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'i-5t7z99n32gplriv', 'title' => ''], + ], + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => false, 'example' => 'n-2zeuphj08tt7q3brd****', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-12345', 'title' => ''], + ], [ 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-cmcc', - ], + 'schema' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-tianjin-cmcc', 'title' => ''], ], [ - 'name' => 'GatewayId', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgw-****', - ], + 'schema' => ['description' => 'The ID of the security group associated with the secondary ENI. Specify this parameter to query secondary ENIs by security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-5p1fg655nh68xyz9i***', 'title' => ''], ], [ - 'name' => 'GatewayType', + 'name' => 'PrimaryIpAddress', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the gateway. Set this parameter to **1**. **1** indicates iSCSI.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The primary IP address of the ENI.', 'type' => 'string', 'required' => false, 'example' => '10.XXX.XXX.5', 'title' => ''], ], [ - 'name' => 'VpcId', + 'name' => 'Type', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", + 'description' => 'The type of the ENI. Valid values:'."\n" + ."\n" + .'- Primary: primary network interface.'."\n" + ."\n" + .'- Secondary: secondary ENI.'."\n" + ."\n" + .'If you do not specify this parameter, ENIs of all types are queried.', 'type' => 'string', + 'enum' => ['Primary', 'Secondary'], 'required' => false, - 'example' => 'n-***', + 'example' => 'Secondary', + 'title' => '', ], ], + [ + 'name' => 'NetworkInterfaceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the ENI.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'test-01', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status of the ENI. Valid values:'."\n" + ."\n" + .'- Available: available.'."\n" + ."\n" + .'- Attaching: being attached.'."\n" + ."\n" + .'- InUse: in use.'."\n" + ."\n" + .'- Detaching: being detached.'."\n" + ."\n" + .'- Deleting: being deleted.'."\n" + ."\n" + .'If you do not specify this parameter, ENIs in all states are queried.', 'type' => 'string', 'required' => false, 'example' => 'Available', 'title' => ''], + ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Default value: 1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number. Pages start from 1. The default value is 1.', 'type' => 'string', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 100. Default value: 50.', 'type' => 'string', 'required' => false, 'maximum' => '100', 'default' => '50', 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', + 'description' => 'The IPv6 addresses of the ENI. You can specify up to 100 addresses.', + 'type' => 'array', + 'items' => ['description' => 'An IPv6 address of the ENI.', 'type' => 'string', 'required' => false, 'example' => '2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6', 'title' => ''], 'required' => false, - 'example' => '10', + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'EnsRegionIds', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', - ], - 'StorageGateways' => [ - 'description' => 'The list information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the storage gateway.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-cmcc'."\n", - ], - 'StorageGatewayId' => [ - 'description' => 'The ID of the storage gateway.'."\n", - 'type' => 'string', - 'example' => 'sgw-***', - ], - 'StorageGatewayName' => [ - 'description' => 'The name of the storage gateway.'."\n", - 'type' => 'string', - 'example' => 'testGateway', - ], - 'StorageGatewayType' => [ - 'description' => 'The type of the storage gateway. Default value: 1, which indicates iSCSI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ServiceIp' => [ - 'description' => 'The IP address of the service.'."\n", - 'type' => 'string', - 'example' => '*.*.*.*', - ], - 'CreationTime' => [ - 'description' => 'The time when the storage gateway was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2024-05-14T03:07:47Z', - ], - 'Status' => [ - 'description' => 'The status of the storage gateway. Valid values:'."\n" - ."\n" - .'* creating'."\n" - .'* available'."\n" - .'* deleting'."\n" - .'* deleted'."\n", - 'type' => 'string', - 'example' => 'available', - ], - 'Description' => [ - 'description' => 'The description of the storage gateway.'."\n", - 'type' => 'string', - 'example' => 'testDescription', - ], - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'n-***', - ], - 'CidrBlock' => [ - 'description' => 'The internal CIDR block.'."\n", - 'type' => 'string', - 'example' => '192.168.2.0/24', - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'description' => 'The IDs of the ENS edge zones. You can specify up to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'ENS node ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-fuzhou-1', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"StorageGateways\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\\\n\\",\\n \\"StorageGatewayId\\": \\"sgw-***\\",\\n \\"StorageGatewayName\\": \\"testGateway\\",\\n \\"StorageGatewayType\\": 1,\\n \\"ServiceIp\\": \\"*.*.*.*\\",\\n \\"CreationTime\\": \\"2024-05-14T03:07:47Z\\",\\n \\"Status\\": \\"available\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"VpcId\\": \\"n-***\\",\\n \\"CidrBlock\\": \\"192.168.2.0/24\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 16\\n}","type":"json"}]', - 'title' => 'DescribeStorageGateway', - ], - 'CreateStorageGateway' => [ - 'summary' => 'Creates a storage gateway.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ [ - 'name' => 'OrderDetails', + 'name' => 'NetworkInterfaceIds', 'in' => 'query', - 'style' => 'json', + 'style' => 'flat', 'schema' => [ - 'description' => 'The array of orders.'."\n", + 'description' => 'The IDs of the ENIs. You can specify up to 100 IDs.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shenzhen-3', - ], - 'GatewayType' => [ - 'description' => 'The type of the gateway. Set this parameter to **1**. **1** indicates iSCSI.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'n-123', - ], - 'GatewayName' => [ - 'description' => 'The name of the gateway. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain letters, digits, colons (.), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testGatewayName', - ], - 'Description' => [ - 'description' => 'The description of the gateway. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - ], - ], - 'required' => true, - ], - 'required' => true, + 'items' => ['description' => 'The ID of an ENI.', 'type' => 'string', 'required' => false, 'example' => 'eni-5****', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The details of the ENIs.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'EA3758E0-8899-17D3-9526-5F62CF33A586', - ], - 'AllocationId' => [ - 'description' => 'The list of created nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'e426409223', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-telecom-4', - ], - ], - ], - ], - 'BizStatusCode' => [ - 'description' => 'The success status code.'."\n" - ."\n" - .'* **PartSuccess**: partially succeeded.'."\n" - .'* **AllSuccess**: all succeeded.'."\n", - 'type' => 'string', - 'example' => 'AllSuccess', - ], - 'UnAllocationId' => [ - 'description' => 'The list of nodes that are not created.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'e426409258', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-26', + 'NetworkInterfaceSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterfaceSet' => [ + 'description' => 'The details of the ENIs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the ENIs.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the ENI was created. The time is displayed in UTC and follows the ISO 8601 standard in the \\`yyyy-MM-ddThh:mmZ\\` format.', 'type' => 'string', 'example' => '2022-02-22T03:53:25Z', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS edge zone.', 'type' => 'string', 'example' => 'id-jakarta-1', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance to which the ENI is attached.', 'type' => 'string', 'example' => 'i-5siavnr3', 'title' => ''], + 'MacAddress' => ['description' => 'The MAC address of the ENI.', 'type' => 'string', 'example' => '00:16:XXX:XXX:60:0a', 'title' => ''], + 'NetworkInterfaceId' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'example' => 'eni-uf686a5', 'title' => ''], + 'PrimaryIp' => ['description' => 'The primary private IP address.', 'type' => 'string', 'example' => '10.XXX.XXX.25', 'title' => ''], + 'PrimaryIpType' => ['description' => 'The type of the primary IP address. Valid values:'."\n" + ."\n" + .'- **Public**: A public IP address.'."\n" + ."\n" + .'- **Private**: A private IP address.', 'type' => 'string', 'example' => 'Private', 'title' => ''], + 'Status' => ['description' => 'The status of the network interface. Valid values:'."\n" + ."\n" + .'- Available: available.'."\n" + ."\n" + .'- Attaching: being attached.'."\n" + ."\n" + .'- InUse: in use.'."\n" + ."\n" + .'- Detaching: being detached.'."\n" + ."\n" + .'- Deleting: being deleted.', 'type' => 'string', 'example' => 'InUse', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-5w0qd03adw****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-5rqswx1trlsj9', 'title' => ''], + 'PrivateIpSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpSet' => [ + 'description' => 'A collection of \\`PrivateIpSet\\` objects.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of \\`PrivateIpSet\\` objects.', + 'type' => 'object', + 'properties' => [ + 'PrivateIpAddress' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '192.XXX.XXX.130', 'title' => ''], + 'Primary' => ['description' => 'Indicates whether the IP address is the primary private IP address. Valid values:'."\n" + ."\n" + .'- true: The IP address is the primary private IP address.'."\n" + ."\n" + .'- false: The IP address is a secondary private IP address.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'PrivateIpStatus' => ['title' => 'The status of the private IP address. Valid values: '."\n" + .'- Available: The private IP address is active. '."\n" + .'- Creating: The private IP address is being created. '."\n" + .'- Deleting: The private IP address is being deleted. ', 'description' => 'The status of the private IP address. Valid values:'."\n" + ."\n" + .'- Available: available.'."\n" + ."\n" + .'- Creating: being created.'."\n" + ."\n" + .'- Deleting: being deleted.', 'type' => 'string', 'example' => 'Available'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NetworkInterfaceName' => ['description' => 'The name of the ENI.', 'type' => 'string', 'example' => 'primaryTest', 'title' => ''], + 'Description' => ['description' => 'The description of the ENI.', 'type' => 'string', 'example' => 'test-description', 'title' => ''], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroup' => [ + 'description' => 'The ID of the security group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the security group.', 'type' => 'string', 'example' => 'sg-5p1bozeiw711a1***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Type' => ['description' => 'The type of the ENI. Valid values:'."\n" + ."\n" + .'- Primary: The primary network interface.'."\n" + ."\n" + .'- Secondary: The secondary ENI.', 'type' => 'string', 'example' => 'Primary', 'title' => ''], + 'Ipv6Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Set' => [ + 'description' => 'The assigned IPv6 addresses of the ENI.', + 'type' => 'array', + 'items' => [ + 'description' => 'The assigned IPv6 addresses of the ENI.', + 'type' => 'object', + 'properties' => [ + 'Ipv6Address' => ['description' => 'The assigned IPv6 address of the ENI.', 'type' => 'string', 'example' => '2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'VmncLearn' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number. Pages start from **1**. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '49', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '708AF9CE-FF92-5DF9-93F8-B7754AB1061A', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => '订单失败', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedStock', - 'errorMessage' => 'Inventory sales constraint verification failed, please re-match, or contact the product.', - ], - [ - 'errorCode' => 'SaleControlVerificationFailedRegion', - 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', - ], - [ - 'errorCode' => '%s', - 'errorMessage' => 'Some of the bulk orders failed, please try again:%s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'View the network interface card list ', + 'summary' => 'Call DescribeNetworkInterfaces to retrieve a list of network interfaces.', + 'changeSet' => [ + ['createdAt' => '2025-01-02T08:15:49.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T11:19:35.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-10-19T08:32:42.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-21T02:54:28.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-05-17T06:35:47.000Z', 'description' => 'Error codes changed, Response parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EA3758E0-8899-17D3-9526-5F62CF33A586\\",\\n \\"AllocationId\\": [\\n {\\n \\"InstanceId\\": \\"e426409223\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom-4\\"\\n }\\n ],\\n \\"BizStatusCode\\": \\"AllSuccess\\",\\n \\"UnAllocationId\\": [\\n {\\n \\"InstanceId\\": \\"e426409258\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-26\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n EA3758E0-8899-17D3-9526-5F62CF33A586\\n \\n e426409223\\n cn-chengdu-telecom-4\\n \\n AllSuccess\\n \\n e426409258\\n cn-chengdu-26\\n \\n","errorExample":""}]', - 'title' => 'CreateStorageGateway', - ], - 'DeleteStorageGateway' => [ - 'summary' => 'Deletes a storage gateway.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworkInterfaces'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworkInterfaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkInterfaceSets\\": {\\n \\"NetworkInterfaceSet\\": [\\n {\\n \\"CreationTime\\": \\"2022-02-22T03:53:25Z\\",\\n \\"EnsRegionId\\": \\"id-jakarta-1\\",\\n \\"InstanceId\\": \\"i-5siavnr3\\",\\n \\"MacAddress\\": \\"00:16:XXX:XXX:60:0a\\",\\n \\"NetworkInterfaceId\\": \\"eni-uf686a5\\",\\n \\"PrimaryIp\\": \\"10.XXX.XXX.25\\",\\n \\"PrimaryIpType\\": \\"Private\\",\\n \\"Status\\": \\"InUse\\",\\n \\"NetworkId\\": \\"n-5w0qd03adw****\\",\\n \\"VSwitchId\\": \\"vsw-5rqswx1trlsj9\\",\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"192.XXX.XXX.130\\",\\n \\"Primary\\": true,\\n \\"PrivateIpStatus\\": \\"Available\\"\\n }\\n ]\\n },\\n \\"NetworkInterfaceName\\": \\"primaryTest\\",\\n \\"Description\\": \\"test-description\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroup\\": [\\n \\"sg-5p1bozeiw711a1***\\"\\n ]\\n },\\n \\"Type\\": \\"Primary\\",\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2605:340:cdb1:XXXX:XXXX:XXXX:XXXX:e2d6\\\\n\\"\\n }\\n ]\\n },\\n \\"VmncLearn\\": false\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 49,\\n \\"RequestId\\": \\"708AF9CE-FF92-5DF9-93F8-B7754AB1061A\\"\\n}","type":"json"}]', + ], + 'DescribeNetworkPeerConnections' => [ + 'summary' => 'Call `DescribeNetworkPeerConnections` to query network peer connections.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensEFSRBY', - ], + 'abilityTreeCode' => '251316', + 'abilityTreeNodes' => ['FEATUREensMJ1U79'], ], 'parameters' => [ [ - 'name' => 'GatewayId', + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network peer connection.', 'type' => 'string', 'required' => false, 'example' => 'pcc-5inkeimcipxk26yqtzm4q****', 'title' => ''], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-xian-unicom', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the network peer connection.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'test0', 'title' => ''], + ], + [ + 'name' => 'NetworkIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the gateway.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgw-****', + 'description' => 'The IDs of the networks involved in the connection. The query does not distinguish between the requester and accepter.', + 'type' => 'array', + 'items' => ['description' => 'A network ID.', 'type' => 'string', 'required' => false, 'example' => 'n-5****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number for the returned results. Default: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Default: **10**. Valid values: **10** to **100**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'required' => false, 'example' => '10', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '853D6E71-E087-1557-B65C-32BFBEE5CD97', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'string', 'example' => '30', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'NetworkPeerConnects' => [ + 'description' => 'A list of the network peering connections.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of a network peering connection.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the network peering connection.', 'type' => 'string', 'example' => 'pcc-521pzxdg****', 'title' => ''], + 'CreationTime' => ['description' => 'The creation time in UTC.', 'type' => 'string', 'example' => '2024-05-31T06:43:29Z', 'title' => ''], + 'Name' => ['description' => 'The name of the network peering connection.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Description' => ['description' => 'The description of the network peering connection.', 'type' => 'string', 'example' => 'desc', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-dongguan-9', 'title' => ''], + 'Status' => ['description' => 'The status of the network peering connection. Valid values:'."\n" + ."\n" + .'- `Creating`: The connection is being created.'."\n" + ."\n" + .'- `Activated`: The connection is active.'."\n" + ."\n" + .'- `Deleting`: The connection is being deleted.', 'type' => 'string', 'example' => 'Activated', 'title' => ''], + 'NetworkId' => ['description' => 'The network ID of the requester.', 'type' => 'string', 'example' => 'n-5q73bm****', 'title' => ''], + 'AcceptingNetworkId' => ['description' => 'The network ID of the accepter.', 'type' => 'string', 'example' => 'n-5q28114****'."\n", 'title' => ''], + 'Network' => [ + 'description' => 'Details of the requester network.', + 'type' => 'object', + 'properties' => [ + 'NetworkId' => ['description' => 'The network ID of the requester.', 'type' => 'string', 'example' => 'n-5q73bm****', 'title' => ''], + 'Ipv4Cidrs' => [ + 'description' => 'The CIDR blocks of the requester network.', + 'type' => 'array', + 'items' => ['description' => 'A CIDR block of the requester network.', 'type' => 'string', 'example' => '10.0.0.0/8', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'AcceptingNetwork' => [ + 'description' => 'Details of the accepter network.', + 'type' => 'object', + 'properties' => [ + 'NetworkId' => ['description' => 'The network ID of the accepter.', 'type' => 'string', 'example' => 'n-5q28114****', 'title' => ''], + 'Ipv4Cidrs' => [ + 'description' => 'The CIDR blocks of the accepter network.', + 'type' => 'array', + 'items' => ['description' => 'A CIDR block of the accepter network.', 'type' => 'string', 'example' => '192.168.0.0/16', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'VolumeBind', - 'errorMessage' => 'Storage volumes bound to the instance.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'No instance ID found. Enter a valid instance ID.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeNetworkPeerConnections', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"853D6E71-E087-1557-B65C-32BFBEE5CD97\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 853D6E71-E087-1557-B65C-32BFBEE5CD97\\n","errorExample":""}]', - 'title' => 'DeleteStorageGateway', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"30\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"NetworkPeerConnects\\": [\\n {\\n \\"InstanceId\\": \\"pcc-521pzxdg****\\",\\n \\"CreationTime\\": \\"2024-05-31T06:43:29Z\\",\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"desc\\",\\n \\"EnsRegionId\\": \\"cn-dongguan-9\\",\\n \\"Status\\": \\"Activated\\",\\n \\"NetworkId\\": \\"n-5q73bm****\\",\\n \\"AcceptingNetworkId\\": \\"n-5q28114****\\\\n\\",\\n \\"Network\\": {\\n \\"NetworkId\\": \\"n-5q73bm****\\",\\n \\"Ipv4Cidrs\\": [\\n \\"10.0.0.0/8\\"\\n ]\\n },\\n \\"AcceptingNetwork\\": {\\n \\"NetworkId\\": \\"n-5q28114****\\",\\n \\"Ipv4Cidrs\\": [\\n \\"192.168.0.0/16\\"\\n ]\\n }\\n }\\n ]\\n}","type":"json"}]', ], - 'DescribeStorageVolume' => [ - 'summary' => 'Queries volumes.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeNetworks' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '15780', + 'abilityTreeNodes' => ['FEATUREensJ76HWH'], ], 'parameters' => [ + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'Network ID.', 'type' => 'string', 'required' => false, 'example' => 'n-5***', 'title' => ''], + ], [ 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen-3', - ], + 'schema' => ['description' => 'ENS node ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing-telecom', 'title' => ''], ], [ - 'name' => 'VolumeId', + 'name' => 'NetworkName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sv-***', - ], + 'schema' => ['description' => 'Network name.', 'type' => 'string', 'required' => false, 'example' => 'example', 'title' => ''], ], [ - 'name' => 'GatewayId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgw-****', - ], + 'schema' => ['description' => 'Page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'StorageId', + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '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' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the storage medium.'."\n", - 'type' => 'string', + 'description' => 'Array of ENS edge zone IDs. Array length: 1–100.', + 'type' => 'array', + 'items' => ['description' => 'ENS node ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], 'required' => false, - 'example' => 'd-***', + 'maxItems' => 100, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'IsEnable', + 'name' => 'NetworkIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'Specifies whether to enable the volume. Valid values:'."\n" - ."\n" - .'* **1** (default): enables the volume.'."\n" - .'* **0**: disables the volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'Array of network IDs. Array length: 1–100.', + 'type' => 'array', + 'items' => ['description' => 'Network ID.', 'type' => 'string', 'required' => false, 'example' => 'n-5***9iu', 'title' => ''], 'required' => false, - 'example' => '1', + 'maxItems' => 100, + 'minItems' => 1, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'Schema of response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'TotalCount' => ['description' => 'Total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'PageSize' => ['description' => 'Number of entries per page in the current query.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageNumber' => ['description' => 'Current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Networks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Network' => [ + 'description' => 'List of networks.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of networks.', + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'ENS edge zone ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'NetworkId' => ['description' => 'Network ID.', 'type' => 'string', 'example' => 'n-5***', 'title' => ''], + 'NetworkName' => ['description' => 'Network name.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'CidrBlock' => ['description' => 'IPv4 CIDR block of the network.', 'type' => 'string', 'example' => '10.0.xx.xx/24', 'title' => ''], + 'Status' => ['description' => 'Network status. Valid values:'."\n" + ."\n" + .'- Pending: being configured.'."\n" + ."\n" + .'- Available: active.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'Description' => ['description' => 'Description of the network.', 'type' => 'string', 'example' => 'exampleDescription', 'title' => ''], + 'CreatedTime' => ['description' => 'Creation time as a UNIX timestamp in milliseconds.', 'type' => 'string', 'example' => '1653620630000', 'title' => ''], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => 'List of vSwitches in the network.', + 'type' => 'array', + 'items' => ['description' => 'List of vSwitches in the network.', 'type' => 'string', 'example' => 'vsw-bp1nhbnpv2blyz8dl****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RouterTableId' => ['description' => 'Route table ID.', 'type' => 'string', 'example' => 'rtb-5**', 'title' => ''], + 'NetworkAclId' => ['description' => 'Network ACL ID.', 'type' => 'string', 'example' => 'nacl-a2do9e413e0spxscd****', 'title' => ''], + 'RouteTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteTableId' => [ + 'description' => 'List of route table IDs.', + 'type' => 'array', + 'items' => ['description' => 'Route table ID.', 'type' => 'string', 'example' => 'rt-5*****pks', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RouteTableId' => ['description' => 'Route table ID.', 'type' => 'string', 'example' => 'rt-5*****pks', 'title' => ''], + 'GatewayRouteTableId' => ['description' => 'Gateway route table ID.', 'type' => 'string', 'example' => 'rt-5*****tbs', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'Collection of tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'Collection of tags.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'Tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + 'Key' => ['description' => 'Tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'Tag value.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestValue', 'title' => ''], + 'TagKey' => ['description' => 'Tag key.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestKey', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SecondaryCidrBlocks' => [ + 'itemNode' => true, + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SecondaryCidrBlock' => [ + 'description' => 'Information about secondary CIDR blocks.', + 'type' => 'array', + 'items' => ['description' => 'Secondary CIDR block.', 'type' => 'string', 'example' => '172.XX.XX.0/12', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Ipv6CidrBlocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6CidrBlock' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Isp' => ['type' => 'string', 'example' => 'telecom', 'description' => '', 'title' => ''], + 'Ipv6CidrBlock' => ['type' => 'string', 'example' => '2408:XXXX:0:a600::/110', 'description' => '', 'title' => ''], + 'Type' => ['type' => 'string', 'example' => 'system', 'description' => '', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ], + ], + 'title' => 'Query network list', + 'summary' => 'Call DescribeNetworks to retrieve a list of networks.', + 'description' => '- API call frequency: 100 calls per second.'."\n" + ."\n" + .'- Per-user call frequency: 10 calls per second.', + 'changeSet' => [ + ['createdAt' => '2025-04-15T05:57:10.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-10T07:51:41.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-13T08:23:28.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-12-26T08:26:40.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-09-08T05:56:36.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworks'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 3,\\n \\"PageSize\\": 2,\\n \\"PageNumber\\": 1,\\n \\"Networks\\": {\\n \\"Network\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing\\",\\n \\"NetworkId\\": \\"n-5***\\",\\n \\"NetworkName\\": \\"example\\",\\n \\"CidrBlock\\": \\"10.0.xx.xx/24\\",\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"exampleDescription\\",\\n \\"CreatedTime\\": \\"1653620630000\\",\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp1nhbnpv2blyz8dl****\\"\\n ]\\n },\\n \\"RouterTableId\\": \\"rtb-5**\\",\\n \\"NetworkAclId\\": \\"nacl-a2do9e413e0spxscd****\\",\\n \\"RouteTableIds\\": {\\n \\"RouteTableId\\": [\\n \\"rt-5*****pks\\"\\n ]\\n },\\n \\"RouteTableId\\": \\"rt-5*****pks\\",\\n \\"GatewayRouteTableId\\": \\"rt-5*****tbs\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"SecondaryCidrBlocks\\": {\\n \\"SecondaryCidrBlock\\": [\\n \\"172.XX.XX.0/12\\"\\n ]\\n },\\n \\"Ipv6CidrBlocks\\": {\\n \\"Ipv6CidrBlock\\": [\\n {\\n \\"Ipv6Isp\\": \\"telecom\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/110\\",\\n \\"Type\\": \\"system\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribePrePaidInstanceStock' => [ + 'summary' => 'Queries the specifications of resources that can be purchased in subscription billing mode.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => true, 'example' => 'cn-suzhou-telecom', 'title' => ''], + ], + [ + 'name' => 'SystemDiskSize', + 'in' => 'query', + 'schema' => ['description' => 'The size of the system disk. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '20', 'example' => '100', 'title' => ''], + ], [ - 'name' => 'PageNumber', + 'name' => 'DataDiskSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The size of the data disk. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'InstanceSpec', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The specification of the instance.', 'type' => 'string', 'required' => true, 'example' => 'ens.sn1.stiny', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'StorageVolumes' => [ - 'description' => 'The list of returned results.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the volume.'."\n", - 'type' => 'object', - 'properties' => [ - 'StorageVolumeId' => [ - 'description' => 'The ID of the volume.'."\n", - 'type' => 'string', - 'example' => 'sv-***', - ], - 'StorageVolumeName' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'example' => 'testVolumeName', - ], - 'StorageGatewayId' => [ - 'description' => 'The ID of the storage gateway.'."\n", - 'type' => 'string', - 'example' => 'sgw-***', - ], - 'StorageId' => [ - 'description' => 'The ID of the storage medium.'."\n", - 'type' => 'string', - 'example' => 'd-***', - ], - 'CreationTime' => [ - 'description' => 'The time when the volume was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2024-03-14T09:35:32Z', - ], - 'IsEnable' => [ - 'description' => 'Indicates whether the volume is enabled. Valid values:'."\n" - ."\n" - .'* **1** (default): The volume is enabled.'."\n" - .'* **0**: The volume is disabled.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'IsAuth' => [ - 'description' => 'Indicates whether authentication is enabled. Valid values:'."\n" - ."\n" - .'* **1**: Authentication is enabled.'."\n" - .'* **0** (default): Authentication is disabled.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Description' => [ - 'description' => 'The description of the volume.'."\n", - 'type' => 'string', - 'example' => 'testDescription', - ], - 'TargetName' => [ - 'description' => 'The destination of the volume.'."\n", - 'type' => 'string', - 'example' => 'iqn.*.*.*:*', - ], - 'Status' => [ - 'description' => 'The status of the volume. Valid values:'."\n" - ."\n" - .'* creating'."\n" - .'* available'."\n" - .'* deleting'."\n" - .'* deleted'."\n", - 'type' => 'string', - 'example' => 'available', - ], - 'AuthProtocol' => [ - 'description' => 'The authentication protocol. The value is set to **CHAP**.'."\n", - 'type' => 'string', - 'example' => 'CHAP', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen-3', - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - 'PageNumber' => [ - 'description' => 'The page number. Default value: **1**.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '15', - ], + 'AvaliableCount' => ['description' => 'The number of resources that you can purchase.', 'type' => 'integer', 'format' => 'int32', 'example' => '84', 'title' => ''], + 'Cores' => ['description' => 'The number of CPU cores.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DataDiskSize' => ['description' => 'The size of the data disk.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-suzhou-telecom', 'title' => ''], + 'InstanceSpec' => ['description' => 'The specification of the instance.', 'type' => 'string', 'example' => 'ens.sn1.stiny', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '007833C8-E819-4122-B636-0D48D7BF6DFB', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system disk.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ResourceGap' => ['description' => 'The reason why resources are insufficient.', 'type' => 'string', 'example' => 'StockNotEnough', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InventoryExceeded', 'errorMessage' => 'The Instance in stock are insufficient,please submit a ticket.', 'description' => 'The specified instance resource inventory is insufficient, please re-match.'], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"StorageVolumes\\": [\\n {\\n \\"StorageVolumeId\\": \\"sv-***\\",\\n \\"StorageVolumeName\\": \\"testVolumeName\\",\\n \\"StorageGatewayId\\": \\"sgw-***\\",\\n \\"StorageId\\": \\"d-***\\",\\n \\"CreationTime\\": \\"2024-03-14T09:35:32Z\\",\\n \\"IsEnable\\": 1,\\n \\"IsAuth\\": 0,\\n \\"Description\\": \\"testDescription\\",\\n \\"TargetName\\": \\"iqn.*.*.*:*\\",\\n \\"Status\\": \\"available\\",\\n \\"AuthProtocol\\": \\"CHAP\\",\\n \\"EnsRegionId\\": \\"cn-shenzhen-3\\"\\n }\\n ],\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"15\\"\\n}","type":"json"}]', - 'title' => 'DescribeStorageVolume', - ], - 'CreateStorageVolume' => [ - 'summary' => 'Creates a storage volume.', - 'methods' => [ - 'post', - 'get', + 'title' => 'DescribePrePaidInstanceStock', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:51.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePrePaidInstanceStock'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribePrePaidInstanceStock', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AvaliableCount\\": 84,\\n \\"Cores\\": 1,\\n \\"DataDiskSize\\": 20,\\n \\"EnsRegionId\\": \\"cn-suzhou-telecom\\",\\n \\"InstanceSpec\\": \\"ens.sn1.stiny\\",\\n \\"Memory\\": 2048,\\n \\"RequestId\\": \\"007833C8-E819-4122-B636-0D48D7BF6DFB\\",\\n \\"SystemDiskSize\\": 20,\\n \\"ResourceGap\\": \\"StockNotEnough\\"\\n}","type":"json"}]', + ], + 'DescribePrice' => [ + 'summary' => 'Queries the most recent price of an Edge Node Service (ENS) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'GatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the gateway.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgw-****', - ], - ], - [ - 'name' => 'StorageId', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the storage medium.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'si-****', - ], + 'schema' => ['description' => 'The specifications of instances.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ens.sn1.tiny'], ], [ 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shenzhen-3', - ], + 'schema' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-shanghai-unicom'], ], [ - 'name' => 'IsEnable', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether the volume is enabled. Valid values:'."\n" - ."\n" - .'* **1** (default): The volume is enabled.'."\n" - .'* **0**: The volume is disabled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - 'enum' => [ - '0', - '1', - ], - ], + 'schema' => ['description' => 'The subscription duration of the instance.'."\n" + ."\n" + .'- If you leave the PeriodUnit parameter empty, the instance is purchased on a monthly basis. Valid values: Day and Month.'."\n" + ."\n" + .'- If you set PeriodUnit to Day, you can set Period only to 3.'."\n" + ."\n" + .'- If you set PeriodUnit to Month, you can set Period to a number from 1 to 9, or set Period to 12.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '12', 'minimum' => '1', 'title' => '', 'example' => '1'], ], [ - 'name' => 'IsAuth', + 'name' => 'SystemDisk.Size', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable authentication. Valid values:'."\n" - ."\n" - .'* **1**: Authentication is enabled.'."\n" - .'* **0** (default): Authentication is disabled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0', - 'enum' => [ - '0', - '1', - ], - ], + 'schema' => ['description' => 'The size of the system disk. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'title' => '', 'example' => '20'], ], [ - 'name' => 'AuthProtocol', + 'name' => 'Quantity', 'in' => 'query', - 'schema' => [ - 'description' => 'The authentication protocol. Set the value to **CHAP**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CHAP', - 'enum' => [ - 'CHAP', - ], - ], + 'schema' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'title' => '', 'example' => '1'], ], [ - 'name' => 'AuthUser', + 'name' => 'DataDisk.1.Size', 'in' => 'query', - 'schema' => [ - 'description' => 'The username of the CHAP protocol.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'User', - ], + 'schema' => ['description' => 'The size of the data disk. Unit: GB. If you specify this parameter, this parameter takes precedence over the Size property in DataDisks.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '50'], ], [ - 'name' => 'AuthPassword', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The password of the CHAP protocol.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Password', - ], + 'schema' => ['description' => 'The bandwidth metering method of the instance. Valid values:'."\n" + ."\n" + .'- BandwidthByDay: Pay by daily peak bandwidth'."\n" + ."\n" + .'- 95BandwidthByMonth: Pay by monthly 95th percentile bandwidth'."\n" + ."\n" + .'- PayByBandwidth4thMonth: Pay by monthly fourth peak bandwidth'."\n" + ."\n" + .'- PayByBandwidth: Pay by fixed bandwidth', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '95BandwidthByMonth'], ], [ - 'name' => 'VolumeName', + 'name' => 'DataDisks', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The name of the volume. The name must be 2 to 128 characters in length. The name cannot start with `http://` or `https://`. The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', + 'title' => '', + 'description' => 'If you leave DataDisk.1.Size empty, the value that you specified for this parameter is used.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Category' => [ + 'description' => 'The category of the disk.', + 'type' => 'string', + 'default' => 'cloud_efficiency', + 'enum' => ['cloud_efficiency', 'cloud_ssd', 'local_hdd', 'local_ssd'], + 'title' => '', + 'required' => false, + 'example' => 'cloud_efficiency', + ], + 'Size' => ['description' => 'The size of the data disk. Unit: GB.', 'type' => 'integer', 'format' => 'int64', 'minimum' => '20', 'required' => false, 'example' => '50', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'testVolumeName', + 'example' => '', ], ], [ - 'name' => 'Description', + 'name' => 'PeriodUnit', 'in' => 'query', 'schema' => [ - 'description' => 'The description of the volume. The description must be 2 to 128 characters in length. The description cannot start with `http://` or `https://`.'."\n", + 'description' => 'The billing cycle of the ENS instance. Valid values:'."\n" + ."\n" + .'- Month (default):'."\n" + ."\n" + .'- Day', 'type' => 'string', + 'enum' => ['Month', 'Day'], + 'title' => '', 'required' => false, - 'example' => 'testDescription', + 'example' => 'Month', ], ], ], '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' => '7030AB96-57CF-1C68-9FEE-D60E547FD79C', - ], - 'VolumeId' => [ - 'description' => 'An array of volume IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the created volume.'."\n", - 'type' => 'string', - 'example' => '["sv-***"]', + 'PriceInfo' => [ + 'description' => 'The price information.', + 'type' => 'object', + 'properties' => [ + 'Price' => [ + 'description' => 'The price.', + 'type' => 'object', + 'properties' => [ + 'Currency' => ['description' => 'The type of currency.'."\n" + ."\n" + .'- USD: US dollar'."\n" + ."\n" + .'- JPY: Japanese Yen', 'type' => 'string', 'example' => 'USD', 'title' => ''], + 'DiscountPrice' => ['description' => 'The discount.', 'type' => 'number', 'format' => 'float', 'example' => '1', 'title' => ''], + 'OriginalPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'float', 'example' => '16125.00', 'title' => ''], + 'TradePrice' => ['description' => 'The final price.', 'type' => 'number', 'format' => 'float', 'example' => '126.75', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '694EB8FF-446C-5B1E-8146-9629E492551F', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => '订单失败', - ], - [ - 'errorCode' => 'SaleControl.VerificationFailed', - 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', - ], - [ - 'errorCode' => 'ERROR_VOLUME_STORAGE_STATUS', - 'errorMessage' => 'The cloud disk cannot be operated', - ], - [ - 'errorCode' => 'ERROR_VOLUME_STORAGE_BINDED', - 'errorMessage' => 'The cloud disk has been bound', - ], - [ - 'errorCode' => 'ERROR_VOLUME_PROTOCOL', - 'errorMessage' => 'The wrong protocol', - ], - [ - 'errorCode' => 'ERROR.STORAGE.BINDED', - 'errorMessage' => 'The storageId has been bound.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The input parameter is Invalid.', 'description' => ''], + ['errorCode' => 'StockNotEnough', 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribePrice', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:50.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-03-29T06:46:44.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7030AB96-57CF-1C68-9FEE-D60E547FD79C\\",\\n \\"VolumeId\\": [\\n \\"[\\\\\\"sv-***\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 7030AB96-57CF-1C68-9FEE-D60E547FD79C\\n [\\"sv-***\\"]\\n","errorExample":""}]', - 'title' => 'CreateStorageVolume', - ], - 'DeleteStorageVolume' => [ - 'summary' => 'Deletes a storage volume.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePrice'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribePrice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PriceInfo\\": {\\n \\"Price\\": {\\n \\"Currency\\": \\"USD\\",\\n \\"DiscountPrice\\": 1,\\n \\"OriginalPrice\\": 16125,\\n \\"TradePrice\\": 126.75\\n }\\n },\\n \\"RequestId\\": \\"694EB8FF-446C-5B1E-8146-9629E492551F\\"\\n}","type":"json"}]', + ], + 'DescribeRegionIsps' => [ + 'summary' => 'Queries the Internet service providers (ISPs) of edge nodes.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -36057,1113 +24738,1153 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', + 'abilityTreeCode' => '104087', + 'abilityTreeNodes' => ['FEATUREensDHOSNR'], + ], + 'parameters' => [ + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the node. You can specify only one node ID in a call.', 'type' => 'string', 'required' => false, 'example' => 'cn-dalian-unicom', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'DC90CC7E-23B6-5A90-9097-A17CE4A161C4'], + 'Isps' => [ + 'description' => 'The list of ISPs.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of operators.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The code of the ISP.', 'type' => 'string', 'example' => 'cmcc', 'title' => ''], + 'Name' => ['description' => 'The name of the ISP.', 'type' => 'string', 'example' => 'China Mobile', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC90CC7E-23B6-5A90-9097-A17CE4A161C4\\",\\n \\"Isps\\": [\\n {\\n \\"Code\\": \\"cmcc\\",\\n \\"Name\\": \\"China Mobile\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeRegionIsps', + 'changeSet' => [ + ['createdAt' => '2021-11-16T07:33:41.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegionIsps'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeRegionIsps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'parameters' => [ + 'translator' => 'manual', + ], + 'DescribeReservedResource' => [ + 'summary' => 'Queries the specifications of resources that you can purchase.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VolumeId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the volume.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sv-***', - ], + 'AK' => [], ], ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], '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' => '853D6E71-E087-1557-B65C-32BFBEE5CD97', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', 'title' => ''], + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => 'The information about the image.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ImageName' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_alibase_****', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_alibase_****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SupportResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportResource' => [ + 'description' => 'The resources.', + 'type' => 'array', + 'items' => [ + 'description' => 'The specifications of resources that you can purchase.', + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-beijing-cmcc', 'title' => ''], + 'DataDiskSizes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataDiskSize' => [ + 'description' => 'The sizes of data disks.', + 'type' => 'array', + 'items' => ['description' => 'The size of the data disk. Unit: GB.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SupportResourcesCount' => ['description' => 'The number of resources that you can purchase.', 'type' => 'string', 'example' => '9', 'title' => ''], + 'SystemDiskSizes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SystemDiskSize' => [ + 'description' => 'The sizes of system disks.', + 'type' => 'array', + 'items' => ['description' => 'The size of the system disk. Unit: GB.', 'type' => 'string', 'example' => '20', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceSpec' => ['description' => 'The specifications of instances.', 'type' => 'string', 'example' => 'ens.sn1.stiny', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'INSTANCE_ID_NOT_FOUND', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation', - ], - [ - 'errorCode' => 'ERROR_VOLUME_STATUS', - 'errorMessage' => 'The storage volume status is unavailable', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeReservedResource', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:52.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"853D6E71-E087-1557-B65C-32BFBEE5CD97\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 853D6E71-E087-1557-B65C-32BFBEE5CD97\\n","errorExample":""}]', - 'title' => 'DeleteStorageVolume', - ], - 'AssignPrivateIpAddresses' => [ - 'summary' => 'Assigns secondary private IP addresses to an elastic network interface (ENI).', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeReservedResource'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeReservedResource', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"ImageName\\": \\"centos_6_08_64_20G_alibase_****\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_****\\"\\n }\\n ]\\n },\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"DataDiskSizes\\": {\\n \\"DataDiskSize\\": [\\n \\"0\\"\\n ]\\n },\\n \\"SupportResourcesCount\\": \\"9\\",\\n \\"SystemDiskSizes\\": {\\n \\"SystemDiskSize\\": [\\n \\"20\\"\\n ]\\n },\\n \\"InstanceSpec\\": \\"ens.sn1.stiny\\"\\n }\\n ]\\n },\\n \\"Code\\": 0\\n}","type":"json"}]', + ], + 'DescribeSDG' => [ + 'summary' => 'Retrieves the basic information for a Shared Data Group (SDG), including its node preloading details.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'NetworkInterfaceId', + 'name' => 'SDGIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eni-uf6533jbifugr5fo2j1w', + 'description' => 'The IDs of the SDGs. If omitted, all SDGs are queried.', + 'type' => 'array', + 'items' => ['description' => 'The SDG ID.', 'type' => 'string', 'required' => false, 'example' => '["sdg-1", "sdg-2", "sdg-3"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'VSwitchId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5rllcjb3ol6duzjdnbm1ombn7', - ], + 'schema' => ['description' => 'The page number to return.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The page size.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'SameDiskId', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'description' => '', 'required' => false, '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'AssignedPrivateIpAddressesSet' => [ - 'description' => 'Details about the ENI and the secondary private IP addresses that are assigned to the ENI.'."\n", - 'type' => 'object', - 'properties' => [ - 'NetworkInterfaceId' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'example' => 'eni-uf620pb4d19ljnu4a64m', - ], - 'PrivateIpSet' => [ - 'description' => 'The assigned private IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The assigned private IP address.'."\n", - 'type' => 'string', - 'example' => '10.0.0.5', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], + 'SDGs' => [ + 'description' => 'A list of SDGs.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AvaliableRegionIds' => [ + 'description' => 'The nodes where snapshots of the SDG are available.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the SDG was created on the node.', 'type' => 'string', 'example' => '2023-02-27 15:13:26', 'title' => ''], + 'RegionId' => ['description' => 'The node ID.', 'type' => 'string', 'example' => 'cn-hangzhou-26', 'title' => ''], + 'SnapshotId' => ['description' => 'The snapshot ID.', 'type' => 'string', 'example' => 'sp-517qu0tgznrg622he7nf4wd7n', 'title' => ''], + 'Status' => ['description' => 'The status of the SDG on the node. Valid values:'."\n" + ."\n" + .'- **sdg\\_making**: Creating'."\n" + ."\n" + .'- **sdg\\_saving**: Saving'."\n" + ."\n" + .'- **sdg\\_copying**: Synchronizing across nodes'."\n" + ."\n" + .'- **failed**: Failed'."\n" + ."\n" + .'- **success**: Succeeded', 'type' => 'string', 'example' => 'success', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CreationInstanceId' => ['description' => 'The ID of the instance from which the SDG was created.', 'type' => 'string', 'example' => 'aic-5x20dyeos****', 'title' => ''], + 'CreationDiskType' => ['description' => 'The disk type of the source disk from which the SDG was created.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the SDG was first created.', 'type' => 'string', 'example' => '2023-02-27 15:07:21', 'title' => ''], + 'Description' => ['description' => 'The description of the SDG.', 'type' => 'string', 'example' => 'Test SDG', 'title' => ''], + 'ParentSDGId' => ['description' => 'The ID of the source SDG for incremental creation. This is the value of the **FromSDGId** that you pass when you call the [CreateSDG](~~608128~~) operation.', 'type' => 'string', 'example' => 'sdg-xxxxx', 'title' => ''], + 'SDGId' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'example' => 'sdg-30e1fdba7196bc****', 'title' => ''], + 'Size' => ['description' => 'The size of the SDG, in GB.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Status' => ['description' => 'The creation status of the SDG. Valid values:'."\n" + ."\n" + .'- **sdg\\_making**: Creating'."\n" + ."\n" + .'- **sdg\\_saving**: Saving'."\n" + ."\n" + .'- **failed**: Failed'."\n" + ."\n" + .'- **success**: Succeeded', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'PerformanceLevel' => ['description' => 'The sharing ratio of the SDG.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the SDG was last updated.', 'type' => 'string', 'example' => '2023-02-27 16:04:39', 'title' => ''], + 'PreloadInfos' => [ + 'description' => 'The preloading configuration.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => ['description' => 'The node ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Namespace' => ['description' => 'The namespace.', 'type' => 'string', 'example' => 'test-20000', 'title' => ''], + 'RedundantNum' => ['description' => 'The number of redundant copies for faster responses from shared mounts.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DiskType' => ['description' => 'The disk type of the redundant shared disks.', 'type' => 'string', 'required' => false, 'example' => 'standard', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the entry was created, displayed in UTC and in the ISO 8601 format: `yyyy-MM-ddTHH:mm:ssZ`.', 'type' => 'string', 'example' => '2023-02-16T06:18:40Z', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the status of the preload entry was last updated.', 'type' => 'string', 'example' => '2021-01-22T08:17Z', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'CreationRegionId' => ['description' => 'The ID of the node where the SDG was created.', 'type' => 'string', 'example' => 'cn-hangzhou-26', 'title' => ''], + 'BillingType' => ['title' => 'Billing Type ', 'description' => 'The billing type.', 'type' => 'string', 'example' => 'Open'], + 'BillingCycle' => ['description' => 'The billing cycle of the shared disk.', 'type' => 'string', 'example' => 'Day', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries that match the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '49', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'InvalidEniId.NotFound', - 'errorMessage' => 'The specified NetworkInterfaceId does not exist. ', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'InvalidOperation.InstanceNotSupport', - 'errorMessage' => 'The specified instance does not support this operation. ', - ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'The specified VSwitchId does not exist.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.NotBelongNetwork', - 'errorMessage' => 'The specified VSwitch is not bound to instance\'s network.', - ], - [ - 'errorCode' => 'MaxEniPrivateIpsCountExceeded', - 'errorMessage' => 'The maximum number of privateIp in a eni is exceeded.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'Don\'t have enough private IPs in this switch.', - ], - [ - 'errorCode' => 'IncorrectEniStatus', - 'errorMessage' => 'Current eni status does not support this operation. ', - ], - [ - 'errorCode' => 'InvalidParameter.EniServiceManaged', - 'errorMessage' => 'The eni is managed by service.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"AssignedPrivateIpAddressesSet\\": {\\n \\"NetworkInterfaceId\\": \\"eni-uf620pb4d19ljnu4a64m\\",\\n \\"PrivateIpSet\\": [\\n \\"10.0.XXX\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'AssignPrivateIpAddresses', - ], - 'UnassignPrivateIpAddresses' => [ - 'summary' => 'Unassigns secondary private IP addresses from an elastic network interface (ENI).', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"SDGs\\": [\\n {\\n \\"AvaliableRegionIds\\": [\\n {\\n \\"CreationTime\\": \\"2023-02-27 15:13:26\\",\\n \\"RegionId\\": \\"cn-hangzhou-26\\",\\n \\"SnapshotId\\": \\"sp-517qu0tgznrg622he7nf4wd7n\\",\\n \\"Status\\": \\"success\\"\\n }\\n ],\\n \\"CreationInstanceId\\": \\"aic-5x20dyeos****\\",\\n \\"CreationDiskType\\": \\"standard\\",\\n \\"CreationTime\\": \\"2023-02-27 15:07:21\\",\\n \\"Description\\": \\"Test SDG\\",\\n \\"ParentSDGId\\": \\"sdg-xxxxx\\",\\n \\"SDGId\\": \\"sdg-30e1fdba7196bc****\\",\\n \\"Size\\": 20,\\n \\"Status\\": \\"success\\",\\n \\"PerformanceLevel\\": \\"100\\",\\n \\"UpdateTime\\": \\"2023-02-27 16:04:39\\",\\n \\"PreloadInfos\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Namespace\\": \\"test-20000\\",\\n \\"RedundantNum\\": 2,\\n \\"DiskType\\": \\"standard\\",\\n \\"CreationTime\\": \\"2023-02-16T06:18:40Z\\",\\n \\"UpdateTime\\": \\"2021-01-22T08:17Z\\"\\n }\\n ],\\n \\"CreationRegionId\\": \\"cn-hangzhou-26\\",\\n \\"BillingType\\": \\"Open\\",\\n \\"BillingCycle\\": \\"Day\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 49\\n}","type":"json"}]', + 'title' => 'Query SDG Information ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'DescribeSDGDeploymentStatus' => [ + 'summary' => 'Query the deployment status of SDG.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '205308', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'NetworkInterfaceId', + 'name' => 'SDGId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Pages start from page **1**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'DeploymentType', + 'in' => 'query', + 'schema' => ['description' => 'The deployment type.', 'type' => 'string', 'required' => false, 'example' => 'shared', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The deployment status of the SDG.', 'type' => 'string', 'required' => false, 'example' => 'success', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the ENI.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eni-f8z57orgmt6d144t****', + 'description' => 'IDs of Android in Container (AIC) instances.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'required' => false, 'example' => 'aic-xxxx', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PrivateIpAddress', + 'name' => 'RegionIds', 'in' => 'query', - 'style' => 'flat', + 'style' => 'json', 'schema' => [ - 'description' => 'The secondary private IP addresses to unassign.'."\n", + 'description' => 'The IDs of the nodes.', 'type' => 'array', - 'items' => [ - 'description' => 'Secondary private IP address N to unassign.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - ], - 'required' => true, + 'items' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => '', 'required' => false], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DiskIds', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'maxItems' => 10, + 'description' => 'List of disk IDs.', + 'title' => 'List of disk IDs', + 'type' => 'array', + 'items' => ['title' => 'Disk ID', 'description' => 'Disk ID', 'type' => 'string', 'example' => 'd-xxxxx', 'required' => false], + 'required' => false, + 'example' => '', ], ], ], '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' => '1ECC937A-AE0E-4626-BE51-DED1D6D1C888', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '68B85217-03B8-5141-9216-EA4D7C496B9A'], + 'DeploymentStatus' => [ + 'description' => 'The list of SDG deployment information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'example' => 'aic-xxxx', 'title' => ''], + 'MountType' => [ + 'description' => 'The deployment type.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- overlay: read/write splitting.'."\n" + ."\n" + .'- common: common deployment.', + 'enumValueTitles' => ['overlay' => '', 'common' => ''], + 'type' => 'string', + 'example' => 'overlay', + 'title' => '', + ], + 'RegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Status' => [ + 'description' => 'The deployment status of the SDG.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- sdg\\_deploying'."\n" + ."\n" + .'- success'."\n" + ."\n" + .'- failed', + 'enumValueTitles' => ['sdg_deploying' => '', 'success' => '', 'failed' => ''], + 'type' => 'string', + 'example' => 'success', + 'title' => '', + ], + 'Phase' => ['description' => 'The deployment phase of the SDG.', 'type' => 'string', 'example' => 'attach', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the status was last updated.', 'type' => 'string', 'example' => '2023-02-17T02:44:31Z', 'title' => ''], + 'BlockRwSplitSize' => ['description' => 'Writable layer size of the block device, in GiB. A value of 0 indicates that the capability is disabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'CacheSize' => ['description' => 'Cache size in GiB. A value of 0 indicates that the capability is disabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'DiskType' => ['description' => 'Disk type of the mounted shared disk.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + 'DiskAccessProtocol' => ['description' => 'Disk access protocol type of the mounted shared disk.', 'type' => 'string', 'example' => 'iscsi', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number. Pages start from page 1. Default value: 1', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries to return on each page. Default value: **10**.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of queried deployment records.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'InvalidEniId.NotFound', - 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', - ], - [ - 'errorCode' => 'InvalidPrivateIpAddress.NotFound', - 'errorMessage' => 'The specified privateIpAddress does not exist.', - ], - [ - 'errorCode' => 'IncorrectPrivateIpAddressStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\"\\n}","type":"json"}]', - 'title' => 'UnassignPrivateIpAddresses', - ], - 'CreateCluster' => [ - 'summary' => 'Creates a Container Service for Kubernetes (ACK) edge cluster.', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query SDG deployment status', + 'changeSet' => [ + ['createdAt' => '2025-06-03T06:08:01.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-11-26T06:48:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-13T08:34:58.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDGDeploymentStatus'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDGDeploymentStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68B85217-03B8-5141-9216-EA4D7C496B9A\\",\\n \\"DeploymentStatus\\": [\\n {\\n \\"InstanceId\\": \\"aic-xxxx\\",\\n \\"MountType\\": \\"overlay\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Status\\": \\"success\\",\\n \\"Phase\\": \\"attach\\",\\n \\"UpdateTime\\": \\"2023-02-17T02:44:31Z\\",\\n \\"BlockRwSplitSize\\": 20,\\n \\"CacheSize\\": 20,\\n \\"DiskType\\": \\"standard\\",\\n \\"DiskAccessProtocol\\": \\"iscsi\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 100\\n}","type":"json"}]', + ], + 'DescribeSDGSharedDisks' => [ + 'summary' => 'Queries details for shared disks in a specified SDG.', + 'path' => '', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensWT1XPU', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '205308', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'title' => '由数字、汉字、英文字符或短划线(-)组成,长度范围 1~63 个字符,且不能以短划线(-)开头。 ', - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mycluster-1', - ], - ], - [ - 'name' => 'ClusterType', + 'name' => 'SdgId', 'in' => 'query', - 'schema' => [ - 'title' => 'Kubernetes or ManagedKubernetes,前者为eck集群,后者为serverles vc'."\n" - .'必须与profile参数一起使用', - 'type' => 'string', - 'required' => true, - 'example' => 'Kubernetes', - ], + 'schema' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], ], [ - 'name' => 'Profile', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'Default or Serverless,前者为eck集群,后者为serverless vc'."\n" - .'必须与cluster_type参数一起使用', - 'type' => 'string', - 'required' => true, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-xx', 'title' => ''], ], [ - 'name' => 'EnsRegionId', + 'name' => 'Namespace', 'in' => 'query', - 'schema' => [ - 'title' => '集群所在的ENS Region ID ', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The namespace.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'KubernetesVersion', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '集群版本,与 Kubernetes 社区基线版本保持一致。建议选择最新版本,若不指定,默认使用最新版本。', - 'type' => 'string', - 'required' => false, - 'example' => '1.32.1', - ], + 'schema' => ['description' => 'The page number for a paged query.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], ], [ - 'name' => 'VpcId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '集群使用的专有网络。', - 'type' => 'string', - 'example' => 'vpc-xxxx', - ], + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], ], - [ - 'name' => 'VswitchIds', - 'in' => 'query', - 'allowEmptyValue' => false, - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '集群节点所在虚拟交换机id。vswitch_ids所处 ENS Region 必须与ens_region_id一致', - 'type' => 'array', - 'items' => [ - 'title' => '虚拟交换机ID列表', - 'type' => 'string', - 'example' => 'vsw-xxxxxxxxx', + 'title' => 'Schema of Response', + 'description' => 'Response schema', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'example' => 'xxxsxxxxx', 'title' => ''], + 'SharedDisks' => [ + 'title' => '', + 'description' => 'The list of shared disks.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The first disk in the list of shared disks.', + 'type' => 'object', + 'properties' => [ + 'SdgId' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'example' => 'sdg-fqehhfdjv', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-hangzhou-1', 'title' => ''], + 'Namespace' => ['description' => 'The namespace.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'DiskId' => ['description' => 'The ID of the shared disk.', 'type' => 'string', 'example' => 'd-57kvvpuj1rk2ghumlgs6', 'title' => ''], + 'SharedNum' => ['description' => 'The number of times the disk is mounted.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Status' => ['description' => 'The status of the shared disk.', 'type' => 'string', 'example' => 'avaliable', 'title' => ''], + 'DiskType' => ['description' => 'The type of the shared disk.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the shared disk was created.', 'type' => 'string', 'example' => '2025-10-09T15:13:21+08:00', 'title' => ''], + ], + 'example' => '', + ], + 'example' => '', + ], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], ], - 'required' => false, - 'example' => '["vsw-xxx", "vsw-yyy"]', + 'example' => '', ], ], - [ - 'name' => 'PodVswitchIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '每个 Pod 虚拟交换机分别对应一个 Worker 节点的虚拟交换机,Pod 虚拟交换机和 Worker 节点的虚拟交换机的可用区需保持一致。如果不填,默认使用vswitch_ids', - 'type' => 'array', - 'items' => [ - 'title' => '虚拟交换机ID列表', - 'type' => 'string', - 'example' => 'vsw-xxxxxxxx', - ], - 'docRequired' => false, - 'maxItems' => 64, - 'minItems' => 0, - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - [ - 'name' => 'ContainerCidr', - 'in' => 'query', - 'schema' => [ - 'title' => 'Pod 网络地址段,必须是有效的私有网段,即以下网段及其子网:10.0.0.0/8、172.16-31.0.0/12-16、192.168.0.0/16。不能与 VPC 及 VPC 内已有 Kubernetes 集群使用的网段重复,创建成功后不能修改。', - 'type' => 'string', - 'example' => '172.20.0.0/16', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeSDGSharedDisks', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDGSharedDisks'], ], + ], + 'ramActions' => [ [ - 'name' => 'ServiceCidr', - 'in' => 'query', - 'schema' => [ - 'title' => 'Service 网络地址段,可选范围:10.0.0.0/16-24,172.16-31.0.0/16-24,192.168.0.0/16-24 不能与 VPC 网段 10.1.0.0/21 及 VPC 内已有 Kubernetes 集群使用的网段重复,创建成功后不能修改。', - 'type' => 'string', - 'example' => '172.19.0.0/20', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDGSharedDisks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxsxxxxx\\",\\n \\"SharedDisks\\": [\\n {\\n \\"SdgId\\": \\"sdg-fqehhfdjv\\",\\n \\"RegionId\\": \\"cn-hangzhou-1\\",\\n \\"Namespace\\": \\"default\\",\\n \\"DiskId\\": \\"d-57kvvpuj1rk2ghumlgs6\\",\\n \\"SharedNum\\": 10,\\n \\"Status\\": \\"avaliable\\",\\n \\"DiskType\\": \\"standard\\",\\n \\"CreationTime\\": \\"2025-10-09T15:13:21+08:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10\\n}","type":"json"}]', + ], + 'DescribeSDGs' => [ + 'summary' => 'Query the information of created shared data groups.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PublicAccess', - 'in' => 'query', - 'schema' => [ - 'title' => '是否开启公网访问。通过 EIP 暴露 API Server,实现集群公网访问。'."\n" - .'● true:开启公网访问。'."\n" - .'● false:不开启公网访问。选择不开放时,则无法通过外网访问集群 API Server。'."\n" - .'默认值:false。', - 'type' => 'boolean', - 'example' => 'true', - 'default' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ9TTQL'], + ], + 'parameters' => [ [ - 'name' => 'LoadBalancerId', + 'name' => 'SDGIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '指定用于 APIServer 访问的 CLB 实例 ID。指定该参数时,将不再自动创建 APIServer CLB。', - 'type' => 'string', - 'example' => 'lb-wz9t256gqa3vbouk****', + 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.', 'type' => 'string', 'required' => false, 'example' => '["sdg-1", "sdg-2", "sdg-3"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ControlPlaneConfig', + 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'title' => '控制平面配置', - 'type' => 'object', - 'properties' => [ - 'InstanceSpec' => [ - 'title' => '节点实例类型', - 'type' => 'string', - 'example' => 'ens.esk.sn1.medium', - ], - 'ImageId' => [ - 'title' => '控制面虚拟机镜像 ID', - 'type' => 'string', - 'example' => 'm-5ul335umat4e2y9ynwi84p3f9', - ], - 'SystemDiskCategory' => [ - 'title' => '节点系统盘类型,可选类型:"local_ssd", "cloud_ssd", "cloud_efficiency", "local_hdd"', - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'SystemDiskSize' => [ - 'title' => '节点系统盘大小', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '120', - ], - 'Runtime' => [ - 'title' => '控制面节点运行时名称', - 'type' => 'string', - 'example' => 'containerd', - ], - 'NodePortRange' => [ - 'title' => '节点服务端口范围', - 'type' => 'string', - 'example' => '30000-32767', - ], - 'Size' => [ - 'title' => '控制面节点数量,可选值3或5', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'LoginPassword' => [ - 'type' => 'string', - ], - ], + 'description' => 'The AIC instance ID to be queried.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of instances that you want to query. By default, all instances are queried.'."\n" + ."\n" + .'> If you specify the **SDGIds** and **InstanceIds** parameters at the same time, the query result is the intersection of the two conditions.', 'type' => 'string', 'required' => false, 'example' => '["aic-1", "aic-2", "aic-3"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'ClusterId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'c34b69b095f8241c5a91cc2252dceb976', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '3703C4AC-9396-458C-8F25-1D701334D309'], + 'SDGs' => [ + 'description' => 'The information about the SDGs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the SDGs.', + 'type' => 'object', + 'properties' => [ + 'AvaliableRegionIds' => [ + 'description' => 'The IDs of available edge nodes.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of available nodes.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the SDG was created on the node.', 'type' => 'string', 'example' => '2023-02-27 15:13:26', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-hangzhou-26', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot.', 'type' => 'string', 'example' => 'mock-clone_snapshot_id', 'title' => ''], + 'Status' => ['description' => 'The status of the SDG on the node. Valid values:'."\n" + ."\n" + .'- **sdg\\_making**'."\n" + ."\n" + .'- **sdg\\_saving**'."\n" + ."\n" + .'- **sdg\\_copying**'."\n" + ."\n" + .'- **failed**'."\n" + ."\n" + .'- **success**', 'type' => 'string', 'example' => 'success', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CreationDiskType' => ['description' => 'The disk type of the master disk used to create the SDG.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + 'CreationRegionId' => ['description' => 'The ID of the node on which the SDG is created.', 'type' => 'string', 'example' => 'cn-hangzhou-26', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the SDG was first created.', 'type' => 'string', 'example' => '2023-02-27 15:07:21', 'title' => ''], + 'DeployedInstanceIds' => [ + 'description' => 'The deployment information.', + 'type' => 'array', + 'items' => [ + 'description' => 'Deployment status information list', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the SDG was deployed on the instance.', 'type' => 'string', 'example' => '2023-02-27 16:48:43', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-5x20dyeos****', 'title' => ''], + 'Status' => ['description' => 'The deployment status. Valid values:'."\n" + ."\n" + .'- **sdg\\_deploying**'."\n" + ."\n" + .'- **failed**'."\n" + ."\n" + .'- **success**', 'type' => 'string', 'example' => 'sdg_deploying', 'title' => ''], + 'DeploymentType' => ['description' => 'The deployment type of the SDG. Valid values:'."\n" + ."\n" + .'- common: common deployment.'."\n" + ."\n" + .'- overlay: read/write splitting deployment.', 'type' => 'string', 'example' => 'overlay', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Description' => ['description' => 'The description of the SDG.', 'type' => 'string', 'example' => 'Test SDG', 'title' => ''], + 'ParentSDGId' => ['description' => 'The ID of the source SDG from which you want to create an SDG. The value of this parameter is the value of the **FromSDGId** parameter that you need to specify when you call the [CreateSDG](~~608128~~) operation.', 'type' => 'string', 'example' => 'sdg-xxxxx', 'title' => ''], + 'SDGId' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'example' => 'sdg-30e1fdba7196bc****', 'title' => ''], + 'Size' => ['description' => 'The size of the SDG. Unit: GB.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Status' => ['description' => 'The status of the SDG creation. Valid values:'."\n" + ."\n" + .'- **sdg\\_making**'."\n" + ."\n" + .'- **sdg\\_saving**'."\n" + ."\n" + .'- **failed**'."\n" + ."\n" + .'- **success**', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the SDG was last updated.', 'type' => 'string', 'example' => '2023-02-27 16:04:39', 'title' => ''], + 'CreationInstanceId' => ['description' => 'The ID of the instance on which the SDG is created.', 'type' => 'string', 'example' => 'aic-5x20dyeos****', 'title' => ''], + 'BillingType' => ['title' => 'Billing type ', 'description' => 'Billing type', 'type' => 'string', 'example' => 'Open'], + 'PerformanceLevel' => ['title' => 'The sharing ratio of the SDG ', 'description' => 'The sharing ratio of the SDG.', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'BillingCycle' => ['description' => 'The billing cycle of the shared disk.', 'type' => 'string', 'example' => 'Hour', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3703C4AC-9396-458C-8F25-1D701334D309\\",\\n \\"SDGs\\": [\\n {\\n \\"AvaliableRegionIds\\": [\\n {\\n \\"CreationTime\\": \\"2023-02-27 15:13:26\\",\\n \\"RegionId\\": \\"cn-hangzhou-26\\",\\n \\"SnapshotId\\": \\"mock-clone_snapshot_id\\",\\n \\"Status\\": \\"success\\"\\n }\\n ],\\n \\"CreationDiskType\\": \\"standard\\",\\n \\"CreationRegionId\\": \\"cn-hangzhou-26\\",\\n \\"CreationTime\\": \\"2023-02-27 15:07:21\\",\\n \\"DeployedInstanceIds\\": [\\n {\\n \\"CreationTime\\": \\"2023-02-27 16:48:43\\",\\n \\"InstanceId\\": \\"aic-5x20dyeos****\\",\\n \\"Status\\": \\"sdg_deploying\\",\\n \\"DeploymentType\\": \\"overlay\\"\\n }\\n ],\\n \\"Description\\": \\"Test SDG\\",\\n \\"ParentSDGId\\": \\"sdg-xxxxx\\",\\n \\"SDGId\\": \\"sdg-30e1fdba7196bc****\\",\\n \\"Size\\": 20,\\n \\"Status\\": \\"success\\",\\n \\"UpdateTime\\": \\"2023-02-27 16:04:39\\",\\n \\"CreationInstanceId\\": \\"aic-5x20dyeos****\\",\\n \\"BillingType\\": \\"Open\\",\\n \\"PerformanceLevel\\": 100,\\n \\"BillingCycle\\": \\"Hour\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query SDG information ', + 'changeSet' => [ + ['createdAt' => '2024-07-02T09:20:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-06-27T11:11:06.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-04-24T06:08:45.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"ClusterId\\": \\"c34b69b095f8241c5a91cc2252dceb976\\"\\n}","type":"json"}]', - 'title' => 'CreateCluster', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* Creating a cluster is an asynchronous operation. After this operation returns the response, it takes 10 to 20 minutes to initialize the cluster. You can call the DescribeCluster operation to query the cluster status. After you create a cluster, you can call the DescribeClusterKubeConfig operation to obtain the cluster certificate.'."\n", - ], - 'DeleteCluster' => [ - 'summary' => '删除集群', - 'path' => '', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDGs'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDGs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeSecondaryPublicIpAddresses' => [ + 'summary' => 'Invoke DescribeSecondaryPublicIpAddresses to query the created secondary public IP addresses.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensWT1XPU', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '166854', + 'abilityTreeNodes' => ['FEATUREensYDMBHU'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'title' => '集群ID', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'cn-hangzhou-44'], ], - ], - '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-xxxxxxxx', - ], - ], - ], + [ + 'name' => 'SecondaryPublicIpId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the secondary public IP address.', 'type' => 'string', 'required' => false, 'example' => 'spi-5wys0pio93c9f9ukzj2f2fwyr', 'title' => ''], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', - 'title' => 'DeleteCluster', - ], - 'DescribeClustersV1' => [ - 'summary' => 'Queries a list of clusters.', - 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SecondaryPublicIpAddress', + 'in' => 'query', + 'schema' => ['description' => 'The secondary IP address.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '12.XXX.XXX.4'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - 'FEATUREens7IGAII', + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => ['description' => 'The Internet service provider. Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile.'."\n" + ."\n" + .'- unicom: China Unicom.'."\n" + ."\n" + .'- telecom: China Telecom.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'unicom'], ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'Name', + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'System specified parameters. Set the value to **DescribeClustersV1**.'."\n", - 'type' => 'string', + 'description' => 'An array of ENS edge zone IDs. Array length: 1 to 100.', + 'type' => 'array', + 'items' => ['description' => 'ENS edge zone ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], 'required' => false, - 'enumValueTitles' => [], - 'example' => 'test-eck-name', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClusterId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The number of the page to return. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '1'], ], [ - 'name' => 'EnsRegionId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'cn-hangzhou-58', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'title' => '', 'required' => false, 'example' => '50'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'Clusters' => [ - 'description' => 'An array that consists of the information about clusters.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '13', 'title' => ''], + 'SecondaryPublicIpAddresses' => [ + 'description' => 'The array of returned secondary IP addresses.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the cluster.'."\n", + 'description' => 'An array that returns the list of secondary public IP addresses.', 'type' => 'object', 'properties' => [ - 'ClusterId' => [ - 'description' => 'The cluster instance ID.'."\n", - 'type' => 'string', - 'example' => 'eck-xxxxxxx', - ], - 'Name' => [ - 'description' => 'The name of the monitoring object.'."\n", - 'type' => 'string', - 'example' => 'test-eck-name', - ], - 'AliUid' => [ - 'description' => 'The user IDs.'."\n", - 'type' => 'string', - 'example' => '1375383353108460', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-55', - ], - 'KubernetesVersion' => [ - 'description' => 'The Kubernetes version of the cluster. The Kubernetes versions supported are the same as the Kubernetes versions supported by open source Kubernetes. We recommend that you specify the latest Kubernetes version. If you do not specify this parameter, the latest Kubernetes version is used.'."\n", - 'type' => 'string', - 'example' => '1.31.9-aliyunedge.1', - ], - 'VpcId' => [ - 'description' => 'The VPC of the cluster.'."\n", - 'type' => 'string', - 'example' => 'n-5wsgr3xeolb2ist303wp3cscp', - ], - 'VswitchIds' => [ - 'description' => 'the id of the vswitch to which the cluster node belongs. The ENS region of the vswitch_ids service must be the same as that of the ens_region_id.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-xxxxxxx', - ], - ], - 'PodVswitchIds' => [ - 'description' => 'For each vSwitch that allocates IP addresses to worker nodes, you must select a vSwitch in the same zone to allocate IP addresses to pods. If you do not specify this parameter, vswitch_ids is used by default.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-xxxxxxx', - ], - ], - 'ContainerCidr' => [ - 'description' => 'The pod CIDR block. You can specify 10.0.0.0/8, 172.16-31.0.0/12-16, 192.168.0.0/16, or their subnets as the pod CIDR block. The pod CIDR block cannot overlap with the CIDR block of the VPC in which the cluster is deployed and the CIDR blocks of existing clusters in the VPC. You cannot modify the pod CIDR block after you create the cluster.'."\n", - 'type' => 'string', - 'example' => '10.0.0.0/8', - ], - 'ServiceCidr' => [ - 'description' => 'Valid values: 10.0.0.0/16-24, 172.16-31.0.0/16-24, and 192.168.0.0/16-24. The Service CIDR block cannot overlap with the VPC CIDR block 10.1.0.0/21 or the CIDR blocks of existing ACK clusters in the VPC. You cannot change the Service CIDR block after you create the cluster.'."\n", - 'type' => 'string', - 'example' => '192.168.0.0/16', - ], - 'PublicAccess' => [ - 'description' => 'Specifies whether to enable Internet access for the application. You can use an elastic IP address (EIP) to expose the API server. This way, you can access the cluster over the Internet. Valid values: true: enables Internet access for the application. false: disables Internet access to the API server of the cluster. If you set the value to false, the API server cannot be accessed over the Internet.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the ALB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-58dngw0fyimzzvwljfec7hy0z', - ], - 'ControlPlaneConfig' => [ - 'description' => 'Control plane configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceSpec' => [ - 'description' => 'The instance type.'."\n", - 'type' => 'string', - 'example' => 'ens.sn1.medium', - ], - 'ImageId' => [ - 'description' => 'The ID of the custom image.'."\n", - 'type' => 'string', - 'example' => 'm-68be8cb9f71fhyvjekxa23qsf', - ], - 'SystemDiskCategory' => [ - 'description' => 'The system disk type of the node. Valid value: local_ssd, cloud_ssd, cloud_efficiency, and local_hdd.'."\n", - 'type' => 'string', - 'example' => 'cloud_ssd', - ], - 'SystemDiskSize' => [ - 'description' => 'The size of the system disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'ContainerRuntime' => [ - 'description' => 'The runtime type used by the nodes.'."\n", - 'type' => 'string', - 'example' => 'containerd', - ], - 'NodePortRange' => [ - 'description' => 'The node port range.'."\n", - 'type' => 'string', - 'example' => '30000-32767', - ], - 'Size' => [ - 'description' => 'The number of control plane nodes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - ], - ], - 'JoinToken' => [ - 'description' => 'The cluster access authentication token.'."\n", - 'type' => 'string', - 'example' => 'xxxxxxxxxx.yyyyyyy', - ], - 'Config' => [ - 'description' => 'The kubeconfig file of the cluster.'."\n", - 'type' => 'any', - 'example' => '{'."\n" - .' "kind": "Config",'."\n" - .' "apiVersion": "v1",'."\n" - .' "preferences": {},'."\n" - .' "clusters": ['."\n" - .' {'."\n" - .' "name": "kubernetes",'."\n" - .' "cluster": {'."\n" - .' "server": "https://000.000.000.000:6443",'."\n" - .' "certificate-authority-data": ""'."\n" - .' }'."\n" - .' }'."\n" - .' ],'."\n" - .' "users": ['."\n" - .' {'."\n" - .' "name": "kubernetes-admin",'."\n" - .' "user": {'."\n" - .' "client-certificate-data": "",'."\n" - .' "client-key-data": ""'."\n" - .' }'."\n" - .' }'."\n" - .' ],'."\n" - .' "contexts": ['."\n" - .' {'."\n" - .' "name": "kubernetes-admin@kubernetes",'."\n" - .' "context": {'."\n" - .' "cluster": "kubernetes",'."\n" - .' "user": "kubernetes-admin"'."\n" - .' }'."\n" - .' }'."\n" - .' ],'."\n" - .' "current-context": "kubernetes-admin@kubernetes"'."\n" - .' }', - ], - 'State' => [ - 'type' => 'string', - ], + 'CidrMask' => ['description' => 'The subnet mask of the CIDR block.', 'type' => 'integer', 'format' => 'int32', 'example' => '24', 'title' => ''], + 'Gateway' => ['description' => 'The gateway.', 'type' => 'string', 'example' => '12.XXX.XXX.1', 'title' => ''], + 'SecondaryPublicIpAddress' => ['description' => 'The secondary public IP address.', 'type' => 'string', 'example' => '12.XXX.XXX.4', 'title' => ''], + 'Isp' => ['description' => 'The Internet service provider. Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile.'."\n" + ."\n" + .'- unicom: China Unicom.'."\n" + ."\n" + .'- telecom: China Telecom.', 'type' => 'string', 'example' => 'telecom', 'title' => ''], + 'SecondaryPublicIpId' => ['description' => 'The ID of the secondary public IP address.', 'type' => 'string', 'example' => 'spi-5wys0pio93c9f9ukzj2f2fwyr', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'example' => 'cn-beijing-15', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the secondary public IP address was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2023-07-25T09:43:49Z', 'title' => ''], + 'IpVersion' => ['description' => 'The version of the IP address. Valid values:'."\n" + ."\n" + .'- **ipv4**'."\n" + ."\n" + .'- **ipv6**', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query the list of secondary public IP addresses', + 'changeSet' => [ + ['createdAt' => '2025-03-27T03:09:58.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Clusters\\": [\\n {\\n \\"ClusterId\\": \\"eck-xxxxxxx\\",\\n \\"Name\\": \\"test-eck-name\\",\\n \\"AliUid\\": \\"1375383353108460\\",\\n \\"EnsRegionId\\": \\"cn-hangzhou-55\\",\\n \\"KubernetesVersion\\": \\"1.31.9-aliyunedge.1\\",\\n \\"VpcId\\": \\"n-5wsgr3xeolb2ist303wp3cscp\\",\\n \\"VswitchIds\\": [\\n \\"vsw-xxxxxxx\\"\\n ],\\n \\"PodVswitchIds\\": [\\n \\"vsw-xxxxxxx\\"\\n ],\\n \\"ContainerCidr\\": \\"10.0.0.0/8\\",\\n \\"ServiceCidr\\": \\"192.168.0.0/16\\",\\n \\"PublicAccess\\": true,\\n \\"LoadBalancerId\\": \\"lb-58dngw0fyimzzvwljfec7hy0z\\",\\n \\"ControlPlaneConfig\\": {\\n \\"InstanceSpec\\": \\"ens.sn1.medium\\",\\n \\"ImageId\\": \\"m-68be8cb9f71fhyvjekxa23qsf\\",\\n \\"SystemDiskCategory\\": \\"cloud_ssd\\",\\n \\"SystemDiskSize\\": 100,\\n \\"ContainerRuntime\\": \\"containerd\\",\\n \\"NodePortRange\\": \\"30000-32767\\",\\n \\"Size\\": 5\\n },\\n \\"JoinToken\\": \\"xxxxxxxxxx.yyyyyyy\\",\\n \\"Config\\": \\"{\\\\n \\\\\\"kind\\\\\\": \\\\\\"Config\\\\\\",\\\\n \\\\\\"apiVersion\\\\\\": \\\\\\"v1\\\\\\",\\\\n \\\\\\"preferences\\\\\\": {},\\\\n \\\\\\"clusters\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"kubernetes\\\\\\",\\\\n \\\\\\"cluster\\\\\\": {\\\\n \\\\\\"server\\\\\\": \\\\\\"https://000.000.000.000:6443\\\\\\",\\\\n \\\\\\"certificate-authority-data\\\\\\": \\\\\\"\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"users\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"kubernetes-admin\\\\\\",\\\\n \\\\\\"user\\\\\\": {\\\\n \\\\\\"client-certificate-data\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"client-key-data\\\\\\": \\\\\\"\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"contexts\\\\\\": [\\\\n {\\\\n \\\\\\"name\\\\\\": \\\\\\"kubernetes-admin@kubernetes\\\\\\",\\\\n \\\\\\"context\\\\\\": {\\\\n \\\\\\"cluster\\\\\\": \\\\\\"kubernetes\\\\\\",\\\\n \\\\\\"user\\\\\\": \\\\\\"kubernetes-admin\\\\\\"\\\\n }\\\\n }\\\\n ],\\\\n \\\\\\"current-context\\\\\\": \\\\\\"kubernetes-admin@kubernetes\\\\\\"\\\\n }\\",\\n \\"State\\": \\"running\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeClustersV1', - ], - 'DescribeClusterDetail' => [ - 'summary' => '查询集群详细信息', - 'path' => '', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSecondaryPublicIpAddresses'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSecondaryPublicIpAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 13,\\n \\"SecondaryPublicIpAddresses\\": [\\n {\\n \\"CidrMask\\": 24,\\n \\"Gateway\\": \\"12.XXX.XXX.1\\",\\n \\"SecondaryPublicIpAddress\\": \\"12.XXX.XXX.4\\",\\n \\"Isp\\": \\"telecom\\",\\n \\"SecondaryPublicIpId\\": \\"spi-5wys0pio93c9f9ukzj2f2fwyr\\",\\n \\"EnsRegionId\\": \\"cn-beijing-15\\",\\n \\"CreationTime\\": \\"2023-07-25T09:43:49Z\\",\\n \\"IpVersion\\": \\"ipv4\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeSecurityGroupAttribute' => [ + 'summary' => 'You can invoke DescribeSecurityGroupAttribute to query the security group rules of a security group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREens7IGAII', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREensZUGXT1'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-11111111', - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4ph***', 'title' => ''], ], ], '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-11111111', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'your-cluster-name', - ], - 'AliUid' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1574790082031102', - ], - 'EnsRegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-fuzhou-23', - ], - 'KubernetesVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1.32.1.aliyunedge.1', - ], - 'VpcId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'n-xxxxxxxxx', - ], - 'VswitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-xxxxxxxxx', - ], - ], - 'PodVswitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-xxxxxxxx', - ], - ], - 'ContainerCidr' => [ - 'description' => '', - 'type' => 'string', - 'example' => '172.20.0.0/16', - ], - 'ServiceCidr' => [ - 'description' => '', - 'type' => 'string', - 'example' => '172.19.0.0/20', - ], - 'PublicAccess' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'LoadBalancerId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'lb-5snthcyu1x10g7tywj7iu****', - ], - 'ControlPlaneConfig' => [ - 'description' => '', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'Description' => ['description' => 'The description of the security group.', 'type' => 'string', 'example' => 'testDescription1', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the destination security group.', 'type' => 'string', 'example' => 'sg-bp1gxw6bznjjvhu3****', 'title' => ''], + 'SecurityGroupName' => ['description' => 'The name of the destination security group.', 'type' => 'string', 'example' => 'testSecurityGroupName2', 'title' => ''], + 'Permissions' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'InstanceSpec' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ens.esk.sn1.medium', - ], - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'm-5ul335umat4e2y9ynwi84p3f9', - ], - 'SystemDiskCategory' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'SystemDiskSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '120', - ], - 'ContainerRuntime' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'containerd', - ], - 'NodePortRange' => [ - 'description' => '', - 'type' => 'string', - 'example' => '30000-32767', - ], - 'Size' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', + 'Permission' => [ + 'description' => 'Details about the rules.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time at which the security group rule was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2018-12-12T07:28:38Z', 'title' => ''], + 'Direction' => ['description' => 'The direction in which the security group rule is applied.', 'type' => 'string', 'example' => 'ingress', 'title' => ''], + 'Policy' => ['description' => 'The policy.', 'type' => 'string', 'example' => 'Accept', 'title' => ''], + 'PortRange' => ['description' => 'The source port range.', 'type' => 'string', 'example' => '80/80', 'title' => ''], + 'SourceCidrIp' => ['description' => 'The range of source IP addresses for inbound access control.', 'type' => 'string', 'example' => '0.0.0.0/0', 'title' => ''], + 'IpProtocol' => ['description' => 'The transport layer protocol.', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + 'DestCidrIp' => ['description' => 'The range of destination IP addresses for outbound access control.', 'type' => 'string', 'example' => '0.0.0.0/0', 'title' => ''], + 'Priority' => ['description' => 'The priority of the rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SourcePortRange' => ['description' => 'The source port number range for the security group.', 'type' => 'string', 'example' => '22/22', 'title' => ''], + 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'testDescription1', 'title' => ''], + 'Ipv6SourceCidrIp' => ['description' => 'The source IPv6 CIDR block.', 'type' => 'string', 'example' => '::/0', 'title' => ''], + 'Ipv6DestCidrIp' => ['description' => 'The destination IPv6 CIDR block.', 'type' => 'string', 'example' => '::/0', 'title' => ''], + ], + 'description' => 'Schema of Response', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], - ], - 'JoinToken' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'xxxx.yyy', - ], - 'Config' => [ 'description' => '', - 'type' => 'any', - 'example' => 'apiVersion: v1'."\n" - .'clusters:'."\n" - .'- cluster:'."\n" - .' certificate-authority-data: x'."\n" - .' server: https://111.111.111.111:6443'."\n" - .' name: kubernetes'."\n" - .'contexts:'."\n" - .'- context:'."\n" - .' cluster: kubernetes'."\n" - .' user: user'."\n" - .' name: eck-xxxxx'."\n" - .'current-context: eck-xxxx'."\n" - .'kind: Config'."\n" - .'preferences: {}'."\n" - .'users:'."\n" - .'- name: user'."\n" - .' user:'."\n" - .' client-certificate-data: x'."\n" - .' client-key-data: x', - ], - 'State' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'running', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-11111111\\",\\n \\"Name\\": \\"your-cluster-name\\",\\n \\"AliUid\\": \\"1574790082031102\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-23\\",\\n \\"KubernetesVersion\\": \\"1.32.1.aliyunedge.1\\",\\n \\"VpcId\\": \\"n-xxxxxxxxx\\",\\n \\"VswitchIds\\": [\\n \\"vsw-xxxxxxxxx\\"\\n ],\\n \\"PodVswitchIds\\": [\\n \\"vsw-xxxxxxxx\\"\\n ],\\n \\"ContainerCidr\\": \\"172.20.0.0/16\\",\\n \\"ServiceCidr\\": \\"172.19.0.0/20\\",\\n \\"PublicAccess\\": true,\\n \\"LoadBalancerId\\": \\"lb-5snthcyu1x10g7tywj7iu****\\",\\n \\"ControlPlaneConfig\\": {\\n \\"InstanceSpec\\": \\"ens.esk.sn1.medium\\",\\n \\"ImageId\\": \\"m-5ul335umat4e2y9ynwi84p3f9\\",\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SystemDiskSize\\": 120,\\n \\"ContainerRuntime\\": \\"containerd\\",\\n \\"NodePortRange\\": \\"30000-32767\\",\\n \\"Size\\": 3\\n },\\n \\"JoinToken\\": \\"xxxx.yyy\\",\\n \\"Config\\": \\"apiVersion: v1\\\\nclusters:\\\\n- cluster:\\\\n certificate-authority-data: x\\\\n server: https://111.111.111.111:6443\\\\n name: kubernetes\\\\ncontexts:\\\\n- context:\\\\n cluster: kubernetes\\\\n user: user\\\\n name: eck-xxxxx\\\\ncurrent-context: eck-xxxx\\\\nkind: Config\\\\npreferences: {}\\\\nusers:\\\\n- name: user\\\\n user:\\\\n client-certificate-data: x\\\\n client-key-data: x\\",\\n \\"State\\": \\"running\\"\\n}","type":"json"}]', - ], - 'DescribeClusterUserKubeconfig' => [ - 'summary' => '查询集群KubeConfig', - 'path' => '', - 'methods' => [ - 'post', + 'title' => 'Query security group rules', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSecurityGroupAttribute'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeSecurityGroupAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Description\\": \\"testDescription1\\",\\n \\"SecurityGroupId\\": \\"sg-bp1gxw6bznjjvhu3****\\",\\n \\"SecurityGroupName\\": \\"testSecurityGroupName2\\",\\n \\"Permissions\\": {\\n \\"Permission\\": [\\n {\\n \\"CreationTime\\": \\"2018-12-12T07:28:38Z\\",\\n \\"Direction\\": \\"ingress\\",\\n \\"Policy\\": \\"Accept\\",\\n \\"PortRange\\": \\"80/80\\",\\n \\"SourceCidrIp\\": \\"0.0.0.0/0\\",\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"DestCidrIp\\": \\"0.0.0.0/0\\",\\n \\"Priority\\": 1,\\n \\"SourcePortRange\\": \\"22/22\\",\\n \\"Description\\": \\"testDescription1\\",\\n \\"Ipv6SourceCidrIp\\": \\"::/0\\",\\n \\"Ipv6DestCidrIp\\": \\"::/0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeSecurityGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -37172,890 +25893,1225 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREens7IGAII', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '33022', + 'abilityTreeNodes' => ['FEATUREensZUGXT1'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp67acfmxazb4ph***', 'title' => ''], ], [ - 'name' => 'PrivateIpAddress', + 'name' => 'SecurityGroupName', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The name of the security group.', 'type' => 'string', 'required' => false, 'example' => 'DocTest', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.'."\n" + ."\n" + .'- Maximum value: 50.'."\n" + ."\n" + .'- Default value: 10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number.'."\n" + ."\n" + .'- Pages start from page 1.'."\n" + ."\n" + .'- Default value: 1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], ], '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' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'Config' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', '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 returned pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '49', 'title' => ''], + 'SecurityGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroup' => [ + 'description' => 'Details about security groups.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The creation time. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-01T06:08:46Z', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of associated instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Description' => ['description' => 'The description of the security group.', 'type' => 'string', 'example' => 'TestDescription', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group.', 'type' => 'string', 'example' => 'sg-bp67acfmxazb4ph***', 'title' => ''], + 'SecurityGroupName' => ['description' => 'The name of the security group.', 'type' => 'string', 'example' => 'DocTest', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The IDs of the instances that are associated with the security group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of instance.', 'type' => 'string', 'example' => 'i-5****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NetworkInterfaceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterfaceId' => [ + 'description' => 'The IDs of the ENIs that are associated with the security group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'example' => 'eni-5****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'any', - 'example' => 'apiVersion: v1'."\n" - .'clusters:'."\n" - .'- cluster:'."\n" - .' certificate-authority-data: x'."\n" - .' server: https://111.111.111.111:6443'."\n" - .' name: kubernetes'."\n" - .'contexts:'."\n" - .'- context:'."\n" - .' cluster: kubernetes'."\n" - .' user: user'."\n" - .' name: eck-xxxxx'."\n" - .'current-context: eck-xxxx'."\n" - .'kind: Config'."\n" - .'preferences: {}'."\n" - .'users:'."\n" - .'- name: user'."\n" - .' user:'."\n" - .' client-certificate-data: x'."\n" - .' client-key-data: x', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DescribeSecurityGroups', + 'summary' => 'Queries details about created security groups.', + 'changeSet' => [ + ['createdAt' => '2025-01-02T08:15:49.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Config\\": \\"apiVersion: v1\\\\nclusters:\\\\n- cluster:\\\\n certificate-authority-data: x\\\\n server: https://111.111.111.111:6443\\\\n name: kubernetes\\\\ncontexts:\\\\n- context:\\\\n cluster: kubernetes\\\\n user: user\\\\n name: eck-xxxxx\\\\ncurrent-context: eck-xxxx\\\\nkind: Config\\\\npreferences: {}\\\\nusers:\\\\n- name: user\\\\n user:\\\\n client-certificate-data: x\\\\n client-key-data: x\\"\\n}","type":"json"}]', - ], - 'ListClusterAddonInstances' => [ - 'summary' => 'List of Installed Addon Instances in the Cluster', - 'path' => '', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSecurityGroups'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSecurityGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 49,\\n \\"SecurityGroups\\": {\\n \\"SecurityGroup\\": [\\n {\\n \\"CreationTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"InstanceCount\\": 5,\\n \\"Description\\": \\"TestDescription\\",\\n \\"SecurityGroupId\\": \\"sg-bp67acfmxazb4ph***\\",\\n \\"SecurityGroupName\\": \\"DocTest\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"i-5****\\"\\n ]\\n },\\n \\"NetworkInterfaceIds\\": {\\n \\"NetworkInterfaceId\\": [\\n \\"eni-5****\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeSelfImages' => [ + 'summary' => 'Queries custom images.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - 'FEATUREens7IGAII', - ], - 'autoTest' => true, + 'operationType' => 'list', + 'abilityTreeCode' => '2061', + 'abilityTreeNodes' => ['FEATUREens10C7IY'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'Cluster ID.', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The page number to return. Pages start from page **1**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image. Fuzzy search is supported.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'centos_6_08_64_20G_a****'], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. Fuzzy search is supported.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'centos_6_08_64_20G_a****'], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the snapshot.', 'type' => 'string', 'required' => false, 'example' => 'sp-5xg63dmojc1oaa3pk****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response Schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - 'Addons' => [ - 'description' => 'List of addon information.', - 'type' => 'array', - 'items' => [ - 'description' => 'Addon information.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'Addon name.', - 'type' => 'string', - 'example' => 'test1', - ], - 'Version' => [ - 'description' => 'Version number.', - 'type' => 'string', - 'example' => 'v1', - ], - 'CleanupCloudResources' => [ - 'description' => 'Whether to automatically clean up associated cloud resources.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Status' => [ - 'description' => 'Current addon status. Values:'."\n" - ."\n" - .'- **enabling**: Enabling.'."\n" - .'- **enabled**: Enabled.'."\n" - .'- **disabling**: Disabling.'."\n" - .'- **disabled**: Disabled.'."\n" - .'- **upgrading**: Upgrading.', - 'type' => 'string', - 'example' => 'enabled', - ], - 'ConfigSchema' => [ - 'description' => 'List of custom parameter schemas for the addon.', - 'type' => 'array', - 'items' => [ - 'description' => 'Custom parameter schema for the addon.', - 'type' => 'object', - 'properties' => [ - 'AppVersion' => [ - 'description' => 'Application version.', - 'type' => 'string', - 'example' => '7380581386597434629002', - ], - 'ConfigVersion' => [ - 'description' => 'Configuration version.', - 'type' => 'string', - 'example' => '4572581386436834662215', - ], - 'Name' => [ - 'description' => 'Component name.', - 'type' => 'string', - 'example' => 'edge-csi-lite', - ], - 'Params' => [ - 'description' => 'Custom parameters.', - 'type' => 'string', - 'example' => '{"key1": "val1"}', + 'Code' => ['description' => 'The HTTP status code that is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => 'The image information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Architecture' => ['description' => 'The image architecture. Valid values:'."\n" + ."\n" + .'- i386'."\n" + ."\n" + .'- x86\\_64', 'type' => 'string', 'example' => 'x86_64', 'title' => ''], + 'CreationTime' => ['description' => 'The image creation time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2017-12-08T12:10:03Z', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_a****', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'centos_6_08_64_20G_a****', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The source of the image. Valid values:'."\n" + ."\n" + .'- **others**: a custom image that is shared by other Alibaba Cloud accounts.'."\n" + ."\n" + .'- **self**: your own custom image.', 'type' => 'string', 'example' => 'self', 'title' => ''], + 'ImageSize' => ['description' => 'The size of the image. Unit: GiB.', 'type' => 'string', 'example' => '20', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-5iqczfxps7csjrxeca****', 'title' => ''], + 'OsVersion' => ['description' => 'The operating system version.', 'type' => 'string', 'example' => '7.2', 'title' => ''], + 'Platform' => ['description' => 'The platform.'."\n" + ."\n" + .'- centos'."\n" + ."\n" + .'- ubuntu'."\n" + ."\n" + .'- alios'."\n" + ."\n" + .'- debian'."\n" + ."\n" + .'- rhel'."\n" + ."\n" + .'- windows', 'type' => 'string', 'example' => 'centos', 'title' => ''], + 'Status' => ['description' => 'The state of the image.'."\n" + ."\n" + .'- Creating.'."\n" + ."\n" + .'- Packing.'."\n" + ."\n" + .'- Uploading.'."\n" + ."\n" + .'- Pack\\_failed.'."\n" + ."\n" + .'- Upload\\_failed.'."\n" + ."\n" + .'- Available: Only images in the Available state can be used and operated.'."\n" + ."\n" + .'- Unavailable.'."\n" + ."\n" + .'- Copying.', 'type' => 'string', 'example' => 'Creating', 'title' => ''], + 'ComputeType' => ['description' => 'Computing type. ens\\_vm/ens: x86 computing. bare\\_metal: x86 bare machine or x86 bare metal. arm\\_vm: ARM computing. arm\\_bare\\_metal: ARM bare machine or ARM bare metal. pcfarm: heterogeneous computing.', 'type' => 'string', 'example' => 'ens_vm', 'title' => ''], + 'SnapshotId' => ['description' => 'The snapshot ID.', 'type' => 'string', 'example' => 'sp-5yt3bdedxzdz6t6uuw****', 'title' => ''], + 'DiskDeviceMappings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskDeviceMapping' => [ + 'description' => 'The mappings between the disk and the snapshot in the image.', + 'type' => 'array', + 'items' => [ + 'description' => 'The mappings between the disk and the snapshot in the image.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the disk. Valid values:'."\n" + ."\n" + .'- system: system disk.'."\n" + ."\n" + .'- data: data disk.', 'type' => 'string', 'example' => 'Data', 'title' => ''], + 'Size' => ['description' => 'The size of the disk. Unit: GiB.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'Format' => ['description' => 'The format of the image.', 'type' => 'string', 'example' => 'Image format.'."\n" + .'raw'."\n" + .'qcow2', 'title' => ''], + 'imageId' => ['description' => 'The ID of image.', 'type' => 'string', 'example' => 'i-test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'ImageStorageSize' => ['description' => 'The size of the image storage.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-wulanchabu', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A8B8EB73-B4FD-4262-8EF6-680DF39C9BA0', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page. Maximum value: 50. Default value: 10.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"test1\\",\\n \\"Version\\": \\"v1\\",\\n \\"CleanupCloudResources\\": true,\\n \\"Status\\": \\"enabled\\",\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"7380581386597434629002\\",\\n \\"ConfigVersion\\": \\"4572581386436834662215\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": \\"{\\\\\\"key1\\\\\\": \\\\\\"val1\\\\\\"}\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'List of installed add-on instances in the cluster', - 'translator' => 'machine', - ], - 'GetClusterAddonInstance' => [ - 'summary' => '查询集群内指定组件实例信息', - 'path' => '', - 'methods' => [ - 'post', + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"Architecture\\": \\"x86_64\\",\\n \\"CreationTime\\": \\"2017-12-08T12:10:03Z\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_a****\\",\\n \\"ImageName\\": \\"centos_6_08_64_20G_a****\\",\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"ImageSize\\": \\"20\\",\\n \\"InstanceId\\": \\"i-5iqczfxps7csjrxeca****\\",\\n \\"OsVersion\\": \\"7.2\\",\\n \\"Platform\\": \\"centos\\",\\n \\"Status\\": \\"Creating\\",\\n \\"ComputeType\\": \\"ens_vm\\",\\n \\"SnapshotId\\": \\"sp-5yt3bdedxzdz6t6uuw****\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"Data\\",\\n \\"Size\\": \\"100\\",\\n \\"Format\\": \\"Image format.\\\\nraw\\\\nqcow2\\",\\n \\"imageId\\": \\"i-test\\"\\n }\\n ]\\n },\\n \\"ImageStorageSize\\": \\"400\\",\\n \\"RegionId\\": \\"cn-wulanchabu\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A8B8EB73-B4FD-4262-8EF6-680DF39C9BA0\\",\\n \\"PageSize\\": \\"10\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"TotalCount\\": \\"1\\"\\n}","type":"json"}]', + 'title' => 'DescribeSelfImages', + 'changeSet' => [ + ['createdAt' => '2025-02-18T09:25:50.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-01-10T03:41:28.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-16T01:35:25.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-22T11:08:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-04-11T01:20:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-02T05:54:56.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-09-22T02:47:16.000Z', 'description' => 'Request parameters changed'], ], - 'security' => [ + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSelfImages'], + ], + ], + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSelfImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', + 'translator' => 'manual', + ], + 'DescribeServcieSchedule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', ], + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '474bdef0-d149-4695-abfb-52912d91****', 'title' => ''], ], [ - 'name' => 'InstanceName', + 'name' => 'Uuid', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'edge-csi-lite', - ], + 'schema' => ['description' => 'The unique ID of the device.', 'type' => 'string', 'required' => true, 'example' => 'hdm_f022bf160dc69e2d8eb421e508eb****', 'title' => ''], + ], + [ + 'name' => 'PodConfigName', + 'in' => 'query', + 'schema' => ['description' => 'This parameter does not take effect.', 'type' => 'string', 'required' => false, 'example' => 'android', 'title' => ''], ], ], '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'edge-csi-lite', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'v1', - ], - 'CleanupCloudResources' => [ - 'description' => '', - 'type' => 'boolean', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'enabled', - ], - 'ConfigSchema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', - ], - 'ConfigVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'edge-csi-lite', - ], - 'Params' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{"k1":"v1"}', + 'Index' => ['description' => 'The index number of the scheduled virtual device (pod).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the scheduled instance.', 'type' => 'string', 'example' => 'i-5myukg7hnpbto7m024002****', 'title' => ''], + 'InstanceIp' => ['description' => 'The ID of the scheduled instance.', 'type' => 'string', 'example' => '120.26.XX.XX', 'title' => ''], + 'InstancePort' => ['description' => 'The start port of the scheduled instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '3306', 'title' => ''], + 'PodAbstractInfo' => [ + 'description' => 'The summary information about the scheduled virtual device.', + 'type' => 'object', + 'properties' => [ + 'ContainerService' => ['description' => 'The name of the container service.', 'type' => 'boolean', 'example' => 'android', 'title' => ''], + 'ContainerStatuses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ContainerStatus' => [ + 'description' => 'The information about the container.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ContainerId' => ['description' => 'The ID of the container.', 'type' => 'string', 'example' => 'container_e79_1638372147094_158091_02_000001', 'title' => ''], + 'Name' => ['description' => 'The name of the container.', 'type' => 'string', 'example' => 'nginx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'Name' => ['description' => 'The name of the pod.', 'type' => 'boolean', 'example' => 'gcs-prod-websocket-eip-telecom', 'title' => ''], + 'Namespace' => ['description' => 'The name of the namespace.', 'type' => 'boolean', 'example' => 'default-aliyun', 'title' => ''], + 'ResourceScope' => ['description' => 'The pod scope.', 'type' => 'boolean', 'example' => 'FDN', 'title' => ''], + 'Status' => ['description' => 'The status of the pod.', 'type' => 'boolean', 'example' => 'RUNNING', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + 'RequestRepeated' => ['description' => 'Indicates whether the request is repeated.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TcpPorts' => ['description' => 'The TCP port range of the scheduled instance or container. The value is in the ${from}-$-{to} format. Example: 80-88.', 'type' => 'string', 'example' => '80-88', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'LimitExceeded.SecurityGroup', 'errorMessage' => 'The number of securityGroup exceeds the limit.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'DescribeServcieSchedule', + 'summary' => 'You can call the DescribeServcieSchedule to query the real-time status of the instance device or container that is being occupied by the UUID.', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:51.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Version\\": \\"v1\\",\\n \\"CleanupCloudResources\\": true,\\n \\"Status\\": \\"enabled\\",\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"d0ead1f4e28de0f9e3c86588409a88a4\\",\\n \\"ConfigVersion\\": \\"d0ead1f4e28de0f9e3c86588409a88a4\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": \\"{\\\\\\"k1\\\\\\":\\\\\\"v1\\\\\\"}\\"\\n }\\n ]\\n}","type":"json"}]', - ], - 'UnInstallClusterAddons' => [ - 'summary' => '卸载集群组件', - 'path' => '', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeServcieSchedule'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeServcieSchedule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Index\\": 2,\\n \\"InstanceId\\": \\"i-5myukg7hnpbto7m024002****\\",\\n \\"InstanceIp\\": \\"120.26.XX.XX\\",\\n \\"InstancePort\\": 3306,\\n \\"PodAbstractInfo\\": {\\n \\"ContainerService\\": true,\\n \\"ContainerStatuses\\": {\\n \\"ContainerStatus\\": [\\n {\\n \\"ContainerId\\": \\"container_e79_1638372147094_158091_02_000001\\",\\n \\"Name\\": \\"nginx\\"\\n }\\n ]\\n },\\n \\"Name\\": true,\\n \\"Namespace\\": true,\\n \\"ResourceScope\\": true,\\n \\"Status\\": true\\n },\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"RequestRepeated\\": false,\\n \\"TcpPorts\\": \\"80-88\\"\\n}","type":"json"}]', + ], + 'DescribeServerLoadBalancerListenMonitor' => [ + 'summary' => 'Queries the monitoring data of an edge load balancer (ELB) instance based on the listener.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - 'FEATUREens7IGAII', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-05-16 15:00:00'], ], [ - 'name' => 'Addons', + 'name' => 'EndTime', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'edge-csi-lite', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'schema' => ['description' => 'The end of the time range to query. The maximum range between StartTime and EndTime is 24 hours.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-05-16 16:00:00'], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5rcvo1n1t3hykfhhjwjgqp****'], + ], + [ + 'name' => 'VPort', + 'in' => 'query', + 'schema' => ['description' => 'The virtual IP address (VIP) port, such as 80, 8080, or 443.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '80'], + ], + [ + 'name' => 'Proto', + 'in' => 'query', + 'schema' => ['description' => 'The request protocol, such as http, https, or tcp.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'tcp'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'Schema of Response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-xxxxxxxx', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + 'ServerLoadBalancerMonitorData' => [ + 'description' => 'The array of the monitoring data.', + 'type' => 'array', + 'items' => [ + 'description' => 'The monitoring data.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => 'lb-5rcvo1n1t3hykfhhjwjgqp****'], + 'LoadBalancerName' => ['description' => 'The name of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => 'esk-edge-service-lb-8377****'], + 'EnsRegionId' => ['description' => 'The ID of the node to which the ELB instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'cn-fuzhou-7'], + 'LoadBalancerSpec' => ['description' => 'The specification of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => 'elb.s2.medium'], + 'Vip' => ['description' => 'The VIP of the instance.', 'type' => 'string', 'title' => '', 'example' => '10.0****'], + 'Vni' => ['description' => 'The ID of the tunnel.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '52497'], + 'Vport' => ['description' => 'The VIP port, such as 80, 8080, or 443.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '80'], + 'Proto' => ['description' => 'The request protocol, such as http, https, or tcp.', 'type' => 'string', 'title' => '', 'example' => 'tcp'], + 'Acc' => ['description' => 'The total number of requests.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], + 'Reqs2xx' => ['description' => 'The number of requests with HTTP 2xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'Reqs3xx' => ['description' => 'The number of requests with HTTP 3xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Reqs4xx' => ['description' => 'The number of requests with HTTP 4xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Reqs5xx' => ['description' => 'The number of requests with HTTP 5xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'RtAvg' => ['description' => 'The average response time. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1037'], + 'BizTime' => ['description' => 'The business time of the log. Logs are collected every minute.', 'type' => 'string', 'title' => '', 'example' => '2024-05-16 15:00:00'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['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' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', - ], - 'InstallClusterAddons' => [ - 'summary' => '安装集群组件', - 'path' => '', - 'methods' => [ - 'post', + 'title' => 'DescribeServerLoadBalancerListenMonitor', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeServerLoadBalancerListenMonitor'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeServerLoadBalancerListenMonitor', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"ServerLoadBalancerMonitorData\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5rcvo1n1t3hykfhhjwjgqp****\\",\\n \\"LoadBalancerName\\": \\"esk-edge-service-lb-8377****\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-7\\",\\n \\"LoadBalancerSpec\\": \\"elb.s2.medium\\",\\n \\"Vip\\": \\"10.0****\\",\\n \\"Vni\\": 52497,\\n \\"Vport\\": 80,\\n \\"Proto\\": \\"tcp\\",\\n \\"Acc\\": 20,\\n \\"Reqs2xx\\": 10,\\n \\"Reqs3xx\\": 0,\\n \\"Reqs4xx\\": 0,\\n \\"Reqs5xx\\": 10,\\n \\"RtAvg\\": 1037,\\n \\"BizTime\\": \\"2024-05-16 15:00:00\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeServerLoadBalancerMonitor' => [ + 'summary' => 'Queries the request monitoring data of an edge load balancer (ELB) instance.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - 'FEATUREens7IGAII', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-09-15 16:00:00'], ], - [ - 'name' => 'Addons', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'edge-csi-lite', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - 'ConfigSchema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppVersion' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '859e9d595b2974ed79c444658d1dea89', - ], - 'ConfigVersion' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '4155709cd12a09bdb8cbaca71bf03233', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'edge-csi-lite', - ], - 'Params' => [ - 'description' => '', - 'type' => 'object', - 'required' => false, - 'example' => '{"k1":"v1"}', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => true, - ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. The maximum range between StartTime and EndTime is 24 hours.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2024-09-15 17:00:00'], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5sc1s9zrui8lpb8u7cl4f****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'Schema of Response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-xxxxxxxx', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74'], + 'ServerLoadBalancerMonitorData' => [ + 'description' => 'The array of the monitoring data.', + 'type' => 'array', + 'items' => [ + 'description' => 'The monitoring data.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => 'lb-5sc1s9zrui8lpb8u7cl4f****'], + 'LoadBalancerName' => ['description' => 'The name of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => 'esk-edge-service-lb-a34****'], + 'EnsRegionId' => ['description' => 'The ID of the node to which the ELB instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'cn-wuxi-10'], + 'LoadBalancerSpec' => ['description' => 'The specification of the ELB instance.', 'type' => 'string', 'title' => '', 'example' => 'elb.s2.medium'], + 'Vip' => ['description' => 'The virtual IP address (VIP) of the instance.', 'type' => 'string', 'title' => '', 'example' => '10.0****'], + 'Vni' => ['description' => 'The ID of the tunnel.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '3018'], + 'Acc' => ['description' => 'The total number of requests.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '30'], + 'Reqs2xx' => ['description' => 'The number of requests with HTTP 2xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '25'], + 'Reqs3xx' => ['description' => 'The number of requests with HTTP 3xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Reqs4xx' => ['description' => 'The number of requests with HTTP 4xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], + 'Reqs5xx' => ['description' => 'The number of requests with HTTP 5xx status code returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'RtAvg' => ['description' => 'The average response time. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1404'], + 'BizTime' => ['description' => 'The business time of the log. Logs are collected every minute.', 'type' => 'string', 'title' => '', 'example' => '2024-09-15 16:00:00'."\n"], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['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' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', - ], - 'ModifyClusterAddon' => [ - 'summary' => '修改集群组件实例配置', - 'path' => '', - 'methods' => [ - 'post', + 'title' => 'DescribeServerLoadBalancerMonitor', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeServerLoadBalancerMonitor'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeServerLoadBalancerMonitor', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"ServerLoadBalancerMonitorData\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-5sc1s9zrui8lpb8u7cl4f****\\",\\n \\"LoadBalancerName\\": \\"esk-edge-service-lb-a34****\\",\\n \\"EnsRegionId\\": \\"cn-wuxi-10\\",\\n \\"LoadBalancerSpec\\": \\"elb.s2.medium\\",\\n \\"Vip\\": \\"10.0****\\",\\n \\"Vni\\": 3018,\\n \\"Acc\\": 30,\\n \\"Reqs2xx\\": 25,\\n \\"Reqs3xx\\": 0,\\n \\"Reqs4xx\\": 5,\\n \\"Reqs5xx\\": 0,\\n \\"RtAvg\\": 1404,\\n \\"BizTime\\": \\"2024-09-15 16:00:00\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeSnapshots' => [ + 'summary' => 'Call `DescribeSnapshots` to retrieve snapshot information.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - 'FEATUREens7IGAII', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '163788', + 'abilityTreeNodes' => ['FEATUREensDKRRMB'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the ENS node. You can call [DescribeEnsRegions](~~2637662~~) to query ENS node IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ComponentName', + 'name' => 'DiskId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'edge-csi-lite', - ], + 'schema' => ['description' => 'The ID of the cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'd-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'Addon', + 'name' => 'SnapshotId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'A single snapshot ID, or a JSON array containing up to 100 snapshot IDs.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'EnsRegionIds', + 'in' => 'query', + 'schema' => ['description' => 'A JSON array that contains 1 to 100 ENS node IDs.', 'type' => 'string', 'required' => false, 'example' => '["cn-suzhou-telecom","cn-chengdu-telecom"]', 'title' => ''], + ], + [ + 'name' => 'SnapshotName', + 'in' => 'query', + 'schema' => ['description' => 'The display name of the snapshot. The name must be 2 to 128 characters long. It must start with a letter or a Chinese character and cannot begin with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'testSnapshotName', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'i-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number to return.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'edge-csi-lite', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - 'ConfigSchema' => [ - 'description' => '', + 'Snapshots' => [ + 'description' => 'A list of snapshot details.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'AppVersion' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', - ], - 'ConfigVersion' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'edge-csi-lite', - ], - 'Params' => [ - 'description' => '', - 'type' => 'object', - 'required' => false, - 'example' => '{"k1":"v1"}', - ], + 'SnapshotId' => ['description' => 'The snapshot ID.', 'type' => 'string', 'example' => 's-bp67acfmxazb4p****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the snapshot was created. The time is displayed in UTC and is in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2020-08-20 14:52:28', 'title' => ''], + 'Status' => ['description' => 'The status of the snapshot. Valid values:'."\n" + ."\n" + .'- creating: The snapshot is being created.'."\n" + ."\n" + .'- available: The snapshot is available.'."\n" + ."\n" + .'- deleting: The snapshot is being deleted.'."\n" + ."\n" + .'- error: The snapshot fails to be created.', 'type' => 'string', 'example' => 'available', 'title' => ''], + 'Size' => ['description' => 'The capacity of the disk. Unit: MiB.', 'type' => 'string', 'example' => '40', 'title' => ''], + 'SourceDiskId' => ['description' => 'The ID of the source disk. This parameter is retained even after the source disk is released.', 'type' => 'string', 'example' => 'd-bp67acfmxazb4ph****', 'title' => ''], + 'SourceDiskType' => ['description' => 'The attribute of the disk. Valid values:'."\n" + ."\n" + .'- 1: system disk.'."\n" + ."\n" + .'- 2: data disk.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'SourceDiskCategory' => ['description' => 'The category of the disk. Valid values:'."\n" + ."\n" + .'- cloud\\_efficiency: ultra disk.'."\n" + ."\n" + .'- cloud\\_ssd: standard SSD.'."\n" + ."\n" + .'- local\\_hdd: local HDD.'."\n" + ."\n" + .'- local\\_ssd: local SSD.', 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'SnapshotName' => ['description' => 'The name of the snapshot. This parameter is returned only if a name was specified when the snapshot was created.', 'type' => 'string', 'example' => 'testSnapshotName', 'title' => ''], + 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'testDescription', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the Edge Node Service (ENS) node.', 'type' => 'string', 'example' => 'cn-beijing-15', 'title' => ''], + 'SourceSnapshotId' => ['description' => 'The ID of the source snapshot.', 'type' => 'string', 'example' => 's-bpdfer893jfkdqe****', 'title' => ''], + 'SourceEnsRegionId' => ['description' => 'The ID of the source ENS node.', 'type' => 'string', 'example' => 'cn-hangzhou-27', 'title' => ''], + 'SnapshotType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], - 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of snapshots.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9635ED2E-3103-1606-84D4-9F8E816B19F9', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DescribeSnapshots', + 'changeSet' => [ + ['createdAt' => '2024-11-19T07:07:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-01-22T06:18:06.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-12-21T08:03:40.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSnapshots'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSnapshots', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Snapshots\\": [\\n {\\n \\"SnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"CreationTime\\": \\"2020-08-20 14:52:28\\",\\n \\"Status\\": \\"available\\",\\n \\"Size\\": \\"40\\",\\n \\"SourceDiskId\\": \\"d-bp67acfmxazb4ph****\\",\\n \\"SourceDiskType\\": \\"1\\",\\n \\"SourceDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SnapshotName\\": \\"testSnapshotName\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"EnsRegionId\\": \\"cn-beijing-15\\",\\n \\"SourceSnapshotId\\": \\"s-bpdfer893jfkdqe****\\",\\n \\"SourceEnsRegionId\\": \\"cn-hangzhou-27\\",\\n \\"SnapshotType\\": \\"\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"9635ED2E-3103-1606-84D4-9F8E816B19F9\\"\\n}","type":"json"}]', + ], + 'DescribeSnatAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '168709', + 'abilityTreeNodes' => ['FEATUREensSHG96R'], + ], + 'parameters' => [ + [ + 'name' => 'SnatEntryId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'snat-5tc08qfj5ecblfdn2rqr9****', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'NatGatewayId' => ['description' => 'The ID of the Network Address Translation (NAT) gateway.', 'type' => 'string', 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], + 'SnatEntryId' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'example' => 'snat-5tfi6f8gds82mjmlofeym****', 'title' => ''], + 'SnatIp' => ['description' => 'The EIP specified in the SNAT entry. Multiple EIPs are separated by commas (,).', 'type' => 'string', 'example' => '120. XXX. XXX.71', 'title' => ''], + 'SourceCIDR' => ['description' => 'The source CIDR block specified in the SNAT entry.', 'type' => 'string', 'example' => '10. XXX. XXX.0/24', 'title' => ''], + 'SnatEntryName' => ['description' => 'The name of the SNAT entry.', 'type' => 'string', 'example' => 'test0', 'title' => ''], + 'Status' => ['description' => 'The status of the SNAT entry.'."\n" + ."\n" + .'- Pending: The SNAT entry is being created or modified.'."\n" + ."\n" + .'- Available: The SNAT entry is available.'."\n" + ."\n" + .'- Deleting: The SNAT entry is being deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the entry was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2020-04-26T15:38:27Z', 'title' => ''], + 'SnatIps' => [ + 'description' => 'The information about the EIP specified in the SNAT entry.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the EIP specified in the SNAT entry.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address.', 'type' => 'string', 'example' => '203. XXX. XXX.139', 'title' => ''], + 'Status' => ['description' => 'The status of the IP address.'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Stopping'."\n" + ."\n" + .'- Stopped'."\n" + ."\n" + .'- Starting'."\n" + ."\n" + .'- Releasing', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the IP address was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2020-04-26T15:38:27Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'StandbySnatIp' => ['description' => 'The secondary EIP specified in the SNAT entry. Multiple secondary EIPs are separated by commas (,).', 'type' => 'string', 'example' => '101. XXX. XXX.4', 'title' => ''], + 'StandbyStatus' => ['description' => 'The status of the secondary EIP.'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Stopping'."\n" + ."\n" + .'- Stopped'."\n" + ."\n" + .'- Starting', 'type' => 'string', 'example' => 'Stopped', 'title' => ''], + 'Type' => ['description' => 'The type of the NAT.'."\n" + ."\n" + .'- Empty: symmetric NAT.'."\n" + ."\n" + .'- FullCone: full cone NAT.', 'type' => 'string', 'example' => 'FullCone', 'title' => ''], + 'IdleTimeout' => ['description' => 'The timeout period. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'DestCIDR' => ['description' => 'The destination CIDR block. The rule takes effect only on requests that access the destination CIDR block.', 'type' => 'string', 'example' => '101. XXX. XXX.0/24', 'title' => ''], + 'IspAffinity' => ['description' => 'Whether to enable operator affinity. Value taking:'."\n" + ."\n" + .'- false:Do not open.'."\n" + ."\n" + .'- true:Open.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EipAffinity' => ['description' => 'Specifies whether to enable IP affinity. Valid values:'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'> After you enable IP affinity, if multiple EIPs are associated with an SNAT entry, one client uses the same EIP to for communication. If IP affinity is disabled, the client uses a random EIP for communication.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SnatNotFound', 'errorMessage' => 'The specified snat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeSnatAttribute', + 'summary' => 'Queries a specific source network address translation (SNAT) entry.', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:29.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-11-28T07:20:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-24T08:49:03.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-10-19T08:32:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-18T09:09:04.000Z', 'description' => 'Response parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSnatAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeSnatAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"SnatEntryId\\": \\"snat-5tfi6f8gds82mjmlofeym****\\",\\n \\"SnatIp\\": \\"120. XXX. XXX.71\\",\\n \\"SourceCIDR\\": \\"10. XXX. XXX.0/24\\",\\n \\"SnatEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\",\\n \\"SnatIps\\": [\\n {\\n \\"Ip\\": \\"203. XXX. XXX.139\\",\\n \\"Status\\": \\"Running\\",\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\"\\n }\\n ],\\n \\"StandbySnatIp\\": \\"101. XXX. XXX.4\\",\\n \\"StandbyStatus\\": \\"Stopped\\",\\n \\"Type\\": \\"FullCone\\",\\n \\"IdleTimeout\\": 10,\\n \\"DestCIDR\\": \\"101. XXX. XXX.0/24\\",\\n \\"IspAffinity\\": true,\\n \\"EipAffinity\\": false\\n}","type":"json"}]', + ], + 'DescribeSnatTableEntries' => [ + 'summary' => 'Queries source network address translation (SNAT) entries.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '128820', + 'abilityTreeNodes' => ['FEATUREensSHG96R'], + ], + 'parameters' => [ + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Network Address Translation (NAT) gateway.', 'type' => 'string', 'required' => true, 'example' => 'nat-5tawjw5j7sgd2deujxuk0****', 'title' => ''], + ], + [ + 'name' => 'SnatEntryId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'required' => false, 'example' => 'snat-5tfjp36fsrb36zs36faj0****', 'title' => ''], + ], + [ + 'name' => 'SnatIp', + 'in' => 'query', + 'schema' => ['description' => 'The elastic IP address (EIP) specified in the SNAT entry.', 'type' => 'string', 'required' => false, 'example' => '58.XXXX.XXX.29', 'title' => ''], + ], + [ + 'name' => 'SourceCIDR', + 'in' => 'query', + 'schema' => ['description' => 'The source CIDR block specified in the SNAT entry.', 'type' => 'string', 'required' => false, 'example' => '10.1.0.50/32', 'title' => ''], + ], + [ + 'name' => 'SnatEntryName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the SNAT entry.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'test0', 'title' => ''], + ], + [ + 'name' => 'SnatIps', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The information about the EIP specified in the SNAT entry.', + 'type' => 'array', + 'items' => ['description' => 'The information about the EIP specified in the SNAT entry.', 'type' => 'string', 'required' => false, 'example' => '58.XXXX.XXX.30', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - ], - 'ListAddons' => [ - 'summary' => 'Querying the details of a cluster component', - 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page **1**.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - 'FEATUREens7IGAII', + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. The maximum value is **100**.'."\n" + ."\n" + .'Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of response.', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request.', - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'Addons' => [ - 'description' => 'The list of component information.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The number of SNAT entries that are returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'SnatTableEntries' => [ + 'description' => 'The details of the SNAT entries.', 'type' => 'array', 'items' => [ - 'description' => 'The component information.'."\n", + 'description' => 'The details of the SNAT entry.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The component name.'."\n", - 'type' => 'string', - 'example' => 'edge-csi-lite', - ], - 'Version' => [ - 'description' => 'The component version.'."\n", - 'type' => 'string', - 'example' => 'v2', - ], - 'CleanupCloudResources' => [ - 'description' => 'Specifies whether to clear resources.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ConfigSchema' => [ - 'description' => 'The schema of the custom parameters of the component.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The schema of the custom parameters of the component.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppVersion' => [ - 'description' => 'The application version.'."\n", - 'type' => 'string', - 'example' => '859e9d595b2974ed79c444658d1dea89', - ], - 'ConfigVersion' => [ - 'description' => 'The version of the configuration file.'."\n", - 'type' => 'string', - 'example' => '4155709cd12a09bdb8cbaca71bf03233', - ], - 'Name' => [ - 'description' => 'The component name.'."\n", - 'type' => 'string', - 'example' => 'edge-csi-lite', - ], - 'Params' => [ - 'description' => 'The custom configurations of the component.'."\n", - 'type' => 'object', - 'example' => '{"key1":"val1"}', - ], - ], - ], - ], + 'NatGatewayId' => ['description' => 'The ID of the NAT gateway.', 'type' => 'string', 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', 'title' => ''], + 'SnatEntryId' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'example' => 'snat-5tfjp3537mi6iokl59g5c****', 'title' => ''], + 'SnatIp' => ['description' => 'The EIP specified in the SNAT entry.', 'type' => 'string', 'example' => '120.XXX.XXX.71', 'title' => ''], + 'SourceCIDR' => ['description' => 'The source CIDR block specified in the SNAT entry.', 'type' => 'string', 'example' => '10.0.0.13/32', 'title' => ''], + 'SnatEntryName' => ['description' => 'The name of the SNAT entry.', 'type' => 'string', 'example' => 'test0', 'title' => ''], + 'Status' => ['description' => 'The status of the SNAT entry. Valid values:'."\n" + ."\n" + .'- Pending: The SNAT entry is being created or modified.'."\n" + ."\n" + .'- Available: The SNAT entry is available.'."\n" + ."\n" + .'- Deleting: The SNAT entry is being deleted.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'StandbySnatIp' => ['description' => 'The secondary EIP. Multiple EIPs are separated by commas (,).', 'type' => 'string', 'example' => '101.XXX.XXX.7', 'title' => ''], + 'StandbyStatus' => ['description' => 'The status of the secondary EIP. Valid values:'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Stopping'."\n" + ."\n" + .'- Stopped'."\n" + ."\n" + .'- Starting', 'type' => 'string', 'example' => 'Stopped', 'title' => ''], + 'IdleTimeout' => ['description' => 'The timeout period for idle connections. Valid values: **1** to **86400**. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '900', 'title' => ''], + 'IspAffinity' => ['description' => 'Whether to enable operator affinity. Value taking:'."\n" + ."\n" + .'- false:Do not open.'."\n" + ."\n" + .'- true:Open.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EipAffinity' => ['description' => 'Specifies whether to enable EIP affinity. Valid values:'."\n" + ."\n" + .'- **0**: no'."\n" + ."\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.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NatNotFound', 'errorMessage' => 'The specified Nat is not found.', 'description' => 'The specified parameter Nat does not exist.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'DescribeSnatTableEntries', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:30.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-11-28T07:20:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-24T08:49:03.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-06-28T01:51:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-11-16T08:15:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-10-19T08:32:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-18T09:09:04.000Z', 'description' => 'Error codes changed, Response parameters changed, Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Version\\": \\"v2\\",\\n \\"CleanupCloudResources\\": true,\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"859e9d595b2974ed79c444658d1dea89\\",\\n \\"ConfigVersion\\": \\"4155709cd12a09bdb8cbaca71bf03233\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": {\\n \\"key1\\": \\"val1\\"\\n }\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListAddons', - ], - 'DescribeAddon' => [ - 'summary' => '查询指定组件的信息', - 'path' => '', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSnatTableEntries'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSnatTableEntries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 7,\\n \\"PageSize\\": 10,\\n \\"SnatTableEntries\\": [\\n {\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"SnatEntryId\\": \\"snat-5tfjp3537mi6iokl59g5c****\\",\\n \\"SnatIp\\": \\"120.XXX.XXX.71\\",\\n \\"SourceCIDR\\": \\"10.0.0.13/32\\",\\n \\"SnatEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"StandbySnatIp\\": \\"101.XXX.XXX.7\\",\\n \\"StandbyStatus\\": \\"Stopped\\",\\n \\"IdleTimeout\\": 900,\\n \\"IspAffinity\\": true,\\n \\"EipAffinity\\": false\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeStorageGateway' => [ + 'summary' => 'Queries storage gateways.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'AddonName', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'edge-csi-lite', - ], + 'schema' => ['description' => 'The ID of the node.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing-cmcc', 'title' => ''], ], [ - 'name' => 'AddonVersion', + 'name' => 'GatewayId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The ID of the gateway.', 'type' => 'string', 'required' => false, 'example' => 'sgw-****', 'title' => ''], + ], + [ + 'name' => 'GatewayType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the gateway. Set this parameter to **1**. **1** indicates iSCSI.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'required' => false, 'example' => 'n-***', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -38065,180 +27121,131 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'Addons' => [ - 'description' => '', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968'], + 'StorageGateways' => [ + 'description' => 'The list information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information about the storage gateway.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'edge-csi-lite', - ], - 'Version' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'v1', - ], - 'CleanupCloudResources' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'true', - ], - 'ConfigSchema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '859e9d595b2974ed79c444658d1dea89', - ], - 'ConfigVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '4155709cd12a09bdb8cbaca71bf03233', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'edge-csi-lite', - ], - 'Params' => [ - 'description' => '', - 'type' => 'any', - 'example' => '{"key1":"val1"}', - ], - ], - ], - ], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-beijing-cmcc'."\n", 'title' => ''], + 'StorageGatewayId' => ['description' => 'The ID of the storage gateway.', 'type' => 'string', 'example' => 'sgw-***', 'title' => ''], + 'StorageGatewayName' => ['description' => 'The name of the storage gateway.', 'type' => 'string', 'example' => 'testGateway', 'title' => ''], + 'StorageGatewayType' => ['description' => 'The type of the storage gateway. Default value: 1, which indicates iSCSI.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ServiceIp' => ['description' => 'The IP address of the service.', 'type' => 'string', 'example' => '*.*.*.*', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the storage gateway was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2024-05-14T03:07:47Z', 'title' => ''], + 'Status' => ['description' => 'The status of the storage gateway. Valid values:'."\n" + ."\n" + .'- creating'."\n" + ."\n" + .'- available'."\n" + ."\n" + .'- deleting'."\n" + ."\n" + .'- deleted', 'type' => 'string', 'example' => 'available', 'title' => ''], + 'Description' => ['description' => 'The description of the storage gateway.', 'type' => 'string', 'example' => 'testDescription', 'title' => ''], + 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'n-***', 'title' => ''], + 'CidrBlock' => ['description' => 'The internal CIDR block.', 'type' => 'string', 'example' => '192.168.2.0/24', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'required' => false, - 'minItems' => 0, + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Version\\": \\"v1\\",\\n \\"CleanupCloudResources\\": \\"true\\",\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"859e9d595b2974ed79c444658d1dea89\\",\\n \\"ConfigVersion\\": \\"4155709cd12a09bdb8cbaca71bf03233\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": \\"{\\\\\\"key1\\\\\\":\\\\\\"val1\\\\\\"}\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - ], - 'UpgradeClusterAddons' => [ - 'summary' => '升级集群实例组件', - 'path' => '', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DescribeStorageGateway', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeStorageGateway'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeStorageGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"StorageGateways\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\\\n\\",\\n \\"StorageGatewayId\\": \\"sgw-***\\",\\n \\"StorageGatewayName\\": \\"testGateway\\",\\n \\"StorageGatewayType\\": 1,\\n \\"ServiceIp\\": \\"*.*.*.*\\",\\n \\"CreationTime\\": \\"2024-05-14T03:07:47Z\\",\\n \\"Status\\": \\"available\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"VpcId\\": \\"n-***\\",\\n \\"CidrBlock\\": \\"192.168.2.0/24\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 16\\n}","type":"json"}]', + ], + 'DescribeStorageVolume' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - 'FEATUREens7IGAII', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the node.', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen-3', 'title' => ''], ], [ - 'name' => 'Addons', + 'name' => 'VolumeId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'edge-csi-lite', - ], - 'NextVersion' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'v2', - ], - 'ConfigSchema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppVersion' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '4155709cd12a09bdb8cbaca71bf03233', - ], - 'ConfigVersion' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '4155709cd12a09bdb8cbaca71bf03233', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'edge-csi-lite', - ], - 'Params' => [ - 'description' => '', - 'type' => 'object', - 'required' => false, - 'example' => '{"k1":"v1"}', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the volume.', 'type' => 'string', 'required' => false, 'example' => 'sv-***', 'title' => ''], + ], + [ + 'name' => 'GatewayId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the gateway.', 'type' => 'string', 'required' => false, 'example' => 'sgw-****', 'title' => ''], + ], + [ + 'name' => 'StorageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the storage medium.', 'type' => 'string', 'required' => false, 'example' => 'd-***', 'title' => ''], + ], + [ + 'name' => 'IsEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the volume. Valid values:'."\n" + ."\n" + .'- **1** (default): enables the volume.'."\n" + ."\n" + .'- **0**: disables the volume.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -38248,640 +27255,917 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-xxxxxxxx', + 'StorageVolumes' => [ + 'description' => 'The list of returned results.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the volume.', + 'type' => 'object', + 'properties' => [ + 'StorageVolumeId' => ['description' => 'The ID of the volume.', 'type' => 'string', 'example' => 'sv-***', 'title' => ''], + 'StorageVolumeName' => ['description' => 'The name of the volume.', 'type' => 'string', 'example' => 'testVolumeName', 'title' => ''], + 'StorageGatewayId' => ['description' => 'The ID of the storage gateway.', 'type' => 'string', 'example' => 'sgw-***', 'title' => ''], + 'StorageId' => ['description' => 'The ID of the storage medium.', 'type' => 'string', 'example' => 'd-***', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the volume was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2024-03-14T09:35:32Z', 'title' => ''], + 'IsEnable' => ['description' => 'Indicates whether the volume is enabled. Valid values:'."\n" + ."\n" + .'- **1** (default): The volume is enabled.'."\n" + ."\n" + .'- **0**: The volume is disabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'IsAuth' => ['description' => 'Indicates whether authentication is enabled. Valid values:'."\n" + ."\n" + .'- **1**: Authentication is enabled.'."\n" + ."\n" + .'- **0** (default): Authentication is disabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Description' => ['description' => 'The description of the volume.', 'type' => 'string', 'example' => 'testDescription', 'title' => ''], + 'TargetName' => ['description' => 'The destination of the volume.', 'type' => 'string', 'example' => 'iqn.*.*.*:*', 'title' => ''], + 'Status' => ['description' => 'The status of the volume. Valid values:'."\n" + ."\n" + .'- creating'."\n" + ."\n" + .'- available'."\n" + ."\n" + .'- deleting'."\n" + ."\n" + .'- deleted', 'type' => 'string', 'example' => 'available', 'title' => ''], + 'AuthProtocol' => ['description' => 'The authentication protocol. The value is set to **CHAP**.', 'type' => 'string', 'example' => 'CHAP', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the node.', 'type' => 'string', 'example' => 'cn-shenzhen-3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', 'title' => ''], + 'PageNumber' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '15', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', - ], - 'DeleteClusterNodes' => [ - 'summary' => '删除节点池指定节点', - 'methods' => [ - 'post', + 'title' => 'DescribeStorageVolume', + 'summary' => 'Queries volumes.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeStorageVolume'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeStorageVolume', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"StorageVolumes\\": [\\n {\\n \\"StorageVolumeId\\": \\"sv-***\\",\\n \\"StorageVolumeName\\": \\"testVolumeName\\",\\n \\"StorageGatewayId\\": \\"sgw-***\\",\\n \\"StorageId\\": \\"d-***\\",\\n \\"CreationTime\\": \\"2024-03-14T09:35:32Z\\",\\n \\"IsEnable\\": 1,\\n \\"IsAuth\\": 0,\\n \\"Description\\": \\"testDescription\\",\\n \\"TargetName\\": \\"iqn.*.*.*:*\\",\\n \\"Status\\": \\"available\\",\\n \\"AuthProtocol\\": \\"CHAP\\",\\n \\"EnsRegionId\\": \\"cn-shenzhen-3\\"\\n }\\n ],\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"15\\"\\n}","type":"json"}]', + ], + 'DescribeUserBandWidthData' => [ + 'summary' => 'Queries the bandwidth that you use within a specified period of time.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensWT1XPU', - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EnsRegionId', 'in' => 'query', - 'schema' => [ - 'title' => '集群id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the node. You can specify only one node ID. By default, all nodes are queried.', 'type' => 'string', 'required' => false, 'example' => 'cn-taiyuan-telecom', 'title' => ''], ], [ - 'name' => 'Body', + 'name' => 'InstanceId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The ID of the instance for which you want to query the data. You can specify only one instance ID. By default, all instances are queried.', 'type' => 'string', 'required' => false, 'example' => 'i-5inkeimcipxk26yqtzm4q****', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2019-05-21T10:22:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'- Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'- If the value of the seconds place is not 00, the start time is automatically set to the next minute.', 'type' => 'string', 'required' => true, 'example' => '2019-05-21T12:22:00Z', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The precision of the monitoring data that you want to obtain. Valid values: 300, 1200, 3600, and 14400. Default value: 300. Unit: seconds.', 'type' => 'string', 'required' => true, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => ['description' => 'The Internet service provider (ISP). Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- telecom: China Telecom'."\n" + ."\n" + .'- unicom: China Unicom'."\n" + ."\n" + .'- multiCarrier: multi-line ISP', 'type' => 'string', 'required' => false, 'example' => 'cmcc', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Nodes' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'title' => '需要删除的实例', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '["i-5xxxxxxxxxxx"]', + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'MonitorData' => [ + 'description' => 'The monitoring data.', + 'type' => 'object', + 'properties' => [ + 'BandWidthMonitorData' => [ + 'description' => 'The bandwidth data.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'DownBandWidth' => ['description' => 'The outbound bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'InternetRX' => ['description' => 'The Internet traffic to the instance. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'InternetTX' => ['description' => 'The Internet traffic from the instance. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp when the monitoring data was queried. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-10-12T05:45:00Z', 'title' => ''], + 'UpBandWidth' => ['description' => 'The inbound bandwidth. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'MaxDownBandWidth' => ['description' => 'The maximum outbound bandwidth within the queried time range. Unit: bit/s.', 'type' => 'string', 'example' => '16817468', 'title' => ''], + 'MaxUpBandWidth' => ['description' => 'The maximum inbound bandwidth within the queried time range. Unit: bit/s.', 'type' => 'string', 'example' => '231008', 'title' => ''], ], - 'required' => true, - 'maxItems' => 1, + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '50373E71-7710-4620-8AAB-133CCE49451C', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'USERNOTFOUND', 'errorMessage' => 'The user is not in ens-controller.', 'description' => 'The current user has not registered with the edge node service or has not passed the user review.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DescribeUserBandWidthData', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserBandWidthData'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeUserBandWidthData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => true, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"MonitorData\\": {\\n \\"BandWidthMonitorData\\": [\\n {\\n \\"DownBandWidth\\": 0,\\n \\"InternetRX\\": 0,\\n \\"InternetTX\\": 0,\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\",\\n \\"UpBandWidth\\": 0\\n }\\n ],\\n \\"MaxDownBandWidth\\": \\"16817468\\",\\n \\"MaxUpBandWidth\\": \\"231008\\"\\n },\\n \\"RequestId\\": \\"50373E71-7710-4620-8AAB-133CCE49451C\\"\\n}","type":"json"}]', + ], + 'DescribeVSwitchAttributes' => [ + 'summary' => 'Call the DescribeVSwitchAttributes operation to query the configuration of a specified vSwitch.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '255249', + 'abilityTreeNodes' => ['FEATUREensD2JHRI'], + ], + 'parameters' => [ + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => true, 'example' => 'vsw-5****', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C0003****2A8'], + 'EnsRegionId' => ['description' => 'The ID of the ENS edge zone.', 'type' => 'string', 'example' => 'cn-xian-unicom', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'n-257gqcdfvx6n****', 'title' => ''], + 'VSwitchName' => ['description' => 'The name of the vSwitch.', 'type' => 'string', 'example' => 'Test-switch', 'title' => ''], + 'CidrBlock' => ['description' => 'The IPv4 CIDR block of the network.', 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''], + 'Status' => ['description' => 'The status of the vSwitch. Valid values:'."\n" + ."\n" + .'- Pending: The vSwitch is being configured.'."\n" + ."\n" + .'- Available: The vSwitch is active.'."\n" + ."\n" + .'- Releasing: The vSwitch is being released.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'Description' => ['description' => 'The description of the vSwitch.', 'type' => 'string', 'example' => 'This is my vswitch.', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the vSwitch was created. This value uses UTC and follows the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2019-06-01T00:00:00Z', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'A list of instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an instance.', 'type' => 'string', 'example' => 'i-5****4evfn', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'title' => '', + 'example' => '', + ], + 'NetworkInterfaceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterfaceId' => [ + 'description' => 'A list of elastic network interface IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an elastic network interface.', 'type' => 'string', 'example' => 'eni-5****yfjm', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LoadBalancerId' => [ + 'description' => 'A list of SLB instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an SLB instance.', 'type' => 'string', 'example' => 'lb-5****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NatGatewayIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NatGatewayId' => [ + 'description' => 'A list of NAT Gateway IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a NAT Gateway.', 'type' => 'string', 'example' => 'nat-5****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'HaVipIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HaVipId' => [ + 'description' => 'A list of high availability (HA) VIP instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an HA VIP instance.', 'type' => 'string', 'example' => 'havip-5****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-5****', 'title' => ''], + 'AvailableIpAddressCount' => ['description' => 'The number of available IP addresses in the vSwitch.', 'type' => 'integer', 'format' => 'int64', 'example' => '253', 'title' => ''], + 'Ipv6CidrBlock' => ['type' => 'string', 'example' => '2408:XXXX:0:a600::/110', 'description' => '', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified virtual switch does not exist.', 'description' => 'The specified virtual switch ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query the Configuration of a VSwitch', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVSwitchAttributes'], + ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeVSwitchAttributes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003****2A8\\",\\n \\"EnsRegionId\\": \\"cn-xian-unicom\\",\\n \\"NetworkId\\": \\"n-257gqcdfvx6n****\\",\\n \\"VSwitchName\\": \\"Test-switch\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"This is my vswitch.\\",\\n \\"CreatedTime\\": \\"2019-06-01T00:00:00Z\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"i-5****4evfn\\"\\n ]\\n },\\n \\"NetworkInterfaceIds\\": {\\n \\"NetworkInterfaceId\\": [\\n \\"eni-5****yfjm\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-5****\\"\\n ]\\n },\\n \\"NatGatewayIds\\": {\\n \\"NatGatewayId\\": [\\n \\"nat-5****\\"\\n ]\\n },\\n \\"HaVipIds\\": {\\n \\"HaVipId\\": [\\n \\"havip-5****\\"\\n ]\\n },\\n \\"VSwitchId\\": \\"vsw-5****\\",\\n \\"AvailableIpAddressCount\\": 253,\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/110\\"\\n}","type":"json"}]', ], - 'DescribeClusterNodes' => [ - 'summary' => '查询节点池节点', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeVSwitches' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '33023', + 'abilityTreeNodes' => ['FEATUREensD2JHRI'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-xian-unicom', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5m9xhlq8oh***', 'title' => ''], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the VSwitch.', 'type' => 'string', 'required' => false, 'example' => 'testVSwitchName', 'title' => ''], + ], + [ + 'name' => 'NetworkId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VPC to which the VSwitch belongs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-25cdvfeq58pl****', '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' => [ - 'title' => '集群id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'NodepoolId', + 'name' => 'EnsRegionIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => '节点池id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'np751e9d5464cf4ef081087137f33e4528', + 'description' => 'The IDs of the ENS nodes. You can specify 1 to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu-telecom-4', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => '分页页码(从1开始)', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'minimum' => '1', - 'example' => '1', + 'description' => 'The IDs of the vSwitches. You can specify 1 to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the VSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-5****tzrpf', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'EnableIpv6', 'in' => 'query', - 'schema' => [ - 'title' => '分页每页大小', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '200', - 'minimum' => '1', - 'example' => '10', - ], + 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Page' => [ - 'description' => '', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'VSwitches' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - ], - ], - 'Nodes' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-xxxxxxxx', - ], - 'EnsRegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-fuzhou-23', - ], - 'NodepoolId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'np861febb748f84f5f9f1c76819eff7f56', - ], - 'InstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'i-51mctytg7tv4yw4amu3oczxsx', - ], - 'PayType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'm-680cki2ruj1q2bm0mz1k9tnbz', - ], - 'IpAddress' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '111.1111.111.111', + 'VSwitch' => [ + 'description' => 'An array of VSwitch objects.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnsRegionId' => ['description' => 'The ID of the ENS node.', 'type' => 'string', 'example' => 'cn-xian-unicom', 'title' => ''], + 'Status' => ['description' => 'The status of the VSwitch. Valid values:'."\n" + ."\n" + .'- `Pending`: The VSwitch is being configured.'."\n" + ."\n" + .'- `Available`: The VSwitch is available.', 'type' => 'string', 'example' => 'Pending', 'title' => ''], + 'FreeIpCount' => ['description' => 'The number of available IP addresses.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the VSwitch.', 'type' => 'string', 'example' => 'vsw-5m9xhlq8oh***', 'title' => ''], + 'CidrBlock' => ['description' => 'The IPv4 CIDR block of the VSwitch.', 'type' => 'string', 'example' => '10.21.224.0/22', 'title' => ''], + 'Description' => ['description' => 'The description of the VSwitch.', 'type' => 'string', 'example' => 'VSwitchDescription', 'title' => ''], + 'NetworkId' => ['description' => 'The ID of the network.', 'type' => 'string', 'example' => 'vpc-25cdvfeq58pl****', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the VSwitch was created. The time is displayed in UTC and follows the `yyyy-MM-ddTHH:mm:ssZ` format.', 'type' => 'string', 'example' => '2020-06-16T06:33:15Z', 'title' => ''], + 'VSwitchName' => ['description' => 'The name of the VSwitch.', 'type' => 'string', 'example' => 'testVSwitchName', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'An array of tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'A tag.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestValue', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'deprecated' => true, 'example' => 'TestKey', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The tags of the VSwitch.', + 'title' => '', + 'example' => '', + ], + 'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the VSwitch.', 'type' => 'string', 'example' => '2408:XXXX:0:a600::/110', 'title' => ''], ], - ], - 'State' => [ 'description' => '', - 'type' => 'string', - 'example' => 'initial', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'description' => 'A collection of VSwitches.', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'Query vSwitch information ', + 'summary' => 'Call the DescribeVSwitches operation to retrieve information about VSwitches. You use VSwitches to configure private networks.', + 'changeSet' => [ + ['createdAt' => '2025-04-15T05:57:11.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-10T07:51:40.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-12-26T08:26:40.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-12-21T08:03:43.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Page\\": {\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 30\\n },\\n \\"Nodes\\": [\\n {\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-23\\",\\n \\"NodepoolId\\": \\"np861febb748f84f5f9f1c76819eff7f56\\",\\n \\"InstanceId\\": \\"i-51mctytg7tv4yw4amu3oczxsx\\",\\n \\"PayType\\": \\"PrePaid\\",\\n \\"ImageId\\": \\"m-680cki2ruj1q2bm0mz1k9tnbz\\",\\n \\"IpAddress\\": [\\n \\"111.1111.111.111\\"\\n ],\\n \\"State\\": \\"initial\\"\\n }\\n ],\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - ], - 'ScaleClusterNodePool' => [ - 'summary' => '调整节点池节点数', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVSwitches'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeVSwitches', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageSize\\": 2,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 3,\\n \\"VSwitches\\": {\\n \\"VSwitch\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-xian-unicom\\",\\n \\"Status\\": \\"Pending\\",\\n \\"FreeIpCount\\": 1024,\\n \\"VSwitchId\\": \\"vsw-5m9xhlq8oh***\\",\\n \\"CidrBlock\\": \\"10.21.224.0/22\\",\\n \\"Description\\": \\"VSwitchDescription\\",\\n \\"NetworkId\\": \\"vpc-25cdvfeq58pl****\\",\\n \\"CreatedTime\\": \\"2020-06-16T06:33:15Z\\",\\n \\"VSwitchName\\": \\"testVSwitchName\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Value\\": \\"TestValue\\",\\n \\"Key\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/110\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DetachDisk' => [ + 'summary' => 'Detaches a pay-as-you-go disk from an Edge Node Service (ENS) instance. You cannot To detach a disk that is created together with an instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensWT1XPU', - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '1751', + 'abilityTreeNodes' => ['FEATUREensCBRG04'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'DiskId', 'in' => 'query', - 'schema' => [ - 'title' => '集群id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the disk.', 'type' => 'string', 'required' => true, 'example' => 'd-5r7v69e0bejrnzger09w7****', 'title' => ''], ], [ - 'name' => 'NodepoolId', + 'name' => 'InstanceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'i-5inkeimcipxk26yqtzm4q****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '节点池id', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'np2201da356f5245cf8faa522a8a4c8224', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'DetachDisk', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:40.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachDisk'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:DetachDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DetachInstanceSDG' => [ + 'summary' => 'Detaches a shared data group (SDG).', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'Body', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '253537', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Count' => [ - 'title' => '期望实例数', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '0', - ], - ], - 'required' => false, + 'description' => 'The IDs of the instances.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => '["aic-5iqczfxps7csjrxeca07****", "aic-5iqczfxps7csjrxeca07****"]', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'SDGId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxxx', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'Data' => [ + 'description' => 'The returned data object.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the failed task.', + 'type' => 'object', + 'properties' => [ + 'ErrMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- true: All tasks are successful.'."\n" + ."\n" + .'- false: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DetachInstanceSDG', + 'description' => "\n" + ."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachInstanceSDG'], + ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DetachInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": \\"1\\"\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', ], - 'CreateClusterNodePool' => [ - 'summary' => '创建集群节点池', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DetachKeyPair' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensWT1XPU', - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'KeyPairName', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['title' => 'A short description of struct', 'description' => 'The name of the key pair.', 'type' => 'string', 'required' => false, 'example' => 'test-kp'], + ], + [ + 'name' => 'KeyPairId', 'in' => 'query', - 'schema' => [ - 'title' => '集群id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The ID of the key pair.', 'type' => 'string', 'required' => false, 'example' => 'ssh-xxx', 'title' => ''], ], [ - 'name' => 'NodepoolInfo', + 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '节点池名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'test1', - ], - ], + 'description' => 'An array of instance IDs from which to detach the key pair.', + 'type' => 'array', + 'items' => ['description' => 'An instance ID.', 'type' => 'string', 'required' => false, 'example' => 'i-xxxu', 'title' => ''], 'required' => true, + 'example' => '["i-50f8q9mbfjzlkuk9znjglnne3"]', + 'maxItems' => 30, + 'minItems' => 1, + 'title' => '', ], ], - [ - 'name' => 'ScalingGroup', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '伸缩组配置', - 'description' => '', + 'title' => 'Schema of Response', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'DesiredSize' => [ - 'title' => '期望实例数', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'KeyPairName' => [ - 'title' => '实例密钥对(和password二选一)', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'key-pair-name', - ], - 'VswitchIds' => [ - 'title' => '实例使用的vswitch', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', - ], - 'required' => true, - ], - 'InstanceChargeType' => [ - 'title' => '实例计费类型', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'PostPaid', - 'default' => 'PrePaid', - 'enum' => [ - 'PostPaid', - 'PrePaid', - ], - ], - 'InstanceTypes' => [ - 'title' => '实例规格', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ens.sn1.small', - ], - 'required' => true, - ], - 'SystemDiskCategory' => [ - 'title' => '系统盘类型', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - 'enum' => [ - 'local_ssd', - 'local_hdd', - 'cloud_efficiency', - 'cloud_ssd', - ], - ], - 'SystemDiskSize' => [ - 'title' => '系统盘规格(单位GB,最小20,必须是10的倍数)', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'ImageId' => [ - 'title' => '实例镜像id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'm-6734fzvcwcv2o8jj201cpa7ox', - ], - 'DataDisks' => [ - 'description' => '', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xx-xx-xx-xx'], + 'KeyPairId' => ['description' => 'The ID of the key pair.', 'type' => 'string', 'example' => 'ssh-xxx', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair.', 'type' => 'string', 'example' => 'test-kp', 'title' => ''], + 'FailCount' => ['description' => 'The number of instances for which the detach operation failed.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instances specified in the request.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'Results' => [ + 'description' => 'The results of the operation for each instance.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Category' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - 'enum' => [ - 'local_ssd', - 'local_hdd', - 'cloud_efficiency', - 'cloud_ssd', - ], - ], - 'Size' => [ - 'title' => '数据盘大小(单位GB,最小20G,以10为步长递增)', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + 'Code' => ['description' => 'The status code for the operation on a specific instance. A value of `200` indicates a successful operation.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'i-xxx', 'title' => ''], + 'Message' => ['description' => 'The response message for the operation. If the `Code` is `200`, the message is `successful`.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation on the instance succeeded. Valid values: `true` and `false`.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, - ], - 'Password' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'some-test-password', + 'title' => '', + 'example' => '', ], ], - 'required' => true, + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'PublicKeyNotAttachWithInstance', 'errorMessage' => 'Public Key Not Attach With Instance.', 'description' => 'Public key not bound to instance'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DetachKeyPair', + 'summary' => 'Detaches a key pair from up to 30 instances in a single request. You can specify the key pair by its key pair name or key pair ID.', + 'description' => '## Usage notes'."\n" + ."\n" + .'This operation detaches a key pair from multiple instances in a batch. The target instances must be in a stopped state.'."\n" + ."\n" + .'- You can detach a key pair from a maximum of 30 instances in a single request.'."\n" + ."\n" + .'- The operation returns an error if you specify the `KeyPairName` parameter and any of the specified instances are not associated with that key pair name.'."\n" + ."\n" + .'- You must specify either the `KeyPairName` or `KeyPairId` parameter.'."\n" + ."\n" + .'- We recommend using the `KeyPairId` parameter. The `KeyPairName` parameter will be deprecated in a future release.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'KubernetesConfig', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PreUserData' => [ - 'title' => '机器创建后,接入集群前执行的脚本,内容需要base64', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ZWNobyBvawo=', - ], - 'UserData' => [ - 'title' => '机器创建后,接入集群后执行的脚本,内容需要base64', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ZWNobyBvawo=', - ], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens: DetachKeyPair', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairId}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' Instance', 'arn' => 'acs:ens::{#accountId}:instance/{#InstanceIds}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairName}'], ], - 'required' => false, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xx-xx-xx-xx\\",\\n \\"KeyPairId\\": \\"ssh-xxx\\",\\n \\"KeyPairName\\": \\"test-kp\\",\\n \\"FailCount\\": 1,\\n \\"TotalCount\\": 3,\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"InstanceId\\": \\"i-xxx\\",\\n \\"Message\\": \\"successful\\",\\n \\"Success\\": true\\n }\\n ]\\n}","type":"json"}]', + ], + 'DetachNetworkInterface' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => true, 'example' => 'eni-58z57orgmt6d1****', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ @@ -38889,877 +28173,751 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Nodepool' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-d2666c5f', - ], - 'NodepoolInfo' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test1', - ], - 'EnsRegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-guiyang-14', - ], - 'NodepoolId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'np1176939548ac49e59febe82dcbf1ad56', - ], - ], - ], - 'ScalingGroup' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VswitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', - ], - ], - 'DataDisks' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'Size' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'InstanceChargeType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'InstanceTypes' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ens.sn1.small', - ], - ], - 'SystemDiskCategory' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'SystemDiskSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'm-67bdk1kpu1ylmt7k33h5dbiov', - ], - 'KeyPairName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'key-pair-name', - ], - 'Password' => [ - 'description' => '', - 'type' => 'string', - 'example' => '**********', - ], - ], - ], - 'KubernetesConfig' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PreUserData' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ZWNobyBvawo=', - ], - 'UserData' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ZWNobyBvawo=', - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'BE1B8ECF-9507-4C78-B197-5DE9FED344AF'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'InvalidEniId.NotFound', 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniServiceManaged', 'errorMessage' => 'The eni is managed by service.', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEniStatus', 'errorMessage' => 'Current eni status does not support this operation. ', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEniType', 'errorMessage' => 'The type of eni does not support this operation.', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEnsStatus', 'errorMessage' => 'Current instance status does not support this operation. ', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DetachNetworkInterface', + 'summary' => 'Detach an elastic network interface (ENI) from an instance.', + 'description' => 'Before you call this operation, take note of the following items:'."\n" + ."\n" + .'- You cannot detach a primary ENI from an instance.'."\n" + ."\n" + .'- The ENI must be in the InUse state.'."\n" + ."\n" + .'- The instances are in the Stopped state.'."\n" + ."\n" + .'- This operation is an asynchronous operation. After this operation is called to detach an ENI, you can check the state of the ENI to determine whether the ENI is detached.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachNetworkInterface'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:DetachNetworkInterface', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BE1B8ECF-9507-4C78-B197-5DE9FED344AF\\"\\n}","type":"json"}]', + ], + 'DistApplicationData' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '18005', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. To obtain the application ID, call the ListApplications operation.', 'type' => 'string', 'required' => true, 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', 'title' => ''], + ], + [ + 'name' => 'Data', + 'in' => 'query', + 'schema' => ['description' => 'The list of data files that you want to distribute. The value must be a JSON string.', 'type' => 'string', 'required' => true, 'example' => '[{\\"name\\":\\"app01\\", \\"version\\":\\"1.0\\", \\"destPath\\":\\"/root/installed\\", \\"decompress\\":true, \\"targetDirName\\":\\"target01\\", \\"fileMode\\":755, \\"timeout\\":1000 }, { \\"name\\":\\"app02\\", \\"version\\":\\"1.1\\", \\"destPath\\":\\"/tmp/test.txt\\", \\"decompress\\":false }]', 'title' => ''], + ], + [ + 'name' => 'DistStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The canary release policy. The value must be a JSON string. You can specify multiple distribution policies. By default, all data files are distributed.', 'type' => 'string', 'required' => false, 'example' => '{\\"name\\":\\"ScheduleToAllByMatchExpressions\\",\\"parameters\\":{\\"match_expressions\\":[{\\"key\\":\\"region_id\\",\\"operator\\":\\"In\\",\\"values\\":[\\"cn-wuhan-telecom_unicom_cmcc-2\\"]}]}}', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'DistInstanceTotalCount' => ['description' => 'The total number of ENS instance IDs.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DistInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DistInstanceId' => [ + 'description' => 'The list of ENS instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-xxx', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'Status' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'State' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'active', - ], - 'TotalNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'DesiredNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ServingNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'InitialNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RemovingNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DistResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DistResult' => [ + 'description' => 'The distribution result of the data file.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ResultDescrip' => ['description' => 'The description of the distribution result.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Version' => ['description' => 'The version number of the data file.', 'type' => 'string', 'example' => 'standard', 'title' => ''], + 'ResultCode' => ['description' => 'The error code. The value is of the enumerated data type.', 'type' => 'integer', 'format' => 'int32', 'example' => '400', 'title' => ''], + 'Name' => ['description' => 'The name of the data file.', 'type' => 'string', 'example' => 'gcs-prod-websocket-eip-unicom', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'RequestId' => [ 'description' => '', - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DistApplicationData', + 'summary' => 'Distributes pushed data to the Edge Node Service (ENS) instances of the application. You can specify multiple canary release policies, decompress files, and restart containers.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DistApplicationData'], + ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:DistApplicationData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Nodepool\\": {\\n \\"ClusterId\\": \\"eck-d2666c5f\\",\\n \\"NodepoolInfo\\": {\\n \\"Name\\": \\"test1\\",\\n \\"EnsRegionId\\": \\"cn-guiyang-14\\",\\n \\"NodepoolId\\": \\"np1176939548ac49e59febe82dcbf1ad56\\"\\n },\\n \\"ScalingGroup\\": {\\n \\"VswitchIds\\": [\\n \\"vsw-58eu2p6v64qw8ihhit1wz7wgv\\"\\n ],\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_efficiency\\",\\n \\"Size\\": 80\\n }\\n ],\\n \\"InstanceChargeType\\": \\"PrePaid\\",\\n \\"InstanceTypes\\": [\\n \\"ens.sn1.small\\"\\n ],\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SystemDiskSize\\": 80,\\n \\"ImageId\\": \\"m-67bdk1kpu1ylmt7k33h5dbiov\\",\\n \\"KeyPairName\\": \\"key-pair-name\\",\\n \\"Password\\": \\"**********\\"\\n },\\n \\"KubernetesConfig\\": {\\n \\"PreUserData\\": \\"ZWNobyBvawo=\\",\\n \\"UserData\\": \\"ZWNobyBvawo=\\"\\n },\\n \\"Status\\": {\\n \\"State\\": \\"active\\",\\n \\"TotalNodes\\": 10,\\n \\"DesiredNodes\\": 10,\\n \\"ServingNodes\\": 10,\\n \\"InitialNodes\\": 0,\\n \\"RemovingNodes\\": 0\\n }\\n },\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"DistInstanceTotalCount\\": 2,\\n \\"DistInstanceIds\\": {\\n \\"DistInstanceId\\": [\\n \\"i-xxx\\"\\n ]\\n },\\n \\"DistResults\\": {\\n \\"DistResult\\": [\\n {\\n \\"ResultDescrip\\": \\"Success\\",\\n \\"Version\\": \\"standard\\",\\n \\"ResultCode\\": 400,\\n \\"Name\\": \\"gcs-prod-websocket-eip-unicom\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'DescribeClusterNodePools' => [ - 'summary' => '查询集群节点池信息', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'EventMigrateInstance' => [ + 'summary' => 'Migrates an instance across physical nodes in response to an O&M event.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '259537', + 'abilityTreeNodes' => ['FEATUREensVRRV1Q'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EventId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the system event.', 'type' => 'string', 'required' => true, 'example' => 'e-d71ff150945b9c02eb6ebc0016328468'."\n", 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource.', 'type' => 'string', 'required' => true, 'example' => 'i-55qi8m11rr53c4i964md8a00l', 'title' => ''], + ], + [ + 'name' => 'OpsType', 'in' => 'query', 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'A short description of struct', + 'description' => 'The type of the O\\&M task. Valid values:'."\n" + ."\n" + .'- `immediate`: Executes the task immediately.'."\n" + ."\n" + .'- `scheduled`: Executes the task at the specified time.', 'type' => 'string', 'required' => true, - 'example' => 'eck-xxxxxxxx', + 'enum' => ['immediate', 'scheduled'], + 'example' => 'immediate', + 'title' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'PlanTime', 'in' => 'query', - 'schema' => [ - 'title' => '分页页码(从1开始)', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The scheduled execution time. This must be a Unix timestamp in milliseconds. This parameter is required when `OpsType` is set to `scheduled`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1742452232000', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'PlanUtcTime', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'DataPolicy', 'in' => 'query', 'schema' => [ - 'title' => '分页每页大小', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '200', - 'minimum' => '1', - 'example' => '10', + 'description' => 'The data migration policy. Valid values:'."\n" + ."\n" + .'- `abandon`: Does not migrate data. This is the default value.'."\n" + ."\n" + .'- `force_transfer`: Forces data migration.'."\n" + ."\n" + .'- `try_transfer`: Attempts to migrate data.', + 'type' => 'string', + 'default' => 'abandon', + 'enum' => ['abandon', 'force_transfer', 'try_transfer'], + 'required' => false, + 'example' => 'abandon', + 'title' => '', ], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'Page' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PageNumber' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - ], - ], - 'NodePools' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NodepoolInfo' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-node-pool-1', - ], - 'EnsRegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-fuzhou-23', - ], - 'NodepoolId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'np68mi5y1dd748ky37ojo2kqdrz', - ], - ], - ], - 'ScalingGroup' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VswitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', - ], - ], - 'InstanceChargeType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PrePaid', - ], - 'InstanceTypes' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ens.sn1.small', - ], - ], - 'SystemDiskCategory' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'SystemDiskSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'm-673f5z4h69ibwtallg6zmcaxr', - ], - 'KeyPairName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'key-pair-name', - ], - 'DataDisks' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'Size' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'Password' => [ - 'description' => '', - 'type' => 'string', - 'example' => '************', - ], - ], - ], - 'KubernetesConfig' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PreUserData' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ZWNobyBvawo=', - ], - 'UserData' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ZWNobyBvawo=', - ], - ], - ], - 'Status' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'State' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'active', - ], - 'TotalNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'DesiredNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ServingNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'InitialNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RemovingNodes' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], - ], - 'ClusterId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'eck-xxxxxxxx', - ], - ], - ], - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => 'The instance password. This parameter is optional. If you do not specify a password, the system generates a random one.'."\n" + ."\n" + .'The password must be 8 to 30 characters long and contain uppercase letters, lowercase letters, and digits.'."\n" + ."\n" + .'Note: This parameter is not supported for scheduled execution.', 'type' => 'string', 'maxLength' => 30, 'minLength' => 8, 'required' => false, 'example' => 'AAaa1234', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The data returned in the response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to flow control.', 'description' => 'request to trigger flow control'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'EventMigrateInstance', + 'description' => '- This O\\&M task currently supports only the `Instance:SystemUpgrade.Migrate` event type for migrations due to an underlying upgrade.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EventMigrateInstance'], + ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:EventMigrateInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Page\\": {\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 20\\n },\\n \\"NodePools\\": [\\n {\\n \\"NodepoolInfo\\": {\\n \\"Name\\": \\"eck-node-pool-1\\",\\n \\"EnsRegionId\\": \\"cn-fuzhou-23\\",\\n \\"NodepoolId\\": \\"np68mi5y1dd748ky37ojo2kqdrz\\"\\n },\\n \\"ScalingGroup\\": {\\n \\"VswitchIds\\": [\\n \\"vsw-58eu2p6v64qw8ihhit1wz7wgv\\"\\n ],\\n \\"InstanceChargeType\\": \\"PrePaid\\",\\n \\"InstanceTypes\\": [\\n \\"ens.sn1.small\\"\\n ],\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"SystemDiskSize\\": 80,\\n \\"ImageId\\": \\"m-673f5z4h69ibwtallg6zmcaxr\\",\\n \\"KeyPairName\\": \\"key-pair-name\\",\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_efficiency\\",\\n \\"Size\\": 80\\n }\\n ],\\n \\"Password\\": \\"************\\"\\n },\\n \\"KubernetesConfig\\": {\\n \\"PreUserData\\": \\"ZWNobyBvawo=\\",\\n \\"UserData\\": \\"ZWNobyBvawo=\\"\\n },\\n \\"Status\\": {\\n \\"State\\": \\"active\\",\\n \\"TotalNodes\\": 10,\\n \\"DesiredNodes\\": 10,\\n \\"ServingNodes\\": 10,\\n \\"InitialNodes\\": 0,\\n \\"RemovingNodes\\": 0\\n },\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n }\\n ],\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', ], - 'ModifyClusterNodePool' => [ - 'summary' => '更新集群节点池', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'EventRebootInstance' => [ + 'summary' => 'Reboots an Instance affected by an Operational Event.', + 'description' => '- This operation currently supports only the following Event Type: Instance:SystemMaintenance.Reboot (an Instance Reboot due to System Maintenance).', + 'path' => '/', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensWT1XPU', - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREensVRRV1Q'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EventId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the system Event.', 'type' => 'string', 'required' => true, 'example' => 'e-9d992570200d86b9126d78aa8c37b54b', 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Resource.', 'type' => 'string', 'required' => true, 'example' => 'i-5****', 'title' => ''], + ], + [ + 'name' => 'OpsType', 'in' => 'query', 'schema' => [ - 'title' => '集群id', - 'description' => '', + 'description' => 'The type of the operation. Valid values:'."\n" + ."\n" + .'- immediate: Executes the operation immediately.'."\n" + ."\n" + .'- scheduled: Executes the operation at the specified time.', 'type' => 'string', 'required' => true, - 'example' => 'eck-xxxxxxxx', + 'enum' => ['immediate', 'scheduled'], + 'example' => 'immediate', + 'title' => '', ], ], [ - 'name' => 'NodepoolInfo', + 'name' => 'PlanTime', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The scheduled execution time, as a Timestamp in milliseconds. This parameter is required when OpsType is set to scheduled.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1742452232000', 'title' => ''], + ], + [ + 'name' => 'PlanUtcTime', + 'in' => 'query', + 'schema' => ['description' => 'Reserved parameter.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '成功响应', 'schema' => [ - 'description' => '', + 'title' => 'Schema of Response', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'NodepoolId' => [ - 'title' => '节点池id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'np68mi5y1dd748ky37ojo2kqdrz', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the Request.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], ], - 'required' => true, + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to flow control.', 'description' => 'request to trigger flow control'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'EventRebootInstance', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'ScalingGroup', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:EventRebootInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', + ], + 'EventRedeployInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensVRRV1Q'], + ], + 'parameters' => [ + [ + 'name' => 'EventId', + 'in' => 'query', + 'schema' => ['description' => 'The system event ID.', 'type' => 'string', 'required' => true, 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => true, 'example' => 'i-55qi8m11rr53c4i964md8a00l', 'title' => ''], + ], + [ + 'name' => 'OpsType', 'in' => 'query', - 'style' => 'json', 'schema' => [ - 'title' => '伸缩组配置', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'title' => '实例密码(和key_pair_name二选一)', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '@AN5Ejx1YyzzK', - ], - 'KeyPairName' => [ - 'title' => '实力密钥对(和password二选一)', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'tf-testAcc', - ], - 'VswitchIds' => [ - 'title' => '实例使用的vswitch', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', - 'minLength' => 1, - ], - 'required' => false, - ], - 'InstanceChargeType' => [ - 'title' => '实例计费类型', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'PostPaid', - ], - 'InstanceTypes' => [ - 'title' => '实例规格', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ens.sn1.small', - 'minLength' => 1, - ], - 'required' => false, - ], - 'SystemDiskCategory' => [ - 'title' => '系统盘类型', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - 'SystemDiskSize' => [ - 'title' => '系统盘大小(单位GB,最小20,以10为步长递增)', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'ImageId' => [ - 'title' => '实例镜像id', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'm-68bysm5a8gkm7oik7ngacf0in', - ], - 'DataDisks' => [ - 'title' => '数据盘信息', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'title' => '数据盘类型', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - 'Size' => [ - 'title' => '数据盘大小(单位GB,最小20,以10为步长递增)', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, + 'description' => 'The O\\&M task type. Valid values:'."\n" + ."\n" + .'- immediate: Immediate execution.'."\n" + ."\n" + .'- scheduled: Scheduled execution.', + 'type' => 'string', + 'required' => true, + 'enum' => ['immediate', 'scheduled'], + 'example' => 'immediate', + 'title' => '', ], ], [ - 'name' => 'KubernetesConfig', + 'name' => 'PlanTime', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The scheduled execution time, specified as a timestamp in milliseconds. This parameter is required if \'OpsType\' is set to \'scheduled\'.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1742452232000', 'title' => ''], + ], + [ + 'name' => 'PlanUtcTime', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', + 'title' => 'Schema of Response', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'PreUserData' => [ - 'title' => '机器创建后,接入集群前执行的脚本,内容需要base64', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ZWNobyBvawo=', - ], - 'UserData' => [ - 'title' => '机器创建后,接入集群后执行的脚本,内容需要base64', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ZWNobyBvawo=', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to flow control.', 'description' => 'request to trigger flow control'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'EventRedeployInstance', + 'summary' => 'Redeploys a specified instance either immediately or at a scheduled time.', + 'description' => '- This O\\&M operation supports only the following event types: `Instance:SystemFailure.Redeploy` (redeployment due to a system failure) and `Instance:SystemMaintenance.Redeploy` (redeployment for system maintenance).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EventRedeployInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:EventRedeployInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', + ], + 'ExportBillDetailData' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '4380', + 'abilityTreeNodes' => ['FEATUREens43DFLD'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'StartDate', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2020-06-01T00:00:00Z'], + ], + [ + 'name' => 'EndDate', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2020-08-30T00:00:00Z'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], + 'FilePath' => ['description' => 'The download path of the exported file.', 'type' => 'string', 'title' => '', 'example' => 'http://test-oss.com/image_01.jpeg'], + 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.', 'type' => 'string', 'title' => '', 'example' => 'BEA05990-B90D-594F-8C8E-650AEEB94C5D'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'ExportBillDetailData', + 'summary' => 'Exports billing details within a specific time range.', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:50.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportBillDetailData'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ExportBillDetailData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"FilePath\\": \\"http://test-oss.com/image_01.jpeg\\",\\n \\"RequestId\\": \\"BEA05990-B90D-594F-8C8E-650AEEB94C5D\\"\\n}","type":"json"}]', ], - 'DeleteClusterNodePool' => [ - 'summary' => '删除节点池', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ExportImage' => [ + 'summary' => 'Exports a custom image to an Object Storage Service (OSS) bucket in the same region.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensWT1XPU', - 'FEATUREensPHDAAN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'operationType' => 'get', + 'abilityTreeCode' => '3679', + 'abilityTreeNodes' => ['FEATUREensU96TR9'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'title' => '集群id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'eck-xxxxxxxx', - ], + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => true, 'example' => 'm-5ragaz3s74b7go8ks7jp9****', 'title' => ''], ], [ - 'name' => 'NodepoolId', + 'name' => 'OSSBucket', + 'in' => 'query', + 'schema' => ['description' => 'The OSS bucket to which you want to export the image.', 'type' => 'string', 'required' => true, 'example' => 'whxyl****', 'title' => ''], + ], + [ + 'name' => 'OSSRegionId', 'in' => 'query', 'schema' => [ - 'title' => '节点池id', - 'description' => '', + 'description' => 'The region ID.', 'type' => 'string', 'required' => true, - 'example' => 'np68mi5y1dd748ky37ojo2kqdrz', + 'enum' => ['cn-beijing'], + 'example' => 'cn-beijing', + 'title' => '', ], ], + [ + 'name' => 'OSSPrefix', + 'in' => 'query', + 'schema' => ['description' => 'The prefix of the object as which you want to store the image in the OSS bucket. The prefix must be 1 to 30 characters in length and can contain digits and letters.', 'type' => 'string', 'required' => false, 'maxLength' => 30, 'example' => 'dataCenter/972****/', 'title' => ''], + ], + [ + 'name' => 'RoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Resource Access Management (RAM) role.', 'type' => 'string', 'required' => false, 'example' => 'AliyunMNSLoggingRole', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], + 'ExportedImageURL' => ['description' => 'The URL that points to the exported image.', 'type' => 'string', 'example' => 'http://oss.url', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '43A426AD-3F2E-5DD9-9C08-D4DBDCA48D85', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => 'Request param error.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidImageType.NotSupported', 'errorMessage' => 'The specified image type is not supported.', 'description' => 'The specified image does not support sharing or exporting.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'ExportImage', + 'changeSet' => [ + ['createdAt' => '2024-11-19T08:11:47.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-12-07T02:49:26.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', - ], - 'InitializeENSECKServiceRole' => [ - 'summary' => 'Create a service-linked role (SLR) for ENS for the current user to manage resources.', - 'path' => '', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportImage'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ExportImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ExportedImageURL\\": \\"http://oss.url\\",\\n \\"RequestId\\": \\"43A426AD-3F2E-5DD9-9C08-D4DBDCA48D85\\"\\n}","type":"json"}]', + ], + 'ExportMeasurementData' => [ + 'summary' => 'Exports the metering data within a specific time range.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ9TTQL', - 'FEATUREensC9WAZJ', - 'FEATUREens9OPNUD', - 'FEATUREens439UH5', - 'FEATUREensHUDXNZ', + 'operationType' => 'get', + 'abilityTreeCode' => '1454', + 'abilityTreeNodes' => ['FEATUREens43DFLD'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'StartDate', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-mm-ddthh:mm:ssz format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2019-06-01T00:00:00Z'], + ], + [ + 'name' => 'EndDate', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2021-10-30T16:00:00Z'], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response Schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], + 'FilePath' => ['description' => 'The download path of the exported file.', 'type' => 'string', 'title' => '', 'example' => 'http://test-oss.com/image_01.jpeg'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'ExportMeasurementData', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:50.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', - 'title' => 'Create ECK Service Role', - 'translator' => 'machine', - ], - 'DescribeInstanceSDGStatus' => [ - 'summary' => 'Queries shared data groups (SDGs) that are mounted to an Android in Container (AIC) instance.', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportMeasurementData'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ExportMeasurementData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"FilePath\\": \\"http://test-oss.com/image_01.jpeg\\",\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'GetBucketAcl' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -39768,1266 +28926,841 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253487', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'abilityTreeCode' => '187121', + 'abilityTreeNodes' => ['FEATUREens44HZEV'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'aic-xxxxx', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The deployment status of the SDG.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'success', - ], - ], - [ - 'name' => 'SDGIds', + 'name' => 'BucketName', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["sdg-1", "sdg-2", "sdg-3"]', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The name of the bucket.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response.'."\n", + 'description' => 'Schema of Response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'DeploymentStatus' => [ - 'description' => 'The deployment information of the SDGs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The deployment information of the SDG.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxx', - ], - 'SDGId' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'example' => 'sdg-xxxxxxx', - ], - 'MountType' => [ - 'description' => 'The deployment type of the SDG.'."\n", - 'type' => 'string', - 'example' => 'shared', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-guangzhou-26', - ], - 'Status' => [ - 'description' => 'The deployment status of the SDG.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Phase' => [ - 'description' => 'Deployment Phase'."\n", - 'type' => 'string', - 'example' => 'attach', - ], - 'UpdateTime' => [ - 'description' => 'The time when the status was last updated.'."\n", - 'type' => 'string', - 'example' => '2023-02-17T02:44:31Z', - ], - 'BlockRwSplitSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CacheSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'DiskType' => [ - 'type' => 'string', - ], - 'DiskAccessProtocol' => [ - 'type' => 'string', - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The number of the page to return. Pages start from page 1. Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of queried deployment records.'."\n", - 'type' => 'string', - 'example' => '1', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '5C881388-2D4B-46F4-A96B-D4E6BD0886A2'], + 'BucketAcl' => ['description' => 'The ACL of the bucket.', 'type' => 'string', 'example' => 'private', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'Specified parameter %s is not valid.', 'description' => ''], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"DeploymentStatus\\": [\\n {\\n \\"InstanceId\\": \\"aic-xxxx\\",\\n \\"SDGId\\": \\"sdg-xxxxxxx\\",\\n \\"MountType\\": \\"shared\\",\\n \\"EnsRegionId\\": \\"cn-guangzhou-26\\",\\n \\"Status\\": \\"success\\",\\n \\"Phase\\": \\"attach\\",\\n \\"UpdateTime\\": \\"2023-02-17T02:44:31Z\\",\\n \\"BlockRwSplitSize\\": 20,\\n \\"CacheSize\\": 20,\\n \\"DiskType\\": \\"standard\\",\\n \\"DiskAccessProtocol\\": \\"iscsi\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"1\\"\\n}","type":"json"}]', - 'title' => 'DescribeInstanceSDGStatus', - ], - 'MountInstanceSDG' => [ - 'summary' => 'Deploys the SDG that has been attached to instances on the corresponding Android in Container (AIC) instance.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '253554', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetBucketAcl', + 'summary' => 'Queries the access control list (ACL) of a bucket.', + 'changeSet' => [ + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-10T02:49:00.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBucketAcl'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["aic-1", "aic-2", "aic-3"]', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:GetBucketAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => true, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5C881388-2D4B-46F4-A96B-D4E6BD0886A2\\",\\n \\"BucketAcl\\": \\"private\\"\\n}","type":"json"}]', + ], + 'GetBucketInfo' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '119506', + 'abilityTreeNodes' => ['FEATUREensK8PUWN'], + ], + 'parameters' => [ [ - 'name' => 'SDGId', + 'name' => 'BucketName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', - ], + 'schema' => ['description' => 'Bucket name.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'C5831388-2D4B-46F4-A96B-D4E6BD06E7521'], + 'BucketInfo' => [ + 'description' => 'Bucket information list.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the failed task.'."\n", - 'type' => 'object', - 'properties' => [ - 'ErrMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* **true**: All tasks are successful.'."\n" - .'* **false**: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'BucketAcl' => ['description' => 'Bucket access control list type:'."\n" + ."\n" + .'- **public-read-write**: public-read-write'."\n" + ."\n" + .'- **public-read**: public-read'."\n" + ."\n" + .'- **private**: private (default)', 'type' => 'string', 'example' => 'private', 'title' => ''], + 'BucketName' => ['description' => 'Bucket name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Comment' => ['description' => 'Comments.', 'type' => 'string', 'example' => 'das', 'title' => ''], + 'CreateTime' => ['description' => 'Bucket creation time. Represented in ISO8601 standard, using UTC time. Format: yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2022-10-12T05:45:00Z', 'title' => ''], + 'LogicalBucketType' => ['description' => 'Single node storage. Value: sink.', 'type' => 'string', 'example' => 'sink', 'title' => ''], + 'ModifyTime' => ['description' => 'Bucket modification time. Represented in ISO8601 standard, using UTC time. Format: yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'example' => '2022-10-12T06:45:00Z', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'Specified parameter %s is not valid.', 'description' => ''], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'GetBucketInfo', + 'summary' => 'You can call GetBucketInfo to retrieve detailed Bucket information.', + 'changeSet' => [ + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'MountInstanceSDG', - ], - 'UnmountInstanceSDG' => [ - 'summary' => 'Unmounts a shared data group (SDG) from instances.', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBucketInfo'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:GetBucketInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C5831388-2D4B-46F4-A96B-D4E6BD06E7521\\",\\n \\"BucketInfo\\": {\\n \\"BucketAcl\\": \\"private\\",\\n \\"BucketName\\": \\"test\\",\\n \\"Comment\\": \\"das\\",\\n \\"CreateTime\\": \\"2022-10-12T05:45:00Z\\",\\n \\"LogicalBucketType\\": \\"sink\\",\\n \\"ModifyTime\\": \\"2022-10-12T06:45:00Z\\"\\n }\\n}","type":"json"}]', + ], + 'GetBucketLifecycle' => [ + 'summary' => 'Call GetBucketLifecycle to retrieve lifecycle rule information.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '253562', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '130574', + 'abilityTreeNodes' => ['FEATUREensN79QUI'], ], 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'BucketName', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[\'aic-5xxxx26dix05koz15l5413j25o\', \'aic-5sdmxxxx\']', - ], - 'required' => true, - ], + 'schema' => ['description' => 'Bucket name.', 'type' => 'string', 'required' => true, 'example' => 'tese', 'title' => ''], ], [ - 'name' => 'SDGId', + 'name' => 'RuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', - ], + 'schema' => ['description' => 'The ID of the rule to retrieve. If not set, retrieve all rule information.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the failed task.'."\n", - 'type' => 'object', - 'properties' => [ - 'ErrMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'A2583E8B-B930-4F59-ADC0-0E209A90C46E'], + 'Rule' => [ + 'description' => 'Rule details.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => ['description' => 'The unique ID that identifies the rule.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Expiration' => [ + 'description' => 'Expiration time.', + 'type' => 'object', + 'properties' => [ + 'Days' => ['description' => 'Number of days until expiration.', 'type' => 'string', 'example' => '5', 'title' => ''], + 'CreatedBeforeDate' => ['description' => 'Expiration date.', 'type' => 'string', 'example' => 'yyy-MM-DDThh:mm:ssZ', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + 'Prefix' => ['description' => 'The prefix to which the rule applies.', 'type' => 'string', 'example' => 'image', 'title' => ''], + 'Status' => ['description' => 'Rule status. Valid values:'."\n" ."\n" - .'* true: All tasks are successful.'."\n" - .'* false: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', + .'- **Enabled**: The rule runs regularly.'."\n" + ."\n" + .'- **Disabled**: The rule is ignored.', 'type' => 'string', 'example' => 'Enabled', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'GetBucketLifecycle', + 'changeSet' => [ + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-04-17T08:01:10.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'UnmountInstanceSDG', - ], - 'AttachInstanceSDG' => [ - 'summary' => 'Attaches a shared data group (SDG) to the corresponding Android in Container (AIC) instance.', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBucketLifecycle'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:GetBucketLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A2583E8B-B930-4F59-ADC0-0E209A90C46E\\",\\n \\"Rule\\": [\\n {\\n \\"ID\\": \\"1\\",\\n \\"Expiration\\": {\\n \\"Days\\": \\"5\\",\\n \\"CreatedBeforeDate\\": \\"yyy-MM-DDThh:mm:ssZ\\"\\n },\\n \\"Prefix\\": \\"image\\",\\n \\"Status\\": \\"Enabled\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetClusterAddonInstance' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '253522', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["aic-1", "aic-2", "aic-3"]', - ], - 'required' => true, - ], - ], - [ - 'name' => 'SDGId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', - ], - ], - [ - 'name' => 'DiskType', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxx', 'title' => ''], ], [ - 'name' => 'DiskAccessProtocol', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The name of the component.', 'type' => 'string', 'required' => true, 'example' => 'edge-csi-lite', 'title' => ''], ], - [ - 'name' => 'LoadOpt', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'BlockRwSplit' => [ - 'type' => 'boolean', - ], - 'BlockRwSplitSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Cache' => [ - 'type' => 'boolean', - ], - 'CacheSize' => [ - 'type' => 'integer', - 'format' => 'int32', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'Name' => ['description' => 'The name of the component.', 'type' => 'string', 'example' => 'edge-csi-lite', 'title' => ''], + 'Version' => ['description' => 'The version number.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'CleanupCloudResources' => ['description' => 'Indicates whether associated cloud resources are automatically cleaned up.', 'type' => 'boolean', 'title' => '', 'example' => ''], + 'Status' => ['description' => 'The status of the component instance. Valid values:'."\n" + ."\n" + .'- **enabled**: The component is running.'."\n" + ."\n" + .'- **deleting**: The component is being stopped.'."\n" + ."\n" + .'- **enabling**: The component is starting.'."\n" + ."\n" + .'- **upgrading**: The component is being upgraded or configured.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + 'ConfigSchema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The application version.', 'type' => 'string', 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', 'title' => ''], + 'ConfigVersion' => ['description' => 'The configuration version.', 'type' => 'string', 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', 'title' => ''], + 'Name' => ['description' => 'The name of the component.', 'type' => 'string', 'example' => 'edge-csi-lite', 'title' => ''], + 'Params' => ['description' => 'The custom parameters for the component.', 'type' => 'string', 'example' => '{"k1":"v1"}', 'title' => ''], + ], + 'description' => 'The schema of the custom parameters for the component.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The schema of the custom parameters for the component.', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the failed task.'."\n", - 'type' => 'object', - 'properties' => [ - 'ErrMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* **true**: All tasks are successful.'."\n" - .'* **false**: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetClusterAddonInstance', + 'summary' => 'Call the GetClusterAddonInstance operation to query the details of a component in a cluster, including the version, parameter settings, and status of the component instance.', + 'description' => 'You can delete an instance group only if it is empty.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterAddonInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:GetClusterAddonInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Version\\": \\"v1\\",\\n \\"CleanupCloudResources\\": false,\\n \\"Status\\": \\"enabled\\",\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"d0ead1f4e28de0f9e3c86588409a88a4\\",\\n \\"ConfigVersion\\": \\"d0ead1f4e28de0f9e3c86588409a88a4\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": \\"{\\\\\\"k1\\\\\\":\\\\\\"v1\\\\\\"}\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetOssStorageAndAccByBuckets' => [ + 'summary' => 'Queries the storage usage in the previous billing cycle and the cumulative number of calls in this month.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'BucketList', + 'in' => 'query', + 'schema' => ['description' => 'The information about the bucket.', 'type' => 'string', 'required' => false, 'example' => 'my-bucket', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '112F4860-F1B2-58DD-8FC0-75F19DA1C4BF'], + 'BucketList' => [ + 'description' => 'The information about the bucket.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Acc' => ['description' => 'The number of times that the bucket is accessed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + 'Bucket' => ['description' => 'The name of the bucket.', 'type' => 'string', 'example' => 'my-bucket', 'title' => ''], + 'StorageUsageByte' => ['description' => 'The storage usage of the bucket. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ParamNotEnough', 'errorMessage' => '参数不足', 'description' => ''], + ['errorCode' => 'ParamScopeError', 'errorMessage' => '参数值错误', 'description' => ''], + ['errorCode' => 'ParamTypeError', 'errorMessage' => '参数类型错误', 'description' => ''], + ['errorCode' => 'SqlError', 'errorMessage' => '数据库操作异常', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'AttachInstanceSDG', - ], - 'DetachInstanceSDG' => [ - 'summary' => 'Detaches a shared data group (SDG).', - 'methods' => [ - 'post', + 'title' => 'GetOssStorageAndAccByBuckets', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOssStorageAndAccByBuckets'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:GetOssStorageAndAccByBuckets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"112F4860-F1B2-58DD-8FC0-75F19DA1C4BF\\",\\n \\"BucketList\\": [\\n {\\n \\"Acc\\": 1000,\\n \\"Bucket\\": \\"my-bucket\\",\\n \\"StorageUsageByte\\": 1024\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetOssUsageData' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '253537', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], - ], + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'StartTime', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["aic-5iqczfxps7csjrxeca07****", "aic-5iqczfxps7csjrxeca07****"]', - ], - 'required' => true, - ], + 'schema' => ['description' => 'The beginning of the time range to query. The time must be in UTC. Format: 2010-01-21T09:50:23Z.', 'type' => 'string', 'required' => true, 'example' => '2022-01-11T00:00:00Z', 'title' => ''], ], [ - 'name' => 'SDGId', + 'name' => 'EndTime', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the SDG.'."\n", + 'description' => 'The end of the time range to query. The time must be in UTC. Format: 2010-01-21T09:50:23Z.', + 'enumValueTitles' => [], 'type' => 'string', 'required' => true, - 'example' => 'sdg-xxxxx', + 'example' => '2022-01-12T00:00:00Z', + 'title' => '', ], ], + [ + 'name' => 'Bucket', + 'in' => 'query', + 'schema' => ['description' => 'The name of the logical Object Storage Service (OSS) bucket.', 'type' => 'string', 'required' => false, 'example' => 'ens-sink-bucketzyp1656903494', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The aggregation granularity. Unit: minutes.'."\n" + ."\n" + .'Default value: 5. Valid values: 5 to 1440.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the failed task.'."\n", - 'type' => 'object', - 'properties' => [ - 'ErrMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* true: All tasks are successful.'."\n" - .'* false: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '2A8CCD48-14F9-0309-B957-7B1D74A8119D'], + 'UsageList' => [ + 'description' => 'The array of usage data.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LanRxBw' => ['description' => 'The inbound bandwidth over the internal network. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '37865147', 'title' => ''], + 'LanTxBw' => ['description' => 'The outbound bandwidth over the internal network. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '22012187890', 'title' => ''], + 'Point' => ['description' => 'The number of time points within a day.', 'type' => 'integer', 'format' => 'int64', 'example' => '144', 'title' => ''], + 'PointTs' => ['description' => 'The point in time, in UTC. Format: 2010-01-21T09:50:23Z.', 'type' => 'string', 'example' => '2022-01-12T00:00:00Z', 'title' => ''], + 'StorageUsageByte' => ['description' => 'The storage usage. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '85462146217', 'title' => ''], + 'WanRxBw' => ['description' => 'The outbound bandwidth over the Internet. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '542155715', 'title' => ''], + 'WanTxBw' => ['description' => 'The outbound bandwidth over the Internet. Unit: bit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '547126175217', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ParamNotEnough', 'errorMessage' => '参数不足', 'description' => ''], + ['errorCode' => 'ParamScopeError', 'errorMessage' => '参数值错误', 'description' => ''], + ['errorCode' => 'ParamTypeError', 'errorMessage' => '参数类型错误', 'description' => ''], + ['errorCode' => 'SqlError', 'errorMessage' => '数据库操作异常', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'GetOssUsageData', + 'summary' => 'Queries the storage and bandwidth usage within a specific time range.', + 'description' => 'The query and aggregation granularity of bandwidth and storage usage cannot exceed one day. Data aggregation is to collect the maximum values of usage data within a period of time.', + 'changeSet' => [ + ['createdAt' => '2024-01-22T08:09:17.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": \\"1\\"\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'DetachInstanceSDG', - 'description' => "\n" - ."\n", - ], - 'CreateSDG' => [ - 'summary' => 'Creates a shared data group (SDG) on an Android in Container (AIC) instance.', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOssUsageData'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:GetOssUsageData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2A8CCD48-14F9-0309-B957-7B1D74A8119D\\",\\n \\"UsageList\\": [\\n {\\n \\"LanRxBw\\": 37865147,\\n \\"LanTxBw\\": 22012187890,\\n \\"Point\\": 144,\\n \\"PointTs\\": \\"2022-01-12T00:00:00Z\\",\\n \\"StorageUsageByte\\": 85462146217,\\n \\"WanRxBw\\": 542155715,\\n \\"WanTxBw\\": 547126175217\\n }\\n ]\\n}","type":"json"}]', + ], + 'ImportImage' => [ + 'summary' => 'Imports an image.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREens7UORYM', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '173495', + 'abilityTreeNodes' => ['FEATUREensU96TR9'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['title' => '镜像名称。长度为[2, 128]个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。', 'description' => 'The name of the custom image. The name must be 2 to 128 characters long and must start with a letter or a Chinese character. It can contain digits, colons (:), underscores (\\_), and hyphens (-). The name cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'Image name', 'required' => true], + ], + [ + 'name' => 'ComputeType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the AIC instance. You can call the [DescribeARMServerInstances](~~DescribeARMServerInstances~~) operation to query the ID.'."\n", + 'title' => '镜像类型'."\n" + .'ens_vm'."\0".':ens虚机镜像(默认)', + 'description' => 'The type of the image. Valid value: `ens_vm` (ENS virtual machine image). Default value: `ens_vm`.', 'type' => 'string', 'required' => true, - 'example' => 'aic-xxxx', + 'enum' => ['ens_vm'], + 'example' => 'ens_vm', ], ], [ - 'name' => 'Size', + 'name' => 'OSSRegion', 'in' => 'query', 'schema' => [ - 'description' => 'The maximum capacity of the SDG. Unit: GB.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* To save costs, we recommend that you specify this parameter based on your business requirements.'."\n" - ."\n" - .'* The first time that you create an SDG, the **Size** parameter is required.'."\n" - ."\n" - .'* When the amount of data increases, you can pass a new **Size** parameter for resizing. If the value of the new **Size** parameter is greater than the value of the old **Size** parameter, the disk size of the SDG is increased to the size that is specified by the new **Size** parameter. If the value of the new **Size** parameter is empty or smaller than that of the old **Size** parameter, no operation is performed.'."\n", + 'title' => '镜像所在Region,暂时只支持cn-beijing', + 'description' => 'The region where the source image is located. Currently, only `cn-beijing` is supported.', 'type' => 'string', 'required' => false, - 'example' => '20', + 'example' => 'cn-beijing', + 'enum' => [], ], ], [ - 'name' => 'Description', + 'name' => 'OSSBucket', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the SDG.'."\n" - ."\n" - .'> We recommend that you specify this parameter in details for subsequent queries.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Testing SDGs', - ], + 'schema' => ['title' => '镜像文件所在的OSS Bucket。', 'description' => 'The OSS bucket where the image file is stored.', 'type' => 'string', 'required' => false, 'example' => 'tmp-hybrid'], ], [ - 'name' => 'FromSDGId', + 'name' => 'OSSObject', + 'in' => 'query', + 'schema' => ['title' => '镜像文件名。', 'description' => 'The name of the image file (object) in the OSS bucket.', 'type' => 'string', 'required' => false, 'example' => 'image-test'], + ], + [ + 'name' => 'OSType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the SDG from which you want to create an SDG.'."\n" - ."\n" - .'> '."\n" + 'title' => '操作系统平台类型。取值范围:'."\n" + .'● windows。'."\n" + .'● linux。'."\n" + .'暂时只支持:linux。', + 'description' => 'The type of the operating system. Valid values:'."\n" ."\n" - .'* The first time you create an SDG, the **FromSDGId** parameter is empty.'."\n" + .'- windows'."\n" ."\n" - .'* If the value of the **FromSDGId** parameter is invalid or does not correspond to an original disk, an error is reported.'."\n" + .'- linux'."\n" ."\n" - .'* If the value of the **FromSDGId** parameter is not empty, you have created an SDG, and the operation is performed on the existing SDG.'."\n", + .'Currently, only `linux` is supported.', 'type' => 'string', - 'required' => false, - 'example' => 'sdg-xxxxx', + 'required' => true, + 'enum' => ['linux', 'windows'], + 'example' => 'linux', ], ], [ - 'name' => 'DiskType', + 'name' => 'Platform', 'in' => 'query', 'schema' => [ + 'title' => '操作系统发行版。取值范围:'."\n" + .'* centos'."\n" + .'* ubuntu', + 'description' => 'The operating system distribution. Valid values:'."\n" + ."\n" + .'- centos'."\n" + ."\n" + .'- ubuntu', 'type' => 'string', + 'required' => false, + 'enum' => [], + 'example' => 'centos', ], ], [ - 'name' => 'BillingCycle', + 'name' => 'ImageFormat', 'in' => 'query', 'schema' => [ + 'title' => '镜像格式。取值范围:'."\n" + .'● QCOW2。'."\n" + .'只支持QCOW2。', + 'description' => 'The image format.
Valid value: `qcow2`.


', 'type' => 'string', + 'required' => true, + 'enum' => ['qcow2', 'raw', 'vhd'], + 'example' => 'qcow2', ], ], [ - 'name' => 'PerformanceLevel', + 'name' => 'Architecture', 'in' => 'query', 'schema' => [ - 'title' => 'sdg共享比参数,支持不同最大共享比的云盘'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'SDGId' => [ - 'description' => 'The ID of the generated SDG.'."\n", - 'type' => 'string', - 'example' => 'sdg-xxxx', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'title' => '系统架构。取值范围:'."\n" + .'● x86_64。'."\n" + .'现只支持:x86_64。', + 'description' => 'The system architecture. Valid value:
'."\n" + ."\n" + .'- x86\\_64', + 'type' => 'string', + 'required' => true, + 'enum' => ['x86_64'], + 'example' => 'x86_64', ], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"SDGId\\": \\"sdg-xxxx\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n sdg-xxxx\\n","errorExample":""}]', - 'title' => 'CreateSDG', - 'description' => 'A SDG can be regarded as a data partition image of a virtual device. You can save a data partition of a virtual device as an SDG. A created SDG can be deployed in data partitions of other virtual devices to achieve rapid data distribution and application. The procedure for calling SDG-related API operations:'."\n" - ."\n" - .'* Call the [CreateSDG](~~CreateSDG~~) operation to create an SDG, which is bound to AIC Instance A (InstanceId). After you create the SDG, a blank cloud disk (also known as an original cloud disk) is attached to Device A (InstanceId).'."\n" - .'* Install applications on and deliver files to AIC Instance A (InstanceId).'."\n" - .'* Call the [SaveSDG](~~SaveSDG~~) operation to save the data disk of AIC instance A as SDG A.'."\n" - .'* Call the [DeploySDG](~~DeploySDG~~) operation to deploy SDG A to AIC Instance B. This operattion is executed asynchronously. You can call the [DescribeARMServerInstances](~~DescribeARMServerInstances~~) operation to query the status of AIC Instance B. If the status of AIC Instance B changes to success, AIC insance B is available, and AIC Instances A and B have the same applications running.'."\n", - ], - 'DeploySDG' => [ - 'summary' => 'Deploys shared data groups (SDGs).', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '170221', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + 'name' => 'OSVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the operating system distribution.', 'type' => 'string', 'required' => false, 'example' => '6.8', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'DiskDeviceMapping', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The IDs of instances on which you want to deploy SDGs. You can deploy SDGs on a maximum of 100 instances at a time.'."\n", + 'description' => 'A list of disk mappings that describe the source of the image file.', 'type' => 'array', 'items' => [ - 'description' => 'The IDs of instances on which you want to deploy SDGs. You can deploy SDGs on a maximum of 100 instances at a time.'."\n", - 'type' => 'string', + 'description' => 'Specifies the details of a disk mapping.', + 'type' => 'object', + 'properties' => [ + 'OSSRegion' => ['description' => 'The region where the image is located.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + 'OSSBucket' => ['description' => 'The OSS bucket that stores the image file.', 'type' => 'string', 'required' => false, 'example' => 'www-cn', 'title' => ''], + 'OSSObject' => ['description' => 'The name (key) of the image file stored in the OSS bucket.', 'type' => 'string', 'required' => false, 'example' => 'image-bucket', 'title' => ''], + ], 'required' => false, - 'example' => '["aic-1", "aic-2", "aic-3"]', + 'title' => '', + 'example' => '', ], - 'required' => true, + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SDGId', + 'name' => 'TargetOSSRegionId', 'in' => 'query', 'schema' => [ - 'description' => 'The SDG ID. This parameter is used to create a disk, which is attached to an instance.'."\n", + 'description' => 'The ID of the target region where the image will be stored.
'."\n" + ."\n" + .'> Currently, only the cn-beijing and ap-southeast-1 regions are supported.', 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxxx', + 'enum' => ['cn-beijing', 'ap-southeast-1'], + 'required' => false, + 'example' => 'cn-beijing', + 'title' => '', ], ], [ - 'name' => 'DeploymentType', + 'name' => 'LicenseType', 'in' => 'query', 'schema' => [ - 'description' => 'The SDG deployment type. Valid values:'."\n" - ."\n" - .'* common (default): read/write deployment. Data updates are written to disks.'."\n" - .'* overlay: read/write splitting deployment. Content in SDGs is read-only. Data updates are written to the local storage of the instance.'."\n", 'type' => 'string', + 'default' => 'Aliyun', + 'enum' => ['Aliyun', 'BYOL'], + 'description' => '', 'required' => false, - 'example' => 'common', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Schema of Response'."\n", + 'title' => 'Schema of Response', + 'description' => 'Response schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A331CA96-3948-4BD2-B067-F6174F5C17EA', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The task result.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details of failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ErrMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* true: All tasks are successful.'."\n" - .'* false: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'm-5wn1dh*******b48f440ntvad', 'title' => ''], ], - 'title' => 'Schema of Response', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ImageId\\": \\"m-5wn1dh*******b48f440ntvad\\"\\n}","type":"json"}]', + 'title' => 'Import Image', + 'changeSet' => [ + ['createdAt' => '2025-05-21T02:19:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-08T02:43:21.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A331CA96-3948-4BD2-B067-F6174F5C17EA\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n A331CA96-3948-4BD2-B067-F6174F5C17EA\\n","errorExample":""}]', - 'title' => 'DeploySDG', - ], - 'DeployInstanceSDG' => [ - 'summary' => 'Deploys a shared data group (SDG) to compute instances.', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportImage'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ImportImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'ImportKeyPair' => [ + 'summary' => 'Imports the public key of a Rivest–Shamir–Adleman (RSA)-encrypted key pair that is generated by a third-party tool.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '1334', + 'abilityTreeNodes' => ['FEATUREensCT6YHH'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances. The value is a JSON array that consists of up to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the Android in Container (AIC) instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["aic-1", "aic-2", "aic-3"]', - ], - 'required' => true, - ], - ], - [ - 'name' => 'SDGId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', - ], - ], - [ - 'name' => 'DeploymentType', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The deployment type of the SDG. shared: shared read/write splitting deployment. The content of the SDG is read-only, and data updates are written to the local storage of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'shared', - 'enum' => [ - 'shared', - ], - ], - ], - [ - 'name' => 'DiskType', + 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The name of the key pair. The name must conform to the following naming conventions:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + ."\n" + .'- The name must start with a letter but cannot start with `http://` or `https://`.'."\n" + ."\n" + .'- The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'You can specify the name of only one key pair.', 'type' => 'string', 'required' => true, 'example' => 'TestKeyPairName', 'title' => ''], ], [ - 'name' => 'DiskAccessProtocol', + 'name' => 'PublicKeyBody', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The public key of the key pair. You can specify only one public key.', 'type' => 'string', 'required' => true, 'example' => 'ssh-rsa AAAAB****', 'title' => ''], ], ], 'responses' => [ @@ -41035,339 +29768,261 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about the failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ErrMessage' => [ - 'description' => 'The error message that is returned.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - ], - 'description' => '', - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* true: All tasks are successful.'."\n" - .'* false: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'KeyPairFingerPrint' => ['description' => 'The fingerprint of the key pair. The message-digest algorithm 5 (MD5) is used based on the public key fingerprint format defined in RFC 4716.', 'type' => 'string', 'example' => 'fdaf8ff7a756ef843814fc****', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair.', 'type' => 'string', 'example' => 'TestKeyPairName', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidPublicKeyBody.Malformed', 'errorMessage' => 'The PublicKeyBody format is not supported.', 'description' => 'The PublicKeyBody format is not supported.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ImportKeyPair', + 'description' => '- After the key pair is imported, ENS stores the public key. You must securely store the private key.'."\n" + ."\n" + .'- The key pair can be only in the ssh-rsa format.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-06-27T09:31:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-21T08:03:41.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'DeployInstanceSDG', - ], - 'CopySDG' => [ - 'summary' => 'Copies a shared data group (SDG) across nodes.', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportKeyPair'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ImportKeyPair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"KeyPairFingerPrint\\": \\"fdaf8ff7a756ef843814fc****\\",\\n \\"KeyPairName\\": \\"TestKeyPairName\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'InitializeENSECKServiceRole' => [ + 'summary' => 'Creates a service-linked role (SLR) that grants ENS the permissions to manage your resources.', + 'path' => '', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - ], - 'parameters' => [ - [ - 'name' => 'SDGId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG that you want to copy.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxx', - ], - ], - [ - 'name' => 'DestinationRegionIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The destination nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the destination node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-foshan-4', - ], - 'required' => true, - ], - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ9TTQL', 'FEATUREensC9WAZJ', 'FEATUREens9OPNUD', 'FEATUREens439UH5', 'FEATUREensHUDXNZ'], + 'tenantRelevance' => 'publicInformation', ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'XXX-XXX-XXX', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed nodes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details of failed nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ErrorMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'region not found', - ], - 'DestinationRegionId' => [ - 'description' => 'The ID of the destination node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-xxx', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful nodes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* **true**: All tasks are successful.'."\n" - .'* **false**: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'InitializeENSECKServiceRole', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitializeENSECKServiceRole'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:InitializeENSECKServiceRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"XXX-XXX-XXX\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrorMessage\\": \\"region not found\\",\\n \\"DestinationRegionId\\": \\"cn-hangzhou-xxx\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'CopySDG', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', ], - 'PreloadRegionSDG' => [ - 'summary' => 'Preloads a shared data group (SDG).', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'InstallClusterAddons' => [ + 'summary' => 'To enhance the capabilities of Kubernetes, Edge Kubernetes (ECK) clusters support a variety of components, such as managed core components, applications, logging and monitoring, networking, storage, and security components. You can call the InstallClusterAddons operation to install components by specifying their names and versions.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '226289', - 'abilityTreeNodes' => [ - 'FEATUREens7UORYM', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'SDGId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG for which data is preloaded.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxx', 'title' => ''], ], [ - 'name' => 'DestinationRegionIds', + 'name' => 'Addons', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The IDs of the destination nodes.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The ID of the destination node.'."\n", - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The plug-in name.', 'type' => 'string', 'required' => false, 'example' => 'edge-csi-lite', 'title' => ''], + 'Version' => ['description' => 'The version number.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + 'ConfigSchema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The application version.', 'type' => 'string', 'required' => false, 'example' => '859e9d595b2974ed79c444658d1dea89', 'title' => ''], + 'ConfigVersion' => ['description' => 'The configuration version.', 'type' => 'string', 'required' => false, 'example' => '4155709cd12a09bdb8cbaca71bf03233', 'title' => ''], + 'Name' => ['description' => 'The component name.', 'type' => 'string', 'required' => false, 'example' => 'edge-csi-lite', 'title' => ''], + 'Params' => ['description' => 'The custom parameters of the component.', 'type' => 'object', 'required' => false, 'example' => '{"k1":"v1"}', 'title' => ''], + ], + 'description' => 'The schema for the custom parameters of the component.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'description' => 'The schema for the custom parameters of the component.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The component information.', 'required' => false, - 'example' => 'cn-foshan-4', + 'title' => '', + 'example' => '', ], 'required' => true, + 'description' => 'The component information.', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Namespaces', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'An array that consists of queried namespaces.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' \'default\'', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'eck-xxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', + ], + ], + ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'InstallClusterAddons', + 'description' => '- The call frequency for a single user is limited to 10 calls per second.'."\n" + ."\n" + .'- Cluster creation is an asynchronous operation. After the API call returns, the cluster requires 10 to 20 minutes to complete initialization. During this process, you can call the DescribeClustersV1 operation to query the cluster creation status. After the cluster is created, you can call the DescribeClusterUserKubeconfig operation to obtain the cluster certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallClusterAddons'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:InstallClusterAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', + ], + 'JoinPublicIpsToEpnInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RedundantNum', + 'AK' => [], + ], + ], + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'EPNInstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '冗余数量,以支持快速部署', - 'description' => 'The number of redundant replicas to support rapid deployment.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '20', - 'minimum' => '1', - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-xxxx', 'title' => ''], ], [ - 'name' => 'DiskType', + 'name' => 'InstanceInfos', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The information about the public IP address that you want to add to the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'InstanceInfos=[{"PublicIpAddress":"2.230.XX.XX"},{"PublicIpAddress":"2.230.XX.XX"}]', 'title' => ''], ], ], 'responses' => [ @@ -41375,426 +30030,245 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The message returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about the failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the failed task.'."\n", - 'type' => 'object', - 'properties' => [ - 'ErrorMessage' => [ - 'description' => 'The error message that is returned.'."\n", - 'type' => 'string', - 'example' => 'region not found', - ], - 'DestinationRegionId' => [ - 'description' => 'The ID of the destination node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-xxx', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* true: All tasks are successful.'."\n" - .'* false: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'JoinPublicIpsToEpnInstance', + 'summary' => 'Assigns public IP addresses to an EPN instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:53.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrorMessage\\": \\"region not found\\",\\n \\"DestinationRegionId\\": \\"cn-hangzhou-xxx\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'PreloadRegionSDG', - ], - 'DescribeSDGs' => [ - 'summary' => 'Queries information about created shared data groups (SDGs).', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'JoinPublicIpsToEpnInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:JoinPublicIpsToEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'JoinSecurityGroup' => [ + 'summary' => 'Adds an Edge Node Service (ENS) instance to a specified security group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ9TTQL', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '2627', + 'abilityTreeNodes' => ['FEATUREensSZS7MU'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'SDGIds', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["sdg-1", "sdg-2", "sdg-3"]', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4ph***', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'InstanceId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The AIC instance ID to be queried.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of instances that you want to query. By default, all instances are queried.'."\n" - ."\n" - .'> If you specify the **SDGIds** and **InstanceIds** parameters at the same time, the query result is the intersection of the two conditions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["aic-1", "aic-2", "aic-3"]', - ], - 'required' => false, - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => false, 'example' => 'i-bp67acfmxazb4ph***', 'title' => ''], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => false, 'example' => 'eni-58z57orgmt6d1****', 'title' => ''], ], ], 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3703C4AC-9396-458C-8F25-1D701334D309', - ], - 'SDGs' => [ - 'description' => 'The information about the SDGs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the SDGs.'."\n", - 'type' => 'object', - 'properties' => [ - 'AvaliableRegionIds' => [ - 'description' => 'The IDs of available edge nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'List of available nodes.', - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the SDG was created on the node.'."\n", - 'type' => 'string', - 'example' => '2023-02-27 15:13:26', - ], - 'RegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-26', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'example' => 'mock-clone_snapshot_id', - ], - 'Status' => [ - 'description' => 'The status of the SDG on the node. Valid values:'."\n" - ."\n" - .'* **sdg_making**'."\n" - .'* **sdg_saving**'."\n" - .'* **sdg_copying**'."\n" - .'* **failed**'."\n" - .'* **success**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - ], - ], - ], - 'CreationDiskType' => [ - 'type' => 'string', - ], - 'CreationRegionId' => [ - 'description' => 'The ID of the node on which the SDG is created.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-26', - ], - 'CreationTime' => [ - 'description' => 'The time when the SDG was first created.'."\n", - 'type' => 'string', - 'example' => '2023-02-27 15:07:21', - ], - 'DeployedInstanceIds' => [ - 'description' => 'The deployment information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Deployment status information list', - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the SDG was deployed on the instance.'."\n", - 'type' => 'string', - 'example' => '2023-02-27 16:48:43', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-5x20dyeos****', - ], - 'Status' => [ - 'description' => 'The deployment status. Valid values:'."\n" - ."\n" - .'* **sdg_deploying**'."\n" - .'* **failed**'."\n" - .'* **success**'."\n", - 'type' => 'string', - 'example' => 'sdg_deploying', - ], - 'DeploymentType' => [ - 'description' => 'The deployment type of the SDG. Valid values:'."\n" - ."\n" - .'* common: common deployment.'."\n" - .'* overlay: read/write splitting deployment.'."\n", - 'type' => 'string', - 'example' => 'overlay', - ], - ], - ], - ], - 'Description' => [ - 'description' => 'The description of the SDG.'."\n", - 'type' => 'string', - 'example' => 'Testing SDGs'."\n", - ], - 'ParentSDGId' => [ - 'description' => 'The ID of the source SDG from which you want to create an SDG. The value of this parameter is the value of the **FromSDGId** parameter that you need to specify when you call the [CreateSDG](~~608128~~) operation.'."\n", - 'type' => 'string', - 'example' => 'sdg-xxxxx', - ], - 'SDGId' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'example' => 'sdg-30e1fdba7196bc****', - ], - 'Size' => [ - 'description' => 'The size of the SDG. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Status' => [ - 'description' => 'The status of the SDG creation. Valid values:'."\n" - ."\n" - .'* **sdg_making**'."\n" - .'* **sdg_saving**'."\n" - .'* **failed**'."\n" - .'* **success**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'UpdateTime' => [ - 'description' => 'The time when the SDG was last updated.'."\n", - 'type' => 'string', - 'example' => '2023-02-27 16:04:39', - ], - 'CreationInstanceId' => [ - 'description' => 'The ID of the instance on which the SDG is created.'."\n", - 'type' => 'string', - 'example' => 'aic-5x20dyeos****', - ], - 'BillingType' => [ - 'title' => '计费类型', - 'type' => 'string', - 'example' => 'Open', - ], - 'PerformanceLevel' => [ - 'title' => 'sdg的共享比', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'BillingCycle' => [ - 'type' => 'string', - ], - ], - ], - ], + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'SecurityGroupRule.NotFound', 'errorMessage' => 'The input security group rule does not exist.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified InstanceId does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'RegionNotSupport', 'errorMessage' => 'The specified InstanceId of regionId does not support SecurityGroup', 'description' => ''], + ['errorCode' => 'InstanceAlreadyBound', 'errorMessage' => 'The instance is already bound to a SecurityGroup.', 'description' => ''], + ], + ], + 'title' => 'JoinSecurityGroup', + 'description' => 'Before you To add an instance to a security group, make sure that the instance is in the Stopped or Running state.', + 'changeSet' => [ + ['createdAt' => '2023-09-21T05:50:15.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-06-07T08:13:14.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'JoinSecurityGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:JoinSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'JoinVSwitchesToEpnInstance' => [ + 'summary' => 'Performs networking.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'EPNInstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the edge network instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-xxxx', 'title' => ''], + ], + [ + 'name' => 'VSwitchesInfo', + 'in' => 'query', + 'schema' => ['description' => 'The information about the internal networking to which you want to add the edge network instance.', 'type' => 'string', 'required' => true, 'example' => '[{"VSwitchId":"vs-ixxxx"},{"VSwitchId":"vs-ixxxx"}]', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3703C4AC-9396-458C-8F25-1D701334D309\\",\\n \\"SDGs\\": [\\n {\\n \\"AvaliableRegionIds\\": [\\n {\\n \\"CreationTime\\": \\"2023-02-27 15:13:26\\",\\n \\"RegionId\\": \\"cn-hangzhou-26\\",\\n \\"SnapshotId\\": \\"mock-clone_snapshot_id\\",\\n \\"Status\\": \\"success\\"\\n }\\n ],\\n \\"CreationDiskType\\": \\"standard\\",\\n \\"CreationRegionId\\": \\"cn-hangzhou-26\\",\\n \\"CreationTime\\": \\"2023-02-27 15:07:21\\",\\n \\"DeployedInstanceIds\\": [\\n {\\n \\"CreationTime\\": \\"2023-02-27 16:48:43\\",\\n \\"InstanceId\\": \\"aic-5x20dyeos****\\",\\n \\"Status\\": \\"sdg_deploying\\",\\n \\"DeploymentType\\": \\"overlay\\"\\n }\\n ],\\n \\"Description\\": \\"测试SDG\\",\\n \\"ParentSDGId\\": \\"sdg-xxxxx\\",\\n \\"SDGId\\": \\"sdg-30e1fdba7196bc****\\",\\n \\"Size\\": 20,\\n \\"Status\\": \\"success\\",\\n \\"UpdateTime\\": \\"2023-02-27 16:04:39\\",\\n \\"CreationInstanceId\\": \\"aic-5x20dyeos****\\",\\n \\"BillingType\\": \\"Open\\",\\n \\"PerformanceLevel\\": 100,\\n \\"BillingCycle\\": \\"Hour\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 3703C4AC-9396-458C-8F25-1D701334D309\\n \\n \\n 2023-02-27 15:13:26\\n cn-hangzhou-26\\n mock-clone_snapshot_id\\n success\\n \\n aic-5x20dyeos****\\n cn-hangzhou-26\\n 2023-02-27 15:07:21\\n \\n 2023-02-27 16:48:43\\n aic-5x20dyeos****\\n sdg_deploying\\n \\n 测试SDG\\n sdg-xxxxx\\n sdg-30e1fdba7196bc****\\n 20\\n success\\n 2023-02-27 16:04:39\\n \\n","errorExample":""}]', - 'title' => 'DescribeSDGs', - ], - 'DescribeSDG' => [ - 'summary' => 'Queries basic information about shared data groups (SDGs), including node preload information.', - 'methods' => [ - 'get', - 'post', + 'title' => 'JoinVSwitchesToEpnInstance', + 'description' => 'For the Internal Connection mode and the Intelligent Acceleration and Internal Connection mode, instances of the vSwitch take effect automatically. You do not need to manually add instances. For public connections such as intelligent acceleration, you need to call an operation to manually add the instances to Internet-facing instances.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-06-07T08:13:13.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'JoinVSwitchesToEpnInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:JoinVSwitchesToEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'LeaveSecurityGroup' => [ + 'summary' => 'Removes an instance from a security group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '4379', + 'abilityTreeNodes' => ['FEATUREensTCI0WT'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'SDGIds', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of SDGs that you want to query. By default, all SDGs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["sdg-1", "sdg-2", "sdg-3"]', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => false, 'example' => 'i-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'NetworkInterfaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => false, 'example' => 'eni-58z57orgmt6d1****', 'title' => ''], ], ], 'responses' => [ @@ -41802,221 +30276,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], - 'SDGs' => [ - 'description' => 'The information about the SDGs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AvaliableRegionIds' => [ - 'description' => 'SDGs that have snapshots.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the SDG was created on the node.'."\n", - 'type' => 'string', - 'example' => '2023-02-27 15:13:26', - ], - 'RegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-26', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot.'."\n", - 'type' => 'string', - 'example' => 'sp-517qu0tgznrg622he7nf4wd7n', - ], - 'Status' => [ - 'description' => 'The status of the SDG on the node. Valid values:'."\n" - ."\n" - .'* **sdg_making**'."\n" - .'* **sdg_saving**'."\n" - .'* **sdg_copying**'."\n" - .'* **failed**'."\n" - .'* **success**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - ], - 'description' => '', - ], - ], - 'CreationInstanceId' => [ - 'description' => 'The ID of the instance on which the SDG is created.'."\n", - 'type' => 'string', - 'example' => 'aic-5x20dyeos****', - ], - 'CreationDiskType' => [ - 'type' => 'string', - ], - 'CreationTime' => [ - 'description' => 'The time when the first SDG in the node was created.'."\n", - 'type' => 'string', - 'example' => '2023-02-27 15:07:21', - ], - 'Description' => [ - 'description' => 'The description of the SDG.'."\n", - 'type' => 'string', - 'example' => 'Testing SDGs'."\n", - ], - 'ParentSDGId' => [ - 'description' => 'The ID of the source SDG from which you want to create an SDG. The value of this parameter is the value of the **FromSDGId** parameter that you need to specify when you call the [CreateSDG](~~608128~~) operation.'."\n", - 'type' => 'string', - 'example' => 'sdg-xxxxx', - ], - 'SDGId' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'example' => 'sdg-30e1fdba7196bc****', - ], - 'Size' => [ - 'description' => 'The size of the SDG. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Status' => [ - 'description' => 'The status of the SDG creation. Valid values:'."\n" - ."\n" - .'* **sdg_making**'."\n" - .'* **sdg_saving**'."\n" - .'* **failed**'."\n" - .'* **success**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'PerformanceLevel' => [ - 'type' => 'string', - ], - 'UpdateTime' => [ - 'description' => 'The time when the SDG was last updated.'."\n", - 'type' => 'string', - 'example' => '2023-02-27 16:04:39', - ], - 'PreloadInfos' => [ - 'description' => 'The preload information.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Namespace' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'example' => 'test-20000', - ], - 'RedundantNum' => [ - 'description' => 'The number of redundant replicas to quickly respond to shared mounts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DiskType' => [ - 'type' => 'string', - 'required' => false, - ], - 'CreationTime' => [ - 'description' => 'The time when the SDG 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' => '2023-02-16T06:18:40Z', - ], - 'UpdateTime' => [ - 'description' => 'The time when the status was last updated.'."\n", - 'type' => 'string', - 'example' => '2021-01-22T08:17Z', - ], - ], - 'description' => '', - ], - ], - 'CreationRegionId' => [ - 'description' => 'The ID of the node on which the SDG is created.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-26', - ], - 'BillingType' => [ - 'title' => '计费类型', - 'type' => 'string', - 'example' => 'Open', - ], - 'BillingCycle' => [ - 'type' => 'string', - ], - ], - 'description' => '', - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'SecurityGroupRule.NotFound', 'errorMessage' => 'The input security group rule does not exist.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified InstanceId does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'LeaveSecurityGroup', + 'description' => 'Before you remove an instance from a security group, the instance must be in the Stopped or Running state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-07T07:58:25.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-09-21T05:50:16.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"SDGs\\": [\\n {\\n \\"AvaliableRegionIds\\": [\\n {\\n \\"CreationTime\\": \\"2023-02-27 15:13:26\\",\\n \\"RegionId\\": \\"cn-hangzhou-26\\",\\n \\"SnapshotId\\": \\"sp-517qu0tgznrg622he7nf4wd7n\\",\\n \\"Status\\": \\"success\\"\\n }\\n ],\\n \\"CreationInstanceId\\": \\"aic-5x20dyeos****\\",\\n \\"CreationDiskType\\": \\"standard\\",\\n \\"CreationTime\\": \\"2023-02-27 15:07:21\\",\\n \\"Description\\": \\"测试SDG\\",\\n \\"ParentSDGId\\": \\"sdg-xxxxx\\",\\n \\"SDGId\\": \\"sdg-30e1fdba7196bc****\\",\\n \\"Size\\": 20,\\n \\"Status\\": \\"success\\",\\n \\"PerformanceLevel\\": \\"100\\",\\n \\"UpdateTime\\": \\"2023-02-27 16:04:39\\",\\n \\"PreloadInfos\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Namespace\\": \\"test-20000\\",\\n \\"RedundantNum\\": 2,\\n \\"DiskType\\": \\"standard\\",\\n \\"CreationTime\\": \\"2023-02-16T06:18:40Z\\",\\n \\"UpdateTime\\": \\"2021-01-22T08:17Z\\"\\n }\\n ],\\n \\"CreationRegionId\\": \\"cn-hangzhou-26\\",\\n \\"BillingType\\": \\"Open\\",\\n \\"BillingCycle\\": \\"Day\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 49\\n}","type":"json"}]', - 'title' => 'DescribeSDG', - ], - 'DescribeSDGDeploymentStatus' => [ - 'summary' => 'Queries the deployment status of the shared data group (SDG).', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LeaveSecurityGroup'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:LeaveSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ListAICPublicKeyDeliveries' => [ + 'summary' => 'Queries the related information of AIC public keys. Paged query is supported.', + 'path' => '', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -42028,459 +30346,385 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '205308', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'SDGId', + 'name' => 'KeyName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', - ], + 'schema' => ['description' => 'Public Key Name', 'type' => 'string', 'required' => false, 'example' => 'mykey', 'title' => ''], + ], + [ + 'name' => 'KeyGroup', + 'in' => 'query', + 'schema' => ['description' => 'Public Key Grouping', 'type' => 'string', 'required' => false, 'example' => 'g-test', 'title' => ''], + ], + [ + 'name' => 'KeyType', + 'in' => 'query', + 'schema' => ['description' => 'Public key type', 'type' => 'string', 'required' => false, 'example' => 'adb', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => false, 'example' => 'aic-xxxx-0', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], ], [ 'name' => 'PageSize', 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'xxxsxxxxx', 'title' => ''], + 'PublicKeyDeliverInfo' => [ + 'title' => '', + 'description' => 'Public Key List', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The public key.', + 'type' => 'object', + 'properties' => [ + 'KeyName' => ['description' => 'Public Key Name', 'type' => 'string', 'example' => 'mykey', 'title' => ''], + 'KeyGroup' => ['description' => 'Public Key Grouping', 'type' => 'string', 'example' => 'test-group', 'title' => ''], + 'KeyType' => ['description' => 'Public key type', 'type' => 'string', 'example' => 'adb', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'aic-xxxx-0', 'title' => ''], + 'CreationTime' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2025-10-09T15:13:21+08:00', 'title' => ''], + ], + 'example' => '', + ], + 'example' => '', + ], + 'PageNumber' => ['description' => 'Current page number when paging', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListAICPublicKeyDeliveries', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAICPublicKeyDeliveries'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ListAICPublicKeyDeliveries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxsxxxxx\\",\\n \\"PublicKeyDeliverInfo\\": [\\n {\\n \\"KeyName\\": \\"mykey\\",\\n \\"KeyGroup\\": \\"test-group\\",\\n \\"KeyType\\": \\"adb\\",\\n \\"InstanceId\\": \\"aic-xxxx-0\\",\\n \\"CreationTime\\": \\"2025-10-09T15:13:21+08:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10\\n}","type":"json"}]', + ], + 'ListAICPublicKeys' => [ + 'summary' => 'Query the list of AIC public keys that meet the conditions. Paged query is supported.', + 'path' => '', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'DeploymentType', + 'name' => 'KeyName', 'in' => 'query', - 'schema' => [ - 'description' => 'The deployment type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'shared', - ], + 'schema' => ['description' => 'Public key name', 'type' => 'string', 'required' => false, 'example' => 'mykey', 'title' => ''], ], [ - 'name' => 'Status', + 'name' => 'KeyGroup', 'in' => 'query', - 'schema' => [ - 'description' => 'The deployment status of the SDG.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'success', - ], + 'schema' => ['description' => 'Public key grouping', 'type' => 'string', 'required' => false, 'example' => 'g-test', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'KeyType', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'IDs of Android in Container (AIC) instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aic-xxxx', - ], - 'required' => false, - ], + 'schema' => ['description' => 'Public key type', 'type' => 'string', 'required' => false, 'example' => 'adb', 'title' => ''], ], [ - 'name' => 'RegionIds', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - 'title' => '磁盘ID', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The page number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => '', 'required' => false], ], [ - 'name' => 'DiskIds', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '磁盘ID列表', - 'type' => 'array', - 'items' => [ - 'title' => '磁盘ID', - 'type' => 'string', - 'example' => 'd-xxxxx', - ], - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '68B85217-03B8-5141-9216-EA4D7C496B9A', - ], - 'DeploymentStatus' => [ - 'description' => 'The list of SDG deployment information.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'xxxsxxxxx', 'title' => ''], + 'PublicKeys' => [ + 'title' => '', + 'description' => 'Public key list', 'type' => 'array', 'items' => [ + 'title' => '', + 'description' => 'The public key.', 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxx', - ], - 'MountType' => [ - 'description' => 'The deployment type.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* overlay: read/write splitting.'."\n" - .'* common: common deployment.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'overlay' => '', - 'common' => '', - ], - 'example' => 'overlay', - ], - 'RegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Status' => [ - 'description' => 'The deployment status of the SDG.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* sdg_deploying'."\n" - .'* success'."\n" - .'* failed'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'sdg_deploying' => '', - 'success' => '', - 'failed' => '', - ], - 'example' => 'success', - ], - 'Phase' => [ - 'description' => 'The deployment phase of the SDG.'."\n", - 'type' => 'string', - 'example' => 'attach', - ], - 'UpdateTime' => [ - 'description' => 'The time when the status was last updated.'."\n", - 'type' => 'string', - 'example' => '2023-02-17T02:44:31Z', - ], - 'BlockRwSplitSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CacheSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'DiskType' => [ - 'type' => 'string', - ], - 'DiskAccessProtocol' => [ - 'type' => 'string', - ], + 'KeyName' => ['description' => 'Public key name', 'type' => 'string', 'example' => 'mykey', 'title' => ''], + 'KeyGroup' => ['description' => 'Public key grouping', 'type' => 'string', 'example' => 'test-group', 'title' => ''], + 'KeyType' => ['description' => 'Public key type', 'type' => 'string', 'example' => 'adb', 'title' => ''], + 'Content' => ['description' => 'Public key content', 'type' => 'string', 'example' => 'fvsvshbvjfksvj', 'title' => ''], + 'Description' => ['description' => 'Public key description', 'type' => 'string', 'example' => 'Test', 'title' => ''], + 'CreationTime' => ['description' => 'The creation time of the voiceprint.', 'type' => 'string', 'example' => '2025-10-09T15:13:21+08:00', 'title' => ''], ], - 'description' => '', + 'example' => '', ], + 'example' => '', ], - 'PageNumber' => [ - 'description' => 'The page number. Pages start from page 1. Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of queried deployment records.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], + 'PageNumber' => ['description' => 'Current page number when paging', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68B85217-03B8-5141-9216-EA4D7C496B9A\\",\\n \\"DeploymentStatus\\": [\\n {\\n \\"InstanceId\\": \\"aic-xxxx\\",\\n \\"MountType\\": \\"overlay\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Status\\": \\"success\\",\\n \\"Phase\\": \\"attach\\",\\n \\"UpdateTime\\": \\"2023-02-17T02:44:31Z\\",\\n \\"BlockRwSplitSize\\": 20,\\n \\"CacheSize\\": 20,\\n \\"DiskType\\": \\"standard\\",\\n \\"DiskAccessProtocol\\": \\"iscsi\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 100\\n}","type":"json"}]', - 'title' => 'DescribeSDGDeploymentStatus', - ], - 'DeleteSDG' => [ - 'summary' => 'Deletes a shared data group (SDG).', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxsxxxxx\\",\\n \\"PublicKeys\\": [\\n {\\n \\"KeyName\\": \\"mykey\\",\\n \\"KeyGroup\\": \\"test-group\\",\\n \\"KeyType\\": \\"adb\\",\\n \\"Content\\": \\"fvsvshbvjfksvj\\",\\n \\"Description\\": \\"Test\\",\\n \\"CreationTime\\": \\"2025-10-09T15:13:21+08:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10\\n}","type":"json"}]', + 'title' => 'ListAICPublicKeys', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAICPublicKeys'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ListAICPublicKeys', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'ListAddons' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - ], - 'parameters' => [ - [ - 'name' => 'SDGId', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the SDGs that you want to delete.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the SDG that you want to delete. You can delete a maximum of 10 SDGs at a time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sdg-xxx', - ], - 'required' => true, - ], - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '86A6D421-A0C7-4C01-8648-47377CA6A2CE', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* true: All tasks are successful.'."\n" - .'* false: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'FailedItems' => [ - 'description' => 'Details about the failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about a failed task.'."\n", - 'type' => 'object', - 'properties' => [ - 'Item' => [ - 'description' => 'Description'."\n", - 'type' => 'object', - 'properties' => [ - 'SdgId' => [ - 'description' => 'The ID of the shared data group (SDG).'."\n", - 'type' => 'string', - 'example' => 'sdg-dfet5vvvgy'."\n", - ], - ], - ], - 'ErrMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'Addons' => [ + 'description' => 'A list of component information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The component information.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the component.', 'type' => 'string', 'example' => 'edge-csi-lite', 'title' => ''], + 'Version' => ['description' => 'The version of the component.', 'type' => 'string', 'example' => 'v2', 'title' => ''], + 'CleanupCloudResources' => ['description' => 'Indicates whether to automatically clean up associated cloud resources.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ConfigSchema' => [ + 'description' => 'The schemas for the custom parameters of the component.', + 'type' => 'array', + 'items' => [ + 'description' => 'The schema for the custom parameters of the component.', + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The application version.', 'type' => 'string', 'example' => '859e9d595b2974ed79c444658d1dea89', 'title' => ''], + 'ConfigVersion' => ['description' => 'The configuration version.', 'type' => 'string', 'example' => '4155709cd12a09bdb8cbaca71bf03233', 'title' => ''], + 'Name' => ['description' => 'The name of the component.', 'type' => 'string', 'example' => 'edge-csi-lite', 'title' => ''], + 'Params' => ['description' => 'The custom parameters of the component.', 'type' => 'object', 'example' => '{"key1":"val1"}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'ListAddons', + 'summary' => 'Retrieves details about cluster components.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddons'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ListAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"86A6D421-A0C7-4C01-8648-47377CA6A2CE\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"SuccessCount\\": 1,\\n \\"FailedItems\\": [\\n {\\n \\"Item\\": {\\n \\"SdgId\\": \\"sdg-dfet5vvvgy\\"\\n },\\n \\"ErrMessage\\": \\"sdg not found\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 86A6D421-A0C7-4C01-8648-47377CA6A2CE\\n","errorExample":""}]', - 'title' => 'DeleteSDG', - 'description' => 'If all the SDGs corresponding to the original disk are deleted, the original disk is automatically cleared.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Version\\": \\"v2\\",\\n \\"CleanupCloudResources\\": true,\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"859e9d595b2974ed79c444658d1dea89\\",\\n \\"ConfigVersion\\": \\"4155709cd12a09bdb8cbaca71bf03233\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": {\\n \\"key1\\": \\"val1\\"\\n }\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'UnloadRegionSDG' => [ - 'summary' => 'Deletes preloaded data.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListApplications' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'SDGId', + 'name' => 'ClusterNames', + 'in' => 'query', + 'schema' => ['description' => 'The name of the application cluster. Separate multiple names with commas (,). If you want to query applications of all clusters in your account, specify All for this parameter. Default value: All.', 'type' => 'string', 'required' => false, 'example' => 'poc,pre', 'title' => ''], + ], + [ + 'name' => 'AppVersions', + 'in' => 'query', + 'schema' => ['description' => 'The version number of the application. Separate multiple version numbers with commas (,). If you want to query data of all versions of applications, specify All for this parameter. By default, only data of applications in the stable versions are queried.', 'type' => 'string', 'required' => false, 'example' => 'v1,v2', 'title' => ''], + ], + [ + 'name' => 'Level', 'in' => 'query', 'schema' => [ - 'description' => 'Deletes the shared data group (SDG) ID of the preloaded data.'."\n", + 'description' => 'The region level by which edge resources of the application are collected. The value is of the enumeration type. Valid values:'."\n" + ."\n" + .'- National: Chinese mainland'."\n" + ."\n" + .'- Big: area'."\n" + ."\n" + .'- Middle: province'."\n" + ."\n" + .'- Small: city'."\n" + ."\n" + .'- RegionId: edge node'."\n" + ."\n" + .'Default value: National.', + 'enumValueTitles' => ['Big' => '', 'Small' => '', 'National' => '', 'RegionId' => '', 'Middle' => ''], 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', + 'required' => false, + 'enum' => ['National', 'Big', 'Middle', 'Small', 'RegionId'], + 'example' => 'National', + 'title' => '', ], ], [ - 'name' => 'DestinationRegionIds', + 'name' => 'OutAppInfoParams', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The destination nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the destination node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-foshan-4', - ], - 'required' => true, - ], + 'schema' => ['description' => 'Specifies whether to return other information about the application, such as statistics on resource instances and pods. The value must be a JSON string. By default, all information is returned.', 'type' => 'string', 'required' => false, 'example' => '{\\"appInfo\\":true,\\"detailStat\\": true, \\"appVersionStat\\": true, \\"districtStat\\":true ,\\"instanceStat\\": true, \\"podCountStat\\": true}', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page 1. This parameter is optional if you want to return the push status of all data files.', '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. This parameter is optional if you want to return all information about the applications.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'Namespaces', + 'name' => 'MinDate', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'An array that consists of queried namespaces.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '\'default\'', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-02-15', 'title' => ''], + ], + [ + 'name' => 'MaxDate', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.', 'type' => 'string', 'required' => false, 'example' => '2022-02-20', 'title' => ''], ], ], 'responses' => [ @@ -42488,671 +30732,731 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", + 'Applications' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about the failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the failed task.'."\n", + 'Application' => [ + 'description' => 'Details about applications.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AppList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'ErrorMessage' => [ - 'description' => 'The error message that is returned.'."\n", - 'type' => 'string', - 'example' => 'region not found', - ], - 'DestinationRegionId' => [ - 'description' => 'The ID of the destination node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-xxx', + 'App' => [ + 'description' => 'Details about the application.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', 'title' => ''], + 'AppInfo' => ['description' => 'The information about the application, such as the resource specification, parameter configuration, and resources.', 'type' => 'string', 'example' => '{'."\n" + .' "AppStatus":{'."\n" + .' "Phase":"RUNNING",'."\n" + .' "StatusDescrip":"{\\"status\\":\\"UPDATE_SUCCESS\\",\\"step\\":\\"DONE\\",\\"descrip\\":\\"update to version:1022 success\\",\\"start_time\\":\\"2022-03-01 16:18:22\\"}",'."\n" + .' "UpdateTime":"2022-03-01 16:18:22",'."\n" + .' "OrderStatus":null'."\n" + .' },'."\n" + .' "ResourceAttribute":{'."\n" + .' "NetSecurityInfo":null,'."\n" + .' "InitConfig":null,'."\n" + .' "InventoryType":"Ens",'."\n" + .' "InstanceSpec":"ens.gi6s-c12g1.large",'."\n" + .' "SystemDiskSize":100,'."\n" + .' "DataDiskSize":0,'."\n" + .' "BandwithOut":5000,'."\n" + .' "SchedulingStrategy":"Disperse",'."\n" + .' "ImageId":"m-5or73kzkuxytv7hh6wxr6yc5q",'."\n" + .' "ResourceType":"Linux",'."\n" + .' "AreaLevel":"National",'."\n" + .' "IpType":"PublicIP"'."\n" + .' },'."\n" + .' "WorkloadAttribute":['."\n" + .' {'."\n" + .' "Name":"andorid",'."\n" + .' "Count":15,'."\n" + .' "ServiceConfig":{'."\n" + .' "PortsBindConfig":{'."\n" + .' "NetServiceContainer":"uravi-service",'."\n" + .' "Ports":['."\n" + .' {'."\n" + .' "Protocol":"TCP",'."\n" + .' "BindType":"Mapping",'."\n" + .' "StartNodePorts":"31000-31009",'."\n" + .' "ContainerPorts":"4440-4449"'."\n" + .' },'."\n" + .' {'."\n" + .' "Protocol":"TCP",'."\n" + .' "BindType":"PassThrough",'."\n" + .' "StartNodePorts":"59000-59000",'."\n" + .' "ContainerPorts":"59000-59000"'."\n" + .' },'."\n" + .' {'."\n" + .' "Protocol":"UDP",'."\n" + .' "BindType":"PassThrough",'."\n" + .' "StartNodePorts":"40001-40010",'."\n" + .' "ContainerPorts":"40001-40010"'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "ServiceContainerName":"android"'."\n" + .' }'."\n" + .' },'."\n" + .' {'."\n" + .' "Name":"coturn",'."\n" + .' "Count":1,'."\n" + .' "ServiceConfig":{'."\n" + .' "PortsBindConfig":{'."\n" + .' "NetServiceContainer":"coturn",'."\n" + .' "Ports":['."\n" + .' {'."\n" + .' "Protocol":"TCP",'."\n" + .' "BindType":"PassThrough",'."\n" + .' "StartNodePorts":"3478-3478",'."\n" + .' "ContainerPorts":"3478-3478"'."\n" + .' },'."\n" + .' {'."\n" + .' "Protocol":"UDP",'."\n" + .' "BindType":"PassThrough",'."\n" + .' "StartNodePorts":"3478-3478",'."\n" + .' "ContainerPorts":"3478-3478"'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "ServiceContainerName":"coturn"'."\n" + .' }'."\n" + .' },'."\n" + .' {'."\n" + .' "Name":"aic-manager",'."\n" + .' "Count":1,'."\n" + .' "ServiceConfig":null'."\n" + .' }'."\n" + .' ]'."\n" + .'}', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'ClusterName' => ['description' => 'The name of the cluster.', 'type' => 'string', 'example' => 'ay-ads-hz-h', 'title' => ''], ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'title' => '', + 'example' => '', ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* true: All tasks are successful.'."\n" - .'* false: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '50373E71-7710-4620-8AAB-133CCE49451C', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '49', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ListApplications', + 'summary' => 'Queries the created applications.', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:44.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrorMessage\\": \\"region not found\\",\\n \\"DestinationRegionId\\": \\"cn-hangzhou-xxx\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'UnloadRegionSDG', - ], - 'RemoveSDG' => [ - 'summary' => 'Removes a deployed shared data group (SDG) and restore local storage.', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListApplications'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ListApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Applications\\": {\\n \\"Application\\": [\\n {\\n \\"AppList\\": {\\n \\"App\\": [\\n {\\n \\"AppId\\": \\"e76f8985-7965-41fc-925b-9648bb6bf650\\",\\n \\"AppInfo\\": \\"{\\\\n \\\\\\"AppStatus\\\\\\":{\\\\n \\\\\\"Phase\\\\\\":\\\\\\"RUNNING\\\\\\",\\\\n \\\\\\"StatusDescrip\\\\\\":\\\\\\"{\\\\\\\\\\\\\\"status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"UPDATE_SUCCESS\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"step\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DONE\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"descrip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"update to version:1022 success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"start_time\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2022-03-01 16:18:22\\\\\\\\\\\\\\"}\\\\\\",\\\\n \\\\\\"UpdateTime\\\\\\":\\\\\\"2022-03-01 16:18:22\\\\\\",\\\\n \\\\\\"OrderStatus\\\\\\":null\\\\n },\\\\n \\\\\\"ResourceAttribute\\\\\\":{\\\\n \\\\\\"NetSecurityInfo\\\\\\":null,\\\\n \\\\\\"InitConfig\\\\\\":null,\\\\n \\\\\\"InventoryType\\\\\\":\\\\\\"Ens\\\\\\",\\\\n \\\\\\"InstanceSpec\\\\\\":\\\\\\"ens.gi6s-c12g1.large\\\\\\",\\\\n \\\\\\"SystemDiskSize\\\\\\":100,\\\\n \\\\\\"DataDiskSize\\\\\\":0,\\\\n \\\\\\"BandwithOut\\\\\\":5000,\\\\n \\\\\\"SchedulingStrategy\\\\\\":\\\\\\"Disperse\\\\\\",\\\\n \\\\\\"ImageId\\\\\\":\\\\\\"m-5or73kzkuxytv7hh6wxr6yc5q\\\\\\",\\\\n \\\\\\"ResourceType\\\\\\":\\\\\\"Linux\\\\\\",\\\\n \\\\\\"AreaLevel\\\\\\":\\\\\\"National\\\\\\",\\\\n \\\\\\"IpType\\\\\\":\\\\\\"PublicIP\\\\\\"\\\\n },\\\\n \\\\\\"WorkloadAttribute\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n \\\\\\"Count\\\\\\":15,\\\\n \\\\\\"ServiceConfig\\\\\\":{\\\\n \\\\\\"PortsBindConfig\\\\\\":{\\\\n \\\\\\"NetServiceContainer\\\\\\":\\\\\\"uravi-service\\\\\\",\\\\n \\\\\\"Ports\\\\\\":[\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"Mapping\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"31000-31009\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"4440-4449\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"59000-59000\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"59000-59000\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"UDP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"40001-40010\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"40001-40010\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"ServiceContainerName\\\\\\":\\\\\\"android\\\\\\"\\\\n }\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"coturn\\\\\\",\\\\n \\\\\\"Count\\\\\\":1,\\\\n \\\\\\"ServiceConfig\\\\\\":{\\\\n \\\\\\"PortsBindConfig\\\\\\":{\\\\n \\\\\\"NetServiceContainer\\\\\\":\\\\\\"coturn\\\\\\",\\\\n \\\\\\"Ports\\\\\\":[\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"3478-3478\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"3478-3478\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"UDP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"3478-3478\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"3478-3478\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"ServiceContainerName\\\\\\":\\\\\\"coturn\\\\\\"\\\\n }\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n \\\\\\"Count\\\\\\":1,\\\\n \\\\\\"ServiceConfig\\\\\\":null\\\\n }\\\\n ]\\\\n}\\"\\n }\\n ]\\n },\\n \\"ClusterName\\": \\"ay-ads-hz-h\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"50373E71-7710-4620-8AAB-133CCE49451C\\",\\n \\"TotalCount\\": 49\\n}","type":"json"}]', + ], + 'ListBuckets' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '177219', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '119373', + 'abilityTreeNodes' => ['FEATUREensXAKQAP'], ], 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'Prefix', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'IDs of Android in Container (AIC) instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["aic-1", "aic-2", "aic-3"]', - ], - 'required' => true, - ], + 'schema' => ['description' => 'The prefix that returned bucket names must contain. If this parameter is not specified, prefix information will not be used as a filter.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'image'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Pages start from page 1.', 'type' => 'string', 'pattern' => '^\\d+$', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of returned buckets. You can leave this parameter empty. The default value is 10. The value cannot be greater than 100.', 'type' => 'string', 'pattern' => '^\\d+$', 'required' => false, 'example' => '5', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '435769C7-AA6F-4DC5-B3DB-A3DC0DE7E853'], + 'BucketInfos' => [ + 'title' => '', + 'description' => 'The list of bucket information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'BucketAcl' => ['description' => 'The access control list (ACL) of the bucket.'."\n" + ."\n" + .'- **public-read-write**'."\n" + ."\n" + .'- **public-read**'."\n" + ."\n" + .'- **private** (default)', 'type' => 'string', 'example' => 'private', 'title' => ''], + 'BucketName' => ['description' => 'The name of the bucket.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Comment' => ['description' => 'The remarks.', 'type' => 'string', 'example' => 'numb', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the bucket was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-10-12T05:45:00Z', 'title' => ''], + 'LogicalBucketType' => ['description' => 'The type of the single-node storage. Set the value to sink.', 'type' => 'string', 'example' => 'sink', 'title' => ''], + 'ModifyTime' => ['description' => 'The time when the bucket was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-10-12T06:45:00Z', 'title' => ''], + 'EnsRegionId' => ['description' => 'The ID of the region where the node is located.', 'type' => 'string', 'example' => 'cn-dalian-unicom', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'example' => '', ], + 'TotalCount' => ['description' => 'The total number of buckets that match the conditions.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'MissingParameter', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ListBuckets', + 'summary' => 'Queries all buckets of a user.', + 'changeSet' => [ + ['createdAt' => '2025-06-11T09:19:07.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\"\\n}","type":"json"}]', - 'title' => 'RemoveSDG', - ], - 'RemoveInstanceSDG' => [ - 'summary' => 'Removes a shared data group (SDG) that is attached to the compute instance.', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBuckets'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListBuckets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"435769C7-AA6F-4DC5-B3DB-A3DC0DE7E853\\",\\n \\"BucketInfos\\": [\\n {\\n \\"BucketAcl\\": \\"private\\",\\n \\"BucketName\\": \\"test\\",\\n \\"Comment\\": \\"numb\\",\\n \\"CreateTime\\": \\"2022-10-12T05:45:00Z\\",\\n \\"LogicalBucketType\\": \\"sink\\",\\n \\"ModifyTime\\": \\"2022-10-12T06:45:00Z\\",\\n \\"EnsRegionId\\": \\"cn-dalian-unicom\\"\\n }\\n ],\\n \\"TotalCount\\": 1\\n}","type":"json"}]', + ], + 'ListClusterAddonInstances' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'InstanceIds', + 'name' => 'ClusterId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances. The value is a JSON array that consists of up to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the Android in Container (AIC) instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aic-instance****', - ], - 'required' => true, - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Data' => [ - 'description' => 'The returned data object.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + 'Addons' => [ + 'description' => 'The list of add-on information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the add-on.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the add-on.', 'type' => 'string', 'example' => 'test1', 'title' => ''], + 'Version' => ['description' => 'The version number.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'CleanupCloudResources' => ['description' => 'Specifies whether to automatically clean up associated cloud resources.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Status' => ['description' => 'The current status of the component. Valid values:'."\n" ."\n" - .'* **true**: All tasks are successful.'."\n" - .'* **false**: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'FailedItems' => [ - 'description' => 'Details about the failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ErrMessage' => [ - 'description' => 'The error message that is returned.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - ], - 'description' => '', + .'- **enabling**: The component is being enabled.'."\n" + ."\n" + .'- **enabled**: The component is enabled.'."\n" + ."\n" + .'- **disabling**: The component is being disabled.'."\n" + ."\n" + .'- **disabled**: The component is disabled.'."\n" + ."\n" + .'- **upgrading**: The component is being upgraded.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + 'ConfigSchema' => [ + 'description' => 'The list of schemas for the custom parameters of the component.', + 'type' => 'array', + 'items' => [ + 'description' => 'The schema for the custom parameters of the component.', + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The application version.', 'type' => 'string', 'example' => '7380581386597434629002', 'title' => ''], + 'ConfigVersion' => ['description' => 'The configuration version.', 'type' => 'string', 'example' => '4572581386436834662215', 'title' => ''], + 'Name' => ['description' => 'The name of the component.', 'type' => 'string', 'example' => 'edge-csi-lite', 'title' => ''], + 'Params' => ['description' => 'The custom parameters of the component.', 'type' => 'string', 'example' => '{"key1": "val1"}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'List of installed add-on instances in the cluster', + 'summary' => 'Retrieves a list of add-on instances installed in a destination cluster and returns information such as their version and status.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterAddonInstances'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ListClusterAddonInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"SuccessCount\\": 1,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', - 'title' => 'RemoveInstanceSDG', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"test1\\",\\n \\"Version\\": \\"v1\\",\\n \\"CleanupCloudResources\\": true,\\n \\"Status\\": \\"enabled\\",\\n \\"ConfigSchema\\": [\\n {\\n \\"AppVersion\\": \\"7380581386597434629002\\",\\n \\"ConfigVersion\\": \\"4572581386436834662215\\",\\n \\"Name\\": \\"edge-csi-lite\\",\\n \\"Params\\": \\"{\\\\\\"key1\\\\\\": \\\\\\"val1\\\\\\"}\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'SaveSDG' => [ - 'summary' => 'Saves the disk of a specific device as a shared data group (SDG).', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListObjects' => [ + 'summary' => 'Queries the information about all objects in a bucket.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '119378', + 'abilityTreeNodes' => ['FEATUREensTK769B'], ], 'parameters' => [ [ - 'name' => 'SDGId', + 'name' => 'BucketName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the bucket.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'test'], + ], + [ + 'name' => 'EncodingType', + 'in' => 'query', + 'schema' => ['description' => 'The encoding type of the object names in the response. Only URL encoding is supported.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'url'], + ], + [ + 'name' => 'Marker', + 'in' => 'query', + 'schema' => ['description' => 'The position from which the list operation starts. If this parameter is specified, objects whose names are alphabetically greater than value of Marker are returned. The Marker parameter is used to list the returned objects by page, and its value must be smaller than 1,024 bytes in length.'."\n" + ."\n" + .'Even if the value specified for Marker does not exist in the list during a conditional query, the list starts from the object whose name is alphabetically greater than the value of Marker.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'a'], + ], + [ + 'name' => 'MaxKeys', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of objects to return. Valid values: 0 to 1000. Default value: 100.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'Prefix', + 'in' => 'query', + 'schema' => ['description' => 'The prefix that must be included in the names of objects you want to list. If you specify a prefix to query objects, the returned object names contain the prefix.'."\n" + ."\n" + .'The value of the parameter must be less than 1,000 bytes in length.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'b'], + ], + [ + 'name' => 'ContinuationToken', + 'in' => 'query', + 'schema' => ['description' => 'The token used in this list operation. If the number of objects exceeds the value of MaxKeys, the NextContinuationToken is included in the response as the token for the next list operation.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'test1.txt'], + ], + [ + 'name' => 'StartAfter', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SDG to be saved.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sdg-xxxx', - ], + 'schema' => ['description' => 'The position from which the list operation starts. If this parameter is specified, objects whose names are alphabetically greater than the value of StartAfter are returned. The StartAfter parameter is used to list the returned objects by page, and its value must be less than 1,000 bytes in length. Even if the value specified for StartAfter does not exist in the list during a conditional query, the list starts from the object whose name is alphabetically greater than the value of StartAfter.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'b'], ], ], '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' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', + 'CommonPrefixes' => [ + 'title' => '', + 'description' => 'If the delimiter parameter is specified in the request, the response contains CommonPrefixes. Objects whose names contain the same string from the prefix to the next occurrence of the delimiter are grouped as a single result element in CommonPrefixes.', + 'type' => 'array', + 'items' => ['description' => 'If the delimiter parameter is specified in the request, the response contains CommonPrefixes. Objects whose names contain the same string from the prefix to the next occurrence of the delimiter are grouped as a single result element in CommonPrefixes.', 'type' => 'string', 'example' => '不涉及', 'title' => ''], + 'example' => 'Not applicable', + ], + 'NextContinuationToken' => ['description' => 'The token used in the next list operation.', 'type' => 'string', 'title' => '', 'example' => 'CgJiYw--'], + 'ContinuationToken' => ['description' => 'The token used in this list operation.', 'type' => 'string', 'title' => '', 'example' => 'test1.txt'], + 'Delimiter' => ['description' => 'The character used to group objects by name.', 'type' => 'string', 'title' => '', 'example' => '/'], + 'EncodingType' => ['description' => 'The encoding type of the object names in the response.', 'type' => 'string', 'example' => 'Not applicable', 'title' => ''], + 'Prefix' => ['description' => 'The prefix contained in the names of returned objects.', 'type' => 'string', 'title' => '', 'example' => 'b'], + 'Marker' => ['description' => 'The position from which the list operation starts.', 'type' => 'string', 'title' => '', 'example' => 'ceshi.txt1617853707991'], + 'BucketName' => ['description' => 'The name of the bucket.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'Contents' => [ + 'title' => '', + 'description' => 'The list of object metadata.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the object.', 'type' => 'string', 'title' => '', 'example' => 'ceshi.txt1617853706546'], + 'LastModified' => ['description' => 'The time when the object was last modified.', 'type' => 'string', 'title' => '', 'example' => '2021-04-08T03:48:47.488Z'], + 'ETag' => ['description' => 'The entity tag (ETag). When an object is created, an ETag is created to identify the content of the object.'."\n" + ."\n" + .'- For an object that is created by calling the PutObject operation, the ETag value of the object is the MD5 hash of the object content.'."\n" + ."\n" + .'- For an object that is not created by calling the PutObject operation, the ETag value of the object is the UUID of the object content.'."\n" + ."\n" + .'- The ETag of an object can be used to check whether the object content is modified. However, we recommend that you use the MD5 hash of an object rather than the ETag value of the object to verify data integrity.', 'type' => 'string', 'title' => '', 'example' => '5B3C1A2E053D763E1B002CC607C5****'], + 'Size' => ['description' => 'The size of the returned object. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '15'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'example' => '', ], + 'IsTruncated' => ['description' => 'Indicates whether the listed objects are truncated. Valid values:'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'- **true**', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'KeyCount' => ['description' => 'The number of keys returned for this request.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'NextMarker' => ['description' => 'The position from which the next list operation starts.', 'type' => 'string', 'title' => '', 'example' => 'ceshi.txt1617853707991'], + 'MaxKeys' => ['description' => 'The maximum number of objects returned.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '10'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4833C4AC-9396-458C-8F25-1D701334E560', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'Specified parameter %s is not valid', 'description' => ''], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'InvalidPrefix', 'errorMessage' => 'Specified parameter Prefix is not valid.', 'description' => ''], + ['errorCode' => 'InvalidStartAfter', 'errorMessage' => 'Specified parameter StartAfter is not valid.', 'description' => ''], + ['errorCode' => 'InvalidMarker', 'errorMessage' => 'Specified parameter Marker is not valid.', 'description' => ''], + ['errorCode' => 'InvalidDelimiter', 'errorMessage' => 'Specified parameter Delimiter is not valid.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Specified parameter ContinuationToken is incorrect.', 'description' => 'The ContinuationToken parameters set are incorrect.'], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\n","errorExample":""}]', - 'title' => 'SaveSDG', - ], - 'RemoveSDGs' => [ - 'summary' => 'Removes all versions of SDG and restores the mount to the local disk.', - 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CommonPrefixes\\": [\\n \\"不涉及\\"\\n ],\\n \\"NextContinuationToken\\": \\"CgJiYw--\\",\\n \\"ContinuationToken\\": \\"test1.txt\\",\\n \\"Delimiter\\": \\"/\\",\\n \\"EncodingType\\": \\"Not applicable\\",\\n \\"Prefix\\": \\"b\\",\\n \\"Marker\\": \\"ceshi.txt1617853707991\\",\\n \\"BucketName\\": \\"test\\",\\n \\"Contents\\": [\\n {\\n \\"Key\\": \\"ceshi.txt1617853706546\\",\\n \\"LastModified\\": \\"2021-04-08T03:48:47.488Z\\",\\n \\"ETag\\": \\"5B3C1A2E053D763E1B002CC607C5****\\",\\n \\"Size\\": 15\\n }\\n ],\\n \\"IsTruncated\\": true,\\n \\"KeyCount\\": 10,\\n \\"NextMarker\\": \\"ceshi.txt1617853707991\\",\\n \\"MaxKeys\\": 10,\\n \\"RequestId\\": \\"4833C4AC-9396-458C-8F25-1D701334E560\\"\\n}","type":"json"}]', + 'title' => 'ListObjects', + 'changeSet' => [ + ['createdAt' => '2025-06-11T09:19:07.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListObjects'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance ID. Example: i-22jja5c2l. Separate multiple instance IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aic-instance****', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListObjects', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => true, ], ], + ], + 'translator' => 'manual', + ], + 'ListProductAbilities' => [ + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'SdgIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of SDG.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of SDG.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sdg-xxxx', - ], - 'required' => false, - ], + 'AK' => [], ], ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'abilityTreeCode' => '260010', + 'abilityTreeNodes' => ['FEATUREensJVO8RM'], + ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => '903819D9-D18B-5C59-8DFD-20D56FD2DAE4', - ], - 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'The execution result of the synchronization request.'."\n", - 'type' => 'object', - 'properties' => [ - 'FailedCount' => [ - 'description' => 'The number of failed tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FailedItems' => [ - 'description' => 'Details about failed tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the failed task.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxxx-0', - ], - 'ErrMessage' => [ - 'description' => 'The error message returned if the call failed.'."\n", - 'type' => 'string', - 'example' => 'sdg not found', - ], - ], - ], - ], - 'SuccessCount' => [ - 'description' => 'The number of successful tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Success' => [ - 'description' => 'Indicates whether all tasks are successful. Valid values:'."\n" - ."\n" - .'* **true**: All tasks are successful.'."\n" - .'* **false**: Failed tasks exist.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'xxxxx-75ED-422E-A022-7121FA18C968', 'title' => ''], + 'ProductAbilities' => [ + 'description' => 'Products supported by the edge node.', + 'type' => 'array', + 'items' => ['description' => 'The product supported by the edge node.', 'type' => 'string', 'example' => 'eip', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ListProductAbilities', + 'summary' => 'Lists all service capabilities.', + 'changeSet' => [ + ['createdAt' => '2025-02-12T01:55:06.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"903819D9-D18B-5C59-8DFD-20D56FD2DAE4\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"InstanceId\\": \\"aic-xxxxx-0\\",\\n \\"ErrMessage\\": \\"sdg not found\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', - 'title' => 'RemoveSDGs', - ], - 'ModifyAICInstanceType' => [ - 'summary' => 'aic实例变配接口', - 'path' => '', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListProductAbilities'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListProductAbilities', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxxx-75ED-422E-A022-7121FA18C968\\",\\n \\"ProductAbilities\\": [\\n \\"eip\\"\\n ]\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'summary' => 'Queries tags that are added to Edge Node Service (ENS) instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '264302', - 'abilityTreeNodes' => [ - 'FEATUREensBWGEJ9', - ], + 'abilityTreeNodes' => ['FEATUREensXWIJMI'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => '变配实例id', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'aic-xxxx-0', - ], - ], - [ - 'name' => 'InstanceType', - 'in' => 'query', - 'schema' => [ - 'title' => '更新的配置', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'aic.cf52r.c1.np', - ], - ], - [ - 'name' => 'ImageId', + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The resource type. Set the value to instance.', 'type' => 'string', 'required' => true, - 'example' => 'yourImage ID', + 'enum' => ['instance', 'disk', 'eip', 'network', 'natgateway', 'vswitch', 'armserver'], + 'title' => '', + 'example' => 'instance', ], ], [ - 'name' => 'EnvironmentVar', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The IDs of resources. Valid values of N: 1 to 50.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the resource.', 'type' => 'string', 'required' => false, 'example' => 'i-t252vwg7cib00ky8g0q', 'title' => ''], 'required' => false, - 'example' => '[object Object]', + 'maxItems' => 50, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Resolution', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '720*1280', - 'enum' => [ - '1920*1080', - '1080*1920', - '1280*720', - '720*1280', - '2400*1080', - '1080*2400', - '1920*864', - '864*1920', - ], - ], + 'schema' => ['description' => 'The token of the first page to query.', 'type' => 'string', 'required' => false, 'example' => '153ba0bbb2be03f84eb48b699f0a4123', 'title' => ''], ], [ - 'name' => 'Frequency', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '30', - 'enum' => [ - '30', - '60', - '120', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N of the instance. Valid values of N: **1** to **20**.'."\n" + ."\n" + .'- The key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" + ."\n" + .'- The key must be up to 64 characters in length.'."\n" + ."\n" + .'- The tag key cannot be an empty string.', 'type' => 'string', 'required' => false, 'example' => 'team', 'title' => ''], + 'Value' => ['description' => 'The value of a tag that is attached to the topics you want to query. This parameter is not required. If you configure this parameter, you must also configure the **Key** parameter.\\*\\*\\*\\* If you include the Key and Value parameters in a request, Queries only the topics that use the specified tags. If you do not include these parameters in a request, Queries all topics that you can access.'."\n" + ."\n" + .'- Valid values of N: 1 to 20.'."\n" + ."\n" + .'- The value of this parameter can 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.', 'type' => 'string', 'required' => false, 'example' => 'tagValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], ], @@ -43163,74 +31467,116 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'F590DD6C-B78B-571B-8FE9-B6ECEED9BE3C', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C78D9B61-69D8-5655-A312-A15DA5EA5D5E'], + 'TagResources' => [ + 'description' => 'The tags that are added to specified one or more resources.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of tags.', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => ['description' => 'The ID of the associated resources.', 'type' => 'string', 'example' => 'i-5zy93g7z1hnkdmav84joxyzgn', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the resource.', 'type' => 'string', 'example' => 'instance', 'title' => ''], + 'TagKey' => ['description' => 'The tag key of the instance.', 'type' => 'string', 'example' => 'test_tag_key-2', 'title' => ''], + 'TagValue' => ['description' => 'The value of the tag.', 'type' => 'string', 'example' => 'CLUSTER', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'NextToken' => ['description' => 'The token of the first page to query.', 'type' => 'string', 'example' => 'abcfeg368547ccdef', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission ', 'errorMessage' => 'The operator is not permission for this operate', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListTagResources', + 'changeSet' => [ + ['createdAt' => '2025-05-08T08:42:18.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T12:07:11.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F590DD6C-B78B-571B-8FE9-B6ECEED9BE3C\\"\\n}","type":"json"}]', - ], - 'ResetAICInstance' => [ - 'summary' => 'Resets an Android in Container (AIC) instance.', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C78D9B61-69D8-5655-A312-A15DA5EA5D5E\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"i-5zy93g7z1hnkdmav84joxyzgn\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"TagKey\\": \\"test_tag_key-2\\",\\n \\"TagValue\\": \\"CLUSTER\\"\\n }\\n ],\\n \\"NextToken\\": \\"abcfeg368547ccdef\\"\\n}","type":"json"}]', + ], + 'ManageAICLogin' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '139881', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'KeyName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cas-instance****', - ], + 'schema' => ['description' => 'Public Key Name', 'type' => 'string', 'required' => false, 'example' => 'mykey', 'maxLength' => 128, 'title' => ''], + ], + [ + 'name' => 'KeyGroup', + 'in' => 'query', + 'schema' => ['description' => 'Public Key Grouping', 'type' => 'string', 'required' => false, 'example' => 'g-test', 'maxLength' => 128, 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'aic-xxx-1', 'title' => ''], + ], + [ + 'name' => 'ActionName', + 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the AIC instance.'."\n", + 'description' => 'Manage actions'."\n" + ."\n" + .'Valid value:'."\n" + ."\n" + .'- open'."\n" + ."\n" + .'- close', 'type' => 'string', - 'required' => false, - 'example' => 'aic-instance****', + 'required' => true, + 'example' => 'open', + 'enum' => ['open', 'close'], + 'title' => '', ], ], ], @@ -43238,923 +31584,786 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'ResetAICInstance', - ], - 'UpgradeAICInstanceImage' => [ - 'summary' => 'Updates the image of an Android in Container (AIC) instance.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ManageAICLogin', + 'summary' => 'Log on to the AIC instance. You can associate or disassociate an AIC instance based on the uploaded AIC public key.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ManageAICLogin'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ManageAICLogin', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', + ], + 'ModifyAICInstanceType' => [ + 'path' => '', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '139883', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '264302', + 'abilityTreeNodes' => ['FEATUREensBWGEJ9'], ], 'parameters' => [ [ - 'name' => 'ServerIds', + 'name' => 'InstanceId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cas-instance****', - ], - 'required' => true, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'ID of the instance to upgrade or downgrade.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'aic-xxxx-0'], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => ['description' => 'Target instance type for the AIC container.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'aic.cf52r.c1.np'], ], [ 'name' => 'ImageId', 'in' => 'query', + 'schema' => ['description' => 'Image ID.', 'type' => 'string', 'required' => true, 'example' => 'yourImage ID', 'title' => ''], + ], + [ + 'name' => 'EnvironmentVar', + 'in' => 'query', + 'schema' => ['description' => 'Set one or more environment variables during instance initialization.', 'type' => 'string', 'required' => false, 'example' => '[object Object]', 'title' => ''], + ], + [ + 'name' => 'Resolution', + 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the AIC image.'."\n", + 'description' => 'Screen resolution. Valid values:'."\n" + ."\n" + .'- 1920×1080'."\n" + ."\n" + .'- 1080×1920'."\n" + ."\n" + .'- 1280×720'."\n" + ."\n" + .'- 720×1280'."\n" + ."\n" + .'- 2400×1080'."\n" + ."\n" + .'- 1080×2400'."\n" + ."\n" + .'- 1920×864'."\n" + ."\n" + .'- 864×1920', 'type' => 'string', - 'required' => true, - 'example' => 'm-****', + 'enum' => ['1920*1080', '1080*1920', '1280*720', '720*1280', '2400*1080', '1080*2400', '1920*864', '864*1920'], + 'required' => false, + 'example' => '720*1280', + 'title' => '', ], ], [ - 'name' => 'Timeout', + 'name' => 'Frequency', 'in' => 'query', 'schema' => [ - 'description' => 'The timeout period of the update. Unit: seconds.'."\n", + 'description' => 'Refresh rate, in Hz. Valid values:'."\n" + ."\n" + .'- 30'."\n" + ."\n" + .'- 60'."\n" + ."\n" + .'- 120', 'type' => 'integer', - 'format' => 'int32', + 'format' => 'int64', + 'enum' => ['30', '60', '120'], 'required' => false, - 'example' => '1800', + 'example' => '30', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'title' => '', 'example' => 'F590DD6C-B78B-571B-8FE9-B6ECEED9BE3C'], ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'UpgradeAICInstanceImage', - ], - 'RebootAICInstance' => [ - 'summary' => 'Restarts an Android in Container (AIC) instance.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ModifyAICInstanceType', + 'summary' => 'Changes the instance type of an AIC instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyAICInstanceType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F590DD6C-B78B-571B-8FE9-B6ECEED9BE3C\\"\\n}","type":"json"}]', + ], + 'ModifyClusterAddon' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '139882', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cas-instance****', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxx', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'ComponentName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aic-instance****', - ], + 'schema' => ['description' => 'The component name.', 'type' => 'string', 'required' => true, 'example' => 'edge-csi-lite', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'Addon', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The IDs of the AIC instance groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the AIC instance group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aic-instance****', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The component name.', 'type' => 'string', 'required' => false, 'example' => 'edge-csi-lite', 'title' => ''], + 'Version' => ['description' => 'The version number.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + 'ConfigSchema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The application version.', 'type' => 'string', 'required' => false, 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', 'title' => ''], + 'ConfigVersion' => ['description' => 'The configuration version.', 'type' => 'string', 'required' => false, 'example' => 'd0ead1f4e28de0f9e3c86588409a88a4', 'title' => ''], + 'Name' => ['description' => 'The component name.', 'type' => 'string', 'required' => false, 'example' => 'edge-csi-lite', 'title' => ''], + 'Params' => ['description' => 'Custom parameters.', 'type' => 'object', 'required' => false, 'example' => '{"k1":"v1"}', 'title' => ''], + ], + 'description' => 'The schema for the custom parameters of the component.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'description' => 'The schema for the custom parameters of the component.', + 'required' => false, + 'title' => '', + 'example' => '', + ], ], + 'description' => 'The component parameter settings.', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'ModifyClusterAddon', + 'summary' => 'Call the ModifyClusterAddon operation to modify the configuration of an installed cluster component. Modifying the configuration may affect your services. We recommend that you assess the impact, perform this operation during off-peak hours, and back up your data in advance.', + 'description' => '- The throttling limit for a single user is 10 calls per second.'."\n" + ."\n" + .'- Creating a cluster is an asynchronous operation. After the API is called, the cluster takes 10 to 20 minutes to initialize. During initialization, you can call the DescribeClustersV1 operation to check the creation status. After the cluster is created, call the DescribeClusterUserKubeconfig operation to retrieve the cluster certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterAddon'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ModifyClusterAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'RebootAICInstance', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', ], - 'DescribeARMServerInstances' => [ - 'summary' => 'Queries information about ARM servers and Android in Container (AIC) instances.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyClusterNodePool' => [ + 'summary' => 'You can call the ModifyClusterNodePool operation to modify node configurations in a cluster node pool, such as kubelet and node rotation configurations. Modifies configurations in batches and restarts the kubelet, which may affect node and workload operations. Perform this operation during off-peak hours.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '141176', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'abilityTreeNodes' => ['FEATUREensWT1XPU', 'FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ServerIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the ARM servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ARM server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cas-instance****', - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'EnsRegionIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the Edge Node Service (ENS) nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**.'."\n" - ."\n" - .'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: **100**.'."\n" - ."\n" - .'Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'MinDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2006-01-02', - ], - ], - [ - 'name' => 'MaxDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2006-01-03', - ], + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'States', + 'name' => 'NodepoolInfo', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The operation statuses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The operation status of the server. Valid values:'."\n" - ."\n" - .'* **success**'."\n" - .'* **failed**'."\n" - .'* **creating**'."\n" - .'* **releasing**'."\n" - .'* **rebooting**'."\n" - .'* **upgrading**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'success', + 'type' => 'object', + 'properties' => [ + 'NodepoolId' => ['description' => 'The node pool ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'np68mi5y1dd748ky37ojo2kqdrz'], ], - 'required' => false, - 'maxItems' => 20, + 'required' => true, + 'description' => 'The information about the node pool.', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AICSpecs', + 'name' => 'ScalingGroup', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The container specifications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container specification.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aic.cf53r.c2.np', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password for the instance. Specify either this parameter or KeyPairName.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '@AN5Ejx1YyzzK'], + 'KeyPairName' => ['description' => 'The key pair for the instance. Specify either this parameter or Password.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'tf-testAcc'], + 'VswitchIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch where the cluster nodes are located. The ENS region of the vSwitch must be the same as the ENS region of the cluster.', 'type' => 'string', 'minLength' => 1, 'required' => false, 'example' => 'vsw-58eu2p6v64qw8ihhit1wz7wgv', 'title' => ''], + 'required' => false, + 'title' => '', + 'description' => 'The IDs of the vSwitches that the instances use.', + 'example' => '', + ], + 'InstanceChargeType' => ['description' => 'The billing method of the instance.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'PostPaid'], + 'InstanceTypes' => [ + 'type' => 'array', + 'items' => ['description' => 'The instance type.', 'type' => 'string', 'minLength' => 1, 'required' => false, 'example' => 'ens.sn1.small', 'title' => ''], + 'required' => false, + 'title' => '', + 'description' => 'The instance types.', + 'example' => '', + ], + 'SystemDiskCategory' => ['description' => 'The type of the system disk.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cloud_efficiency'], + 'SystemDiskSize' => ['description' => 'The size of the system disk.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '80'], + 'ImageId' => ['description' => 'The ID of the instance image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'm-68bysm5a8gkm7oik7ngacf0in'], + 'DataDisks' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Category' => ['description' => 'The type of the data disk.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'cloud_efficiency'], + 'Size' => ['description' => 'The size of the data disk.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '40'], + ], + 'description' => 'The information about the data disk.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'The information about the data disks.', + 'required' => false, + 'example' => '', + ], ], 'required' => false, - 'maxItems' => 20, + 'title' => '', + 'description' => 'The configuration of the scaling group.', + 'example' => '', ], ], [ - 'name' => 'ServerSpecs', + 'name' => 'KubernetesConfig', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The server specifications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The server specification.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cas.cf53r', + 'type' => 'object', + 'properties' => [ + 'PreUserData' => ['description' => 'The script to run on the instance after it is created but before it joins the cluster. The content must be Base64-encoded.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'ZWNobyBvawo='], + 'UserData' => ['description' => 'The script to run on the instance after it is created and has joined the cluster. The content must be Base64-encoded.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'ZWNobyBvawo='], ], + 'description' => 'The Kubernetes configuration.', 'required' => false, - 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Name', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Server-Name', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], + ], + 'title' => '', + 'description' => 'The schema of the response body.', + 'example' => '', ], ], + ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'ModifyClusterNodePool', + 'description' => '- Each user is limited to 10 calls per second.'."\n" + ."\n" + .'- Modifying a node pool is an asynchronous operation. After you call the API, the operation takes 10 to 20 minutes to complete. During this time, you can call the DescribeClustersV1 operation to check the cluster status.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyClusterNodePool'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'ModifyEnsEipAddressAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ - 'name' => 'Tags', + 'name' => 'AllocationId', 'in' => 'query', - 'allowEmptyValue' => false, - 'style' => 'json', - 'schema' => [ - 'title' => '标签列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '标签键', - 'type' => 'string', - 'example' => 'key-1', - ], - 'Value' => [ - 'title' => '标签值', - 'type' => 'string', - 'example' => 'value-1', - ], - ], - ], - 'required' => false, - 'docRequired' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the EIP.', 'type' => 'string', 'required' => true, 'example' => 'eip-5sw5dxzgi6umq4uexxkt8wpma', 'title' => ''], ], [ - 'name' => 'OrderByParams', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The sorting order of the results to return. Valid values: ServerIdSort, ServerNameSort, ExpireTimeSort, CreationTimeSort, and EnsRegionIdSort.'."\n" - ."\n" - .'asc: ascending order. desc: descending order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"ServerIdSort":"desc","ServerNameSort":"desc","ExpireTimeSort":"asc","CreationTimeSort":"asc","EnsRegionIdSort":"asc"}', - ], + 'schema' => ['description' => 'The new name of the EIP. The name must be 2 to 128 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'maxLength' => 128, 'minLength' => 2, 'example' => 'test-api-modify', 'title' => ''], ], [ - 'name' => 'DescribeAICInstances', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'Spcifies whether the result contains the container information. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'schema' => ['description' => 'The new description of the EIP. The description must be 2 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 2, 'required' => false, 'example' => 'abc', 'title' => ''], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The peak bandwidth of the EIP. Default value: 5. Valid values: **5** to **10000**. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10000', 'minimum' => '1', 'required' => false, 'example' => '50', 'title' => ''], ], ], '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' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', - ], - 'Servers' => [ - 'description' => 'The information about the servers and the AIC instances.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the instance was created.'."\n", - 'type' => 'string', - 'example' => '2022-05-07 11:59:09', - ], - 'ExpiredTime' => [ - 'description' => 'The time when the instance expires.'."\n", - 'type' => 'string', - 'example' => '2027-05-07 11:59:09', - ], - 'AICInstances' => [ - 'description' => 'The information about the AIC instances.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Frequency' => [ - 'description' => 'The refresh rate of the AIC instance. Unit: Hz.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '120', - ], - 'ImageId' => [ - 'description' => 'The ID of the AIC image.'."\n", - 'type' => 'string', - 'example' => 'm-****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the AIC instance.'."\n", - 'type' => 'string', - 'example' => 'aic-instance****', - ], - 'NetworkAttributes' => [ - 'description' => 'The network attributes of the AIC instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'IpAddress' => [ - 'description' => 'The IP address of the AIC instance.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'NetworkId' => [ - 'description' => 'The network ID of the AIC instance.'."\n", - 'type' => 'string', - 'example' => 'n-*****', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID of the AIC instance.'."\n", - 'type' => 'string', - 'example' => 'vsw-****', - ], - ], - ], - 'SdgDeployInfo' => [ - 'description' => 'The information about the shared data group (SDG) that is deployed on the AIC instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'SDGId' => [ - 'description' => 'The ID of the SDG.'."\n", - 'type' => 'string', - 'example' => 'sdg-xxxxx', - ], - 'Status' => [ - 'description' => 'The deployment status of the SDG. Valid values:'."\n" - ."\n" - .'* **sdg_deploying**'."\n" - .'* **failed**'."\n" - .'* **success**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - ], - ], - 'Resolution' => [ - 'description' => 'The resolution of the AIC instance.'."\n", - 'type' => 'string', - 'example' => '1920*1080', - ], - 'Spec' => [ - 'description' => 'The specification of the AIC instance.'."\n", - 'type' => 'string', - 'example' => 'aic.cf53r.c2.np', - ], - 'State' => [ - 'description' => 'The operation status of the AIC instance. Valid values:'."\n" - ."\n" - .'* **success**'."\n" - .'* **failed**'."\n" - .'* **creating**'."\n" - .'* **releasing**'."\n" - .'* **rebooting**'."\n" - .'* **reseting**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Status' => [ - 'description' => 'The running status of the AIC instance. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **pending**'."\n" - .'* **terminating**'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'AIC-Name', - ], - 'LatestAction' => [ - 'description' => 'The operation that was most recently performed.'."\n", - 'type' => 'string', - 'example' => 'ServerCreate', - ], - ], - 'description' => '', - ], - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-hanghzou-27', - ], - 'ServerId' => [ - 'description' => 'The ID of the server.'."\n", - 'type' => 'string', - 'example' => 'cas-******', - ], - 'SpecName' => [ - 'description' => 'The server specification.'."\n", - 'type' => 'string', - 'example' => 'cas.cf53r', - ], - 'State' => [ - 'description' => 'The operation status of the server. Valid values:'."\n" - ."\n" - .'* **success**'."\n" - .'* **failed**'."\n" - .'* **creating**'."\n" - .'* **releasing**'."\n" - .'* **rebooting**'."\n" - .'* **upgrading**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Status' => [ - 'description' => 'The running status of the server. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **stopping**'."\n" - .'* **down**'."\n" - .'* **starting**'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'Namespace' => [ - 'description' => 'The namespace of the cluster to which the server belongs.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Name' => [ - 'description' => 'The name of the server.'."\n", - 'type' => 'string', - 'example' => 'Server-Name', - ], - 'PayType' => [ - 'description' => 'The billing method.'."\n", - 'type' => 'string', - 'example' => 'prepay', - ], - 'LatestAction' => [ - 'description' => 'The operation that was most recently performed.'."\n", - 'type' => 'string', - 'example' => 'ServerCreate', - ], - 'Tags' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'EipNotFound', 'errorMessage' => 'The input parameter allocationId that is not found. ', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The Eip status is incorrect. Check the Eip status.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => '需要修改的带宽未发生变化。', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'ModifyEnsEipAddressAttribute', + 'summary' => 'Modifies the name, description, and peak bandwidth of a specified elastic IP address (EIP).', + 'changeSet' => [ + ['createdAt' => '2023-10-17T07:53:44.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyEnsEipAddressAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyEnsEipAddressAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifyEnsRouteEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '255297', + 'abilityTreeNodes' => ['FEATUREensGMWJSM'], + ], + 'parameters' => [ + [ + 'name' => 'RouteEntryId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the custom route.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'rte-5****'], + ], + [ + 'name' => 'RouteEntryName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the route.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 128, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the route entry. The description must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'test'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'This service has not been activated.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidRouteEntryId.NotFound', 'errorMessage' => 'Specified RouteEntryId does not exist.', 'description' => 'The specified route ID does not exist.'], + ['errorCode' => 'InvalidRouteEntryType.NotSupported', 'errorMessage' => 'The specified route type does not support this operation.', 'description' => 'The specified route type does not support this operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"Servers\\": [\\n {\\n \\"CreationTime\\": \\"2022-05-07 11:59:09\\",\\n \\"ExpiredTime\\": \\"2027-05-07 11:59:09\\",\\n \\"AICInstances\\": [\\n {\\n \\"Frequency\\": 120,\\n \\"ImageId\\": \\"m-****\\",\\n \\"InstanceId\\": \\"aic-instance****\\",\\n \\"NetworkAttributes\\": {\\n \\"IpAddress\\": \\"192.168.XX.XX\\",\\n \\"NetworkId\\": \\"n-*****\\",\\n \\"VSwitchId\\": \\"vsw-****\\"\\n },\\n \\"SdgDeployInfo\\": {\\n \\"SDGId\\": \\"sdg-xxxxx\\",\\n \\"Status\\": \\"success\\"\\n },\\n \\"Resolution\\": \\"1920*1080\\",\\n \\"Spec\\": \\"aic.cf53r.c2.np\\",\\n \\"State\\": \\"success\\",\\n \\"Status\\": \\"running\\",\\n \\"Name\\": \\"AIC-Name\\",\\n \\"LatestAction\\": \\"ServerCreate\\"\\n }\\n ],\\n \\"EnsRegionId\\": \\"cn-hanghzou-27\\",\\n \\"ServerId\\": \\"cas-******\\",\\n \\"SpecName\\": \\"cas.cf53r\\",\\n \\"State\\": \\"success\\",\\n \\"Status\\": \\"running\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Name\\": \\"Server-Name\\",\\n \\"PayType\\": \\"prepay\\",\\n \\"LatestAction\\": \\"ServerCreate\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key-1\\",\\n \\"Value\\": \\"value-1\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 2\\n}","errorExample":""},{"type":"xml","example":"\\n 4EC47282-1B74-4534-BD0E-403F3EE64CAF\\n \\n 2022-05-07 11:59:09\\n 2027-05-07 11:59:09\\n \\n 120\\n m-****\\n aic-instance****\\n \\n 192.168.1.1\\n n-*****\\n vsw-****\\n \\n \\n sdg-xxxxx\\n success\\n \\n 1920*1080\\n aic.cf53r.c2.np\\n success\\n running\\n AIC-Name\\n ServerCreate\\n \\n cn-hanghzou-27\\n cas-******\\n cas.cf53r\\n success\\n running\\n default\\n Server-Name\\n prepay\\n ServerCreate\\n \\n 1\\n 10\\n 2\\n","errorExample":""}]', - 'title' => 'DescribeARMServerInstances', - ], - 'RebootARMServerInstance' => [ - 'summary' => 'Reboots an Android in Container (AIC) server.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ModifyEnsRouteEntry', + 'summary' => 'Modifies the name and description of a custom route.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyEnsRouteEntry'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyEnsRouteEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'ModifyEpnInstance' => [ + 'summary' => 'Modifies an Edge Private Network (EPN) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '139880', - 'abilityTreeNodes' => [ - 'FEATUREensNZLH4C', - 'FEATUREensF9GR70', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'EPNInstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-****', 'title' => ''], + ], + [ + 'name' => 'EPNInstanceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the EPN instance.', 'type' => 'string', 'required' => false, 'example' => 'ens_test_epn', 'title' => ''], + ], + [ + 'name' => 'NetworkingModel', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the server.'."\n", + 'description' => 'The networking mode. Valid values:'."\n" + ."\n" + .'- **SpeedUp**: Intelligent acceleration network (Internet).'."\n" + ."\n" + .'- **Connection**: Internal network.'."\n" + ."\n" + .'- **SpeedUpAndConnection**: Intelligent acceleration network and internal network.'."\n" + ."\n" + .'> The internal network supports only **Connection** and **SpeedUpAndConnection**.', 'type' => 'string', 'required' => false, - 'example' => 'yourInstance ID'."\n", + 'enum' => ['SpeedUp', 'Connection', 'SpeedUpAndConnection'], + 'example' => 'SpeedUp', + 'title' => '', ], ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 1 Mbit/s to 100 Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', - ], - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], ], - 406 => [ - [ - 'errorCode' => 'Throttling.Api', - 'errorMessage' => 'Request was denied due to region flow control.', + ], + 'title' => 'ModifyEpnInstance', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-06-07T08:13:13.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyEpnInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'RebootARMServerInstance', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', ], - 'ReleaseARMServerInstance' => [ - 'summary' => 'Releases an ARM server.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyFileSystem' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensYZKPLX'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'FileSystemId', 'in' => 'query', - 'schema' => [ - 'title' => 'AIC实例ID.', - 'description' => 'The ID of the server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'yourInstance ID', - ], + 'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'example' => 'c50f8*****', 'title' => ''], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the edge node.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing-cmcc', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the file system.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'fileSystemTest'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DCAE84DF-4187-5CC5-B819-37BCD2B83BD3', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'No instance ID found. Enter a valid instance ID.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DCAE84DF-4187-5CC5-B819-37BCD2B83BD3\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DCAE84DF-4187-5CC5-B819-37BCD2B83BD3\\n","errorExample":""}]', - 'title' => 'ReleaseARMServerInstance', - ], - 'CreateARMServerInstances' => [ - 'summary' => 'Creates an ARM server.', - 'methods' => [ - 'post', - 'get', + 'title' => 'ModifyFileSystem', + 'summary' => 'Modifies the description of a NAS file system.', + 'changeSet' => [ + ['createdAt' => '2022-08-30T06:19:04.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyFileSystem'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ModifyFileSystem', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]', + ], + 'ModifyForwardEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -44163,2113 +32372,1061 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREensIXQ4JD', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '143970', + 'abilityTreeNodes' => ['FEATUREensJ0M44X'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'PayType', + 'name' => 'ForwardEntryId', 'in' => 'query', - 'schema' => [ - 'title' => '付费类型。PrePaid(目前只支持此种):包年包月', - 'description' => 'The billing method. Set the value to **PrePaid**. PrePaid specifies the subscription billing method.'."\n" - ."\n" - .'> Only PrePaid is supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'PrePaid', - 'enum' => [ - 'PrePaid', - ], - ], + 'schema' => ['description' => 'The ID of the DNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'dnat-5tfjp3537mi6iokl59g5c****', 'title' => ''], ], [ - 'name' => 'EnsRegionId', + 'name' => 'ForwardEntryName', 'in' => 'query', - 'schema' => [ - 'title' => 'ENS节点ID。', - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-guiyang-12', - ], + 'schema' => ['description' => 'The name of the DNAT entry. The name must be 2 to 128 characters in length. It cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'test0', 'title' => ''], ], [ - 'name' => 'ServerType', + 'name' => 'HealthCheckPort', 'in' => 'query', - 'schema' => [ - 'title' => '服务器规格。', - 'description' => 'The specification of the ARM server. Examples:'."\n" - ."\n" - .'* cas.cf53r'."\n" - .'* cas.cf52r'."\n" - .'* cas.cf52m1r'."\n" - .'* cas.tg52g2'."\n" - .'* ens.afq-c2m3i.medium'."\n", - 'type' => 'string', - 'required' => true, - 'example' => ' cas.cf53r', - 'enum' => [], - ], + 'schema' => ['description' => 'The probe port. The port must be within the internal port range. By default, this parameter is left empty.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '0', 'required' => false, 'example' => '80', 'title' => ''], ], [ - 'name' => 'InstanceType', + 'name' => 'ExternalIp', 'in' => 'query', - 'schema' => [ - 'title' => 'AIC容器实例规格。', - 'description' => 'The specification of the Android in Container (AIC) instance. Examples:'."\n" - ."\n" - .'* aic.cf52r.c1.np'."\n" - .'* aic.cf52r.c2.np'."\n" - .'* aic.cf53r.c2.np'."\n" - .'* aic.cf52r.c4.np'."\n" - .'* aic.cf53r.c3.np'."\n" - .'* aic.cf52r.c3.np'."\n" - .'* aic.cf53r.c1.np'."\n" - .'* aic.cf53r.c5.np'."\n" - .'* aic.cf53r.c6'."\n" - .'* aic.cf53r.c4.np'."\n" - .'* aic.cf53r.c6.np'."\n" - .'* aic.cf53r.c7.np'."\n" - .'* aic.cf52m1r.c5.np'."\n" - .'* aic.cf53r.c8.np'."\n" - .'* aic.cf53r.c7'."\n" - .'* aic.cf52m1r.c2.np'."\n" - .'* aic.cf52m1r.c1.np'."\n" - .'* aic.cf52m1r.c3.np'."\n" - .'* aic.cf52m1r.c4.np'."\n" - .'* aic.cf52m1r.c6'."\n" - .'* ens.a6c2'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [], - 'example' => 'aic.cf53r.c6.np', - 'enum' => [], - ], + 'schema' => ['description' => 'The EIP in the DNAT entry. The public IP address is used to access the Internet.', 'type' => 'string', 'required' => false, 'example' => '121.XXX.XXX.28', 'title' => ''], ], [ - 'name' => 'ImageId', + 'name' => 'ExternalPort', 'in' => 'query', - 'schema' => [ - 'title' => '镜像ID。', - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'yourImage ID', - ], + 'schema' => ['description' => 'The external port or port range that is used for port forwarding.'."\n" + ."\n" + .'- Valid values: 1 to 65535.'."\n" + ."\n" + .'- To specify a port range, separate the first port and the last port with a forward slash (/), such as 10/20. The first port and the last port are included.'."\n" + ."\n" + .'- If you set ExternalPort to a port range, you must also set InternalPort to a port range. The number of ports in the port ranges must be the same. For example, if you set ExternalPort to 10/20, you can set InternalPort to 80/90.'."\n" + ."\n" + .'- The maximum port range is 1000.', 'type' => 'string', 'required' => false, 'example' => '22', 'title' => ''], ], [ - 'name' => 'Resolution', + 'name' => 'InternalIp', 'in' => 'query', - 'schema' => [ - 'title' => '分辨率。目前取值'."\n" - .'1920*1080'."\n" - .'1280*720'."\n" - .'1080*1920'."\n" - .'720*1280', - 'description' => 'The resolution. Examples:'."\n" - ."\n" - .'* 1920\\*864'."\n" - .'* 1080\\*1920'."\n" - .'* 1920\\*1080'."\n" - .'* 720\\*1280'."\n" - .'* 2400\\*1080'."\n" - .'* 1080\\*2400'."\n" - .'* 1280\\*720'."\n" - .'* 864\\*1920'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [], - 'example' => '720*1280', - 'enum' => [ - '1920*1080', - '1080*1920', - '1280*720', - '720*1280', - '2400*1080', - '1920*864', - '1080*2400', - '864*1920', - ], - ], + 'schema' => ['description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.', 'type' => 'string', 'required' => false, 'example' => '10.XXX.XXX.50', 'title' => ''], ], [ - 'name' => 'Frequency', + 'name' => 'InternalPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The refresh rate. Unit: Hz. Valid values: 30 and 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - 'default' => '30', - 'enum' => [ - '30', - '60', - '120', - ], - ], + 'schema' => ['description' => 'The private port or port range that is used in port forwarding.'."\n" + ."\n" + .'- Valid values: 1 to 65535.'."\n" + ."\n" + .'- To specify a port range, separate the first port and the last port with a forward slash (/), such as 10/20. The first port and the last port are included.'."\n" + ."\n" + .'- If you set InternalPort to a port range, you must also set ExternalPort to a port range. The number of ports in the port ranges must be the same. For example, if you set ExternalPort to 10/20, you can set InternalPort to 80/90.'."\n" + ."\n" + .'- The maximum port range is 1000.', 'type' => 'string', 'required' => false, 'example' => '22', 'title' => ''], ], [ - 'name' => 'KeyPairName', + 'name' => 'IpProtocol', 'in' => 'query', 'schema' => [ - 'title' => 'keypair名称', - 'description' => 'The name of the key pair.'."\n", + 'description' => 'The protocol. Valid values:'."\n" + ."\n" + .'- **TCP**: forwards TCP packets.'."\n" + ."\n" + .'- **UDP**: forwards UDP packets.'."\n" + ."\n" + .'- **Any** (default): forwards all packets.', 'type' => 'string', + 'enum' => ['TCP', 'UDP', 'Any'], 'required' => false, - 'example' => 'TestKeyPairName', + 'example' => 'Any', + 'title' => '', ], ], - [ - 'name' => 'Amount', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '数量,最大支持10', - 'description' => 'The number of instances to create. Valid values: **1** to **100**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '1', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', ], ], - [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'title' => '购买周期。', - 'description' => 'The subscription duration of the instance.'."\n" - ."\n" - .'* If you leave PeriodUnit empty, the instance is purchased on a monthly basis. Valid values: Day and Month.'."\n" - .'* If you set PeriodUnit to Day, you can set Period only to 3.'."\n" - .'* If you set PeriodUnit to Month, you can set Period to a value within the range of \\[1,9], or set the value to 12.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DnatNotFound', 'errorMessage' => 'The specified dnat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'IncorretDnatEntryStatus', 'errorMessage' => 'Dnat entry status blocked this operation.', 'description' => 'Dnat status is incorrect, please check Dnat status.'], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Instance not found, please check the InstanceId.', 'description' => 'Instance not found, please check the instance ID'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'Forbidden.ExternalPort.Duplicated', 'errorMessage' => 'The specified ExternalPort is duplicated.', 'description' => 'A DNAT rule has been configured for the external port. Do not repeat the configuration.'], + ['errorCode' => 'InvalidExternalIp.NotFound', 'errorMessage' => 'Specified ExternalIp does not found on the NAT Gateway.', 'description' => 'The public IP address is not in the NAT Gateway.'], + ['errorCode' => 'InvalidPort.Malformed', 'errorMessage' => 'The specified ExternalPort or InternalPort is not a valid port.', 'description' => 'The external or internal network port is incorrect.'], + ['errorCode' => 'Forbidden.ExternalIpUsedInSnat', 'errorMessage' => 'The external ip is already in use in the snat rule.', 'description' => 'The public IP address is already used in the SNAT rule. Please check.'], + ['errorCode' => 'InvalidParameter.HealthCheckPort', 'errorMessage' => 'HealthCheckPort is not in the range of InternalPort.', 'description' => 'The health check port is not in the intranet port range.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - [ - 'name' => 'PeriodUnit', - 'in' => 'query', - 'schema' => [ - 'title' => 'Month(默认):按月计费的价格单位。', - 'description' => 'The unit of the subscription duration.'."\n" - ."\n" - .'* If you leave PeriodUnit empty, the instance is purchased on a monthly basis. Valid values: Day and Month.'."\n" - .'* If you set PeriodUnit to Day, you can set Period only to 3.'."\n" - .'* If you set PeriodUnit to Month, you can set Period to a value within the range of \\[1,9], or set the value to 12.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - ], + ], + 'title' => 'ModifyForwardEntry', + 'summary' => 'Modifies a Destination Network Address Translation (DNAT) rule.', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:29.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2022-07-19T06:16:07.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyForwardEntry'], ], + ], + 'ramActions' => [ [ - 'name' => 'AutoRenew', - 'in' => 'query', - 'schema' => [ - 'title' => '是否自动续费,默认为false。', - 'description' => 'Specifies whether to enable auto-renewal for the subscription. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyForwardEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifyHaVipAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'NameSpace', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pre', - 'default' => 'default', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'ServerName', + 'name' => 'HaVipId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AIC-Server', - 'maxLength' => 255, - 'minLength' => 0, - ], + 'schema' => ['description' => 'The ID of the HAVIP that you want to modify.', 'type' => 'string', 'required' => true, 'example' => 'havip-52y28****', 'title' => ''], ], [ - 'name' => 'AutoUseCoupon', + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => 'The name of the HAVIP. The name must be 1 to 128 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'maxLength' => 128, 'minLength' => 1, 'example' => 'test', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否使用代金券。'."\n" - .'取值:true;false'."\n" - .'默认值:true', - 'description' => 'Specifies whether to use coupons. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'Interface call error, please re-match, or contact the product.', 'description' => 'Interface call error, please re-select'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ModifyHaVipAttribute', + 'summary' => 'Modifies the name of a high-availability virtual IP address (HAVIP).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHaVipAttribute'], + ], + ], + 'ramActions' => [ [ - 'name' => 'EnvironmentVar', - 'in' => 'query', - 'schema' => [ - 'description' => 'Set one or more environment variables during EAIS instance initialization.', - 'type' => 'string', - 'required' => false, - 'example' => '[object Object]', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyHaVipAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', + ], + 'ModifyImageAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Cidr', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'AK' => [], ], + ], + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ - 'name' => 'Tag', + 'name' => 'ImageId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - ], - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => true, 'example' => 'm-5t4xwkfkbs0uxv0kymdb6uip7', 'title' => ''], ], [ - 'name' => 'InstanceBillingCycle', + 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'enum' => [ - 'Hour', - 'Day', - ], - ], + 'schema' => ['description' => 'The name of the image.', 'type' => 'string', 'example' => 'Image name', 'required' => true, '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' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'OrderId' => [ - 'description' => 'The ID of the order.'."\n", - 'type' => 'string', - 'example' => '212630314490***', - ], - 'InstanceIds' => [ - 'description' => 'The IDs of instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'cas-instance****', - ], - ], + 'Code' => ['description' => 'The service code. 0 is returned for a successful request. An error code is returned for a failed request.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AC66B8F3-0B0A-5FB1-9EA2-DC03B2CD5B04', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'EnsNodeStockIsNotEnough', - 'errorMessage' => 'Insufficient inventory of purchased resources.', - ], - [ - 'errorCode' => 'InvalidParameterEnsRegionId', - 'errorMessage' => 'The entered node information is invalid. Please enter the correct node information.', - ], - [ - 'errorCode' => 'InvalidImageIdNotFound', - 'errorMessage' => 'The image information entered is invalid. Please re-enter valid image information.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidCidr', - 'errorMessage' => 'the cidr information filled in is illegal, please re-match.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"AC66B8F3-0B0A-5FB1-9EA2-DC03B2CD5B04\\"\\n}","type":"json"}]', + 'title' => 'ModifyImageAttribute', + 'summary' => 'Modifies the image attributes.', + 'changeSet' => [ + ['createdAt' => '2024-01-22T07:47:42.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"OrderId\\": \\"212630314490***\\",\\n \\"InstanceIds\\": [\\n \\"cas-instance****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n 212630314490***\\n cas-instance****\\n","errorExample":""}]', - 'title' => 'CreateARMServerInstances', - ], - 'RenewARMServerInstance' => [ - 'summary' => 'Renews a subscription Android in Container (AIC) instance.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyImageAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyImageAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'ModifyImageSharePermission' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'abilityTreeCode' => '4386', + 'abilityTreeNodes' => ['FEATUREensW6UXP8'], ], 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance that you want to renew.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'yourInstance ID', - ], - ], - [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The renewal period. By default, instances are renewed on a monthly basis. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, and 12.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image. You can specify only one image ID. Custom images and public images are supported.', 'type' => 'string', 'required' => true, 'example' => 'm-5s7qotzavwbrnzaqh4unm****', 'title' => ''], ], [ - 'name' => 'PeriodUnit', + 'name' => 'AddAccounts', 'in' => 'query', - 'schema' => [ - 'description' => 'The unit of the renewal period. Valid values:'."\n" - ."\n" - .'* Month (default)'."\n" - .'* Year'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Month', - 'enum' => [ - 'Year', - 'Month', - ], - ], + 'schema' => ['description' => 'The ID of the Alibaba Cloud account with which you want to share the image. You can specify multiple Alibaba Cloud IDs. Separate multiple IDs with commas (,).', 'type' => 'string', 'required' => false, 'example' => '1122334455**', 'title' => ''], ], [ - 'name' => 'AutoRenew', + 'name' => 'RemoveAccounts', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto-renewal for the premium bandwidth plan. Valid values:'."\n" - ."\n" - .'* **true**.'."\n" - .'* **false** (default).'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the Alibaba Cloud account from which you want to unshare the image. You can specify only one Alibaba Cloud account ID.', 'type' => 'string', 'required' => false, 'example' => '113355**', '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' => '370E61E0-6E6E-50FE-9259-EE706C55ABF1', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '701B3BB9-9190-544D-90D1-328B0527380C', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidImageType.NotSupported', 'errorMessage' => 'The specified image type is not supported.', 'description' => 'The specified image does not support sharing or exporting.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"370E61E0-6E6E-50FE-9259-EE706C55ABF1\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 370E61E0-6E6E-50FE-9259-EE706C55ABF1\\n","errorExample":""}]', - 'title' => 'RenewARMServerInstance', - ], - 'DescribeAICImages' => [ - 'summary' => 'Queries information about images of the Android in Container (AIC) instance.', - 'methods' => [ - 'get', - 'post', + 'title' => 'ModifyImageSharePermission', + 'summary' => 'Shares or unshares an image.', + 'changeSet' => [ + ['createdAt' => '2024-11-19T08:11:47.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-21T08:03:41.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyImageSharePermission'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyImageSharePermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Image', 'arn' => 'acs:ens::{#accountId}:image/{#ImageId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"701B3BB9-9190-544D-90D1-328B0527380C\\"\\n}","type":"json"}]', + ], + 'ModifyInstanceAttribute' => [ + 'summary' => 'Modifies the attributes of an instance, such as its password and name.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'abilityTreeCode' => '4384', + 'abilityTreeNodes' => ['FEATUREensQTKG0K'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The image ID of the AIC instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'm-ad0ddaddc2d54adeaa09b7c0f1e****', - ], - ], - [ - 'name' => 'ImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the AIC image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '****.alibaba-inc.com/aic/socimage:test', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. The maximum value is **100**. Default value: **10**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the instance. You can modify only one instance per request.', 'type' => 'string', 'required' => true, 'example' => 'i-instanc****', 'title' => ''], ], [ - 'name' => 'Status', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the image. Valid values:'."\n" - ."\n" - .'* **verifying**'."\n" - .'* **disable**'."\n" - .'* **available**'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'verifying' => 'verifying', - 'disable' => 'disable', - 'available' => 'available', - ], - 'example' => 'available', - ], + 'schema' => ['description' => 'The password for the instance.', 'type' => 'string', 'required' => false, 'example' => 'yourPassword', 'title' => ''], ], [ - 'name' => 'MinDate', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-01-02', - ], + 'schema' => ['description' => 'The name of the instance.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. The name can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'i-instanceidname', 'title' => ''], ], [ - 'name' => 'MaxDate', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-02-02', - ], + 'schema' => ['description' => 'The hostname of the instance. The hostname must be 2 to 64 characters in length. You can use periods to separate the name into segments. Each segment can contain letters, digits, and hyphens. The hostname cannot start or end with a period or a hyphen, and it cannot contain consecutive periods or hyphens.', 'type' => 'string', 'required' => false, 'example' => 'testHostName', 'title' => ''], ], [ - 'name' => 'ImageType', + 'name' => 'UserData', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* **public**: public image'."\n" - .'* **private**: custom image'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'private' => 'private', - 'public' => 'public', - ], - 'example' => 'public', - ], + 'schema' => ['description' => 'The Base64-encoded user data for the instance.'."\n" + ."\n" + .'The Raw Data cannot exceed 16 KB in size. Do not pass Sensitive Information, such as passwords and private keys, in plaintext. If you must pass sensitive information, encrypt and then Base64-encode it. You can then decode and decrypt this data from within the instance.', 'type' => 'string', 'required' => false, 'example' => '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgK****', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'DeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test operation of console', - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the instance. Set this parameter to `true` to enable this feature, or `false` to disable it.', 'type' => 'boolean', 'required' => false, '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' => '72DC6C0A-D9A8-5345-A2BE-FE354CC728A0', - ], - 'Images' => [ - 'description' => 'The information about the images.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageUrl' => [ - 'description' => 'The URL of the AIC image repository.'."\n", - 'type' => 'string', - 'example' => '****.alibaba-inc.com/aic/socimage:test', - ], - 'ImageId' => [ - 'description' => 'The image ID of the AIC instance.'."\n", - 'type' => 'string', - 'example' => 'm-ad0ddaddc2d54adeaa09b7c0f1e****', - ], - 'User' => [ - 'description' => 'The username of the image repository.'."\n", - 'type' => 'string', - 'example' => 'user', - ], - 'Status' => [ - 'description' => 'The status of the image. **Available** is returned for this parameter. Available indicates that the image is available.'."\n", - 'type' => 'string', - 'example' => 'available', - ], - 'CreationTime' => [ - 'description' => 'The time when the image was created.'."\n", - 'type' => 'string', - 'example' => '2022-09-22 10:54:34', - ], - 'Description' => [ - 'description' => 'The description of the image.'."\n", - 'type' => 'string', - 'example' => 'Test operation of console', - ], - 'AndroidVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The status code. A value of `0` indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'description' => 'The response object.', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter InstanceId that is not found.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidDeletionAppointmentNotSupported', 'errorMessage' => 'The scheduled release time of the current instance is set to prohibit this operation.', 'description' => 'The scheduled release time of the current instance is set to prohibit this operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"72DC6C0A-D9A8-5345-A2BE-FE354CC728A0\\",\\n \\"Images\\": [\\n {\\n \\"ImageUrl\\": \\"****.alibaba-inc.com/aic/socimage:test\\",\\n \\"ImageId\\": \\"m-ad0ddaddc2d54adeaa09b7c0f1e****\\",\\n \\"User\\": \\"user\\",\\n \\"Status\\": \\"available\\",\\n \\"CreationTime\\": \\"2022-01-22 10:54:34\\",\\n \\"Description\\": \\"控制台测试操作\\",\\n \\"AndroidVersion\\": \\"10\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1\\n}","errorExample":""},{"type":"xml","example":"\\n 72DC6C0A-D9A8-5345-A2BE-FE354CC728A0\\n \\n ****.alibaba-inc.com/aic/socimage:test\\n m-ad0ddaddc2d54adeaa09b7c0f1e****\\n user\\n available\\n 2022-01-22 10:54:34\\n 控制台测试操作\\n \\n 1\\n 10\\n 1\\n","errorExample":""}]', - 'title' => 'DescribeAICImages', - ], - 'RecoverAICInstance' => [ - 'summary' => 'Recovers an Android in Container (AIC) instance on the server.', - 'methods' => [ - 'get', + 'title' => 'ModifyInstanceAttribute', + 'description' => '- You cannot reset the instance password while the instance is in the `Starting` state.'."\n" + ."\n" + .'- You cannot modify the instance password while the instance is in the `Running` state.'."\n" + ."\n" + .'- After you reset the password, you must reboot the instance from the console or by calling the `RebootInstance` API operation to apply the new password. Rebooting the instance from within its operating system does not apply the new password.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-12-26T06:29:55.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifyInstanceAutoRenewAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '164702', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'abilityTreeCode' => '1469', + 'abilityTreeNodes' => ['FEATUREensVJ32Z2'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cas-instance****', - ], + 'schema' => ['description' => 'The IDs of the instances. Separate IDs with semicolons (;).', 'type' => 'string', 'required' => true, 'example' => 'i-5ci7l7k1m9m2zmhp4iw3o****', 'title' => ''], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the auto-renewal feature. Valid values: **True and False**. Default value: False.', 'type' => 'string', 'required' => true, 'example' => 'True', 'title' => ''], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => ['description' => 'The auto-renewal period of the instance. Unit: months. Valid values: 1 to 9 and 12. This parameter is required if the AutoRenew parameter is set to true.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to renew the instance. The **RenewalStatus** parameter has a higher priority than the **AutoRenew** parameter. If you do not specify **RenewalStatus**, the **AutoRenew** parameter is used by default.'."\n" + ."\n" + .'- AutoRenewal: Auto-renewal is enabled for the instance.'."\n" + ."\n" + .'- Normal: Auto-renewal is disabled for the instance.'."\n" + ."\n" + .'- NotRenewal: The instance is not renewed.'."\n" + ."\n" + .'The system no longer sends an expiration notification but sends only a renewal notification three days before the instance expires. To renew the instance, you can change the value of this parameter from NotRenewal to Normal and then manually renew the instance, or change the value of this parameter from NotRenewal to AutoRenewal.', 'type' => 'string', 'required' => false, 'example' => 'AutoRenewal', '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EA3758E0-8899-17D3-9526-5F62CF33A586', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotExists', 'errorMessage' => 'The user have no instances.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'RecoverAICInstance', - ], - 'ReleaseAICInstance' => [ - 'summary' => 'Releases an Android in Container (AIC) instance from the server.', - 'methods' => [ - 'get', - 'post', + 'title' => 'ModifyInstanceAutoRenewAttribute', + 'summary' => 'Configures auto-renewal for instances.', + 'changeSet' => [ + ['createdAt' => '2024-03-12T08:43:29.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceAutoRenewAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceAutoRenewAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"EA3758E0-8899-17D3-9526-5F62CF33A586\\"\\n}","type":"json"}]', + ], + 'ModifyInstanceBootConfiguration' => [ + 'summary' => 'Modifies the boot configuration of a heterogeneous PC Farm bare metal instance.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '164703', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ServerId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cas-instance****', - ], + 'schema' => ['description' => 'The ID of the instance for which you want to modify the configuration. You can specify only one ID.', 'type' => 'string', 'required' => true, 'example' => 'i-instance****', 'title' => ''], + ], + [ + 'name' => 'BootType', + 'in' => 'query', + 'schema' => ['description' => 'The startup type.', 'type' => 'string', 'required' => true, 'example' => 'pxe', 'title' => ''], + ], + [ + 'name' => 'BootSet', + 'in' => 'query', + 'schema' => ['description' => 'The startup method.', 'type' => 'string', 'required' => false, 'example' => 'legacy', 'title' => ''], + ], + [ + 'name' => 'DiskSet', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the startup depends on the disk.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Instance not found, please check the InstanceId.', 'description' => 'Instance not found, please check the instance ID'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'InvalidInstanceType.NotSupported', 'errorMessage' => 'The specified InstanceType is not Supported.', 'description' => 'The specified instance type does not support the current operation.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'ReleaseAICInstance', - ], - 'RunServiceSchedule' => [ - 'summary' => 'Schedules the nearest idle resources including instances and pods for your device based on the user ID and IP address and initializes the virtual environment.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'ModifyInstanceBootConfiguration', + 'description' => '- If an instance is in the Starting state, you cannot reset the password of the instance.'."\n" + ."\n" + .'- If the instance is in the Running state, you cannot change the password of the instance.'."\n" + ."\n" + .'- After resetting the password, you must restart the instance in the ENS console or call the RebootInstance operation to apply the change. The restart operation within the instance does not apply the change.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceBootConfiguration'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceBootConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\"\\n}","type":"json"}]', + ], + 'ModifyInstanceChargeType' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '1776', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREensEEGRIW'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', + 'description' => 'A list of instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an instance.', 'type' => 'string', 'required' => false, 'example' => 'i-5xlrc9wdeo3xxxxxx', 'title' => ''], 'required' => true, - 'example' => '474bdef0-d149-4695-abfb-52912d9143f0', + 'maxItems' => 20, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Uuid', + 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => [ - 'description' => 'The UUID of the device.'."\n", + 'description' => 'The target billing method of the instance. Valid values:'."\n" + ."\n" + .'`PrePaid`: Changes the billing method of a pay-as-you-go instance to subscription.'."\n" + ."\n" + .'`PostPaid` (default): Changes the billing method of a subscription instance to pay-as-you-go.', 'type' => 'string', 'required' => true, - 'example' => 'hdm_d4f1059a8e1afc0956bd71b497faa433', + 'enum' => ['PostPaid', 'PrePaid'], + 'example' => 'PostPaid', + 'title' => '', ], ], [ - 'name' => 'ClientIp', + 'name' => 'AutoRenew', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the client.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '180.166.45.146', - ], + 'schema' => ['description' => 'Specifies whether to enable auto-renewal for the instance. This parameter is valid only when you change the billing method of an instance from pay-as-you-go to subscription. Valid values:'."\n" + ."\n" + .'`true`: Auto-renewal is enabled.'."\n" + ."\n" + .'`false` (default): Auto-renewal is disabled.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ServiceAction', + 'name' => 'Period', 'in' => 'query', 'schema' => [ - 'description' => 'The scheduling operation. The value must be of the enumeration type. Valid values:'."\n" + 'description' => 'The subscription duration. This parameter is required when you change the billing method from pay-as-you-go to subscription. The valid values of this parameter depend on the `PeriodUnit` parameter.'."\n" ."\n" - .'Container scenario:'."\n" - ."\n" - .'* Start: selects and activates an idle cloud device.'."\n" - .'* Stop: stops and releases the cloud device.'."\n" - .'* Console: performs the scheduling operation when the device is in the scheduling state.'."\n" - ."\n" - .'Bare metal instance or virtual machine scenario:'."\n" + .'If `PeriodUnit` is set to `Day`, the valid value of `Period` is `3`.'."\n" ."\n" - .'* PreSchedule: locks a virtual machine instance for scheduling.'."\n" - .'* Confirm: confirms the scheduling operation.'."\n" - .'* Cancel: cancels the scheduling operation.'."\n" - .'* Console: performs the scheduling operation when the device is in the scheduling state.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'Start' => '', - 'Stop' => '', - 'Cancel' => '', - 'PreSchedule' => '', - 'Console' => '', - 'Confirm' => '', - ], - 'example' => 'Start', - ], - ], - [ - 'name' => 'PodConfigName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The parameter does not take effect.'."\n", + .'If `PeriodUnit` is set to `Month`, the valid values of `Period` are `1` to `9`, and `12`.', 'type' => 'string', + 'enum' => ['1', '2', '3', '4', '5', '6', '7', '8', '9', '12'], 'required' => false, - 'example' => 'android', + 'example' => '1', + 'title' => '', ], ], [ - 'name' => 'PreLockedTimeout', + 'name' => 'PeriodUnit', 'in' => 'query', 'schema' => [ - 'description' => 'The maximum duration for locking an idle device. Unit: seconds. This parameter takes effect only if you set ServiceAction to PreSchedule. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The unit of the subscription duration. This parameter is required when you change the billing method of an instance from pay-as-you-go to subscription. Valid values:'."\n" + ."\n" + .'`Month`'."\n" + ."\n" + .'`Day`', + 'enumValueTitles' => [], + 'type' => 'string', + 'enum' => ['Year', 'Month', 'Day'], 'required' => false, - 'example' => '300', + 'example' => 'Month', + 'title' => '', ], ], [ - 'name' => 'Directorys', + 'name' => 'IncludeDataDisks', 'in' => 'query', - 'schema' => [ - 'description' => 'The directory to which the data file is mounted. The value must be a full path and cannot be \'/../\'. Example: \\["/data/app01", "/data/user"]. Specify the relative path of the virtual device for this parameter. For example, specify /data for this parameter when the actual path of the virtual device is /data/{input path}.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[\\"/data/app01\\", \\"/data/user\\"]', - ], + 'schema' => ['description' => 'Specifies whether to change the billing method of all pay-as-you-go data disks that are created with the instance to subscription. This parameter is valid only when you change the billing method of an instance from pay-as-you-go to subscription. Valid values:'."\n" + ."\n" + .'`true`: The billing method of the data disks is changed to subscription.'."\n" + ."\n" + .'`false` (default): The billing method of the data disks is not changed.', 'type' => 'boolean', 'default' => 'true', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ServiceCommands', + 'name' => 'AutoPay', 'in' => 'query', - 'schema' => [ - 'description' => 'The service commands. The value must be a JSON string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{\\"containerName\\": \\"android\\", \\"commands\\":[\\"cat /tmp/token.json\\"] }, { \\"commands\\":[\\"ls -l /data/data\\"] }]', - ], + 'schema' => ['description' => 'Specifies whether to enable automatic payment. This parameter is valid only when you change the billing method of an instance from pay-as-you-go to subscription. Valid values:'."\n" + ."\n" + .'`true`: Automatic payment is enabled. Make sure that your account balance is sufficient.'."\n" + ."\n" + .'`false` (default): An order is generated but no payment is made.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ScheduleStrategy', + 'name' => 'BillingCycle', 'in' => 'query', 'schema' => [ - 'description' => 'The scheduling policy of the device. The value must be a JSON string.'."\n", 'type' => 'string', + 'enum' => ['Month', 'Day', 'Hour'], + 'description' => '', 'required' => false, - 'example' => '{\\"selectLevel\\": \\"RegionId\\", \\"values\\": [\\"cn-chengdu-telecom-2\\"] }', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'CommandResults' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CommandResult' => [ - 'description' => 'The execution results of the commands.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Command' => [ - 'description' => 'The command.'."\n", - 'type' => 'string', - 'example' => 'ls -l /data', - ], - 'ContainerName' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'android', - ], - 'ResultMsg' => [ - 'description' => 'The execution result of the command.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - ], - ], - ], - ], - ], - 'Index' => [ - 'description' => 'The index number of the scheduled virtual device (pod).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'InstanceId' => [ - 'description' => 'The ID of the scheduled instance.'."\n", - 'type' => 'string', - 'example' => 'i-5qvji3mom4ec013dyygmtxlkj', - ], - 'InstanceIp' => [ - 'description' => 'The IP address of the scheduled instance.'."\n", - 'type' => 'string', - 'example' => '172.16.246.11', - ], - 'InstancePort' => [ - 'description' => 'The start port of the scheduled instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'RequestRepeated' => [ - 'description' => 'Indicates whether the request is repeated. This parameter is not returned if ServcieAction is set to Console.'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'TcpPorts' => [ - 'description' => 'The TCP port range of the scheduled instance or container. The value is in the ${from}-$-{to} format. Example: 80-88.'."\n", - 'type' => 'boolean', - 'example' => '"80-88"', - ], - ], - 'description' => '', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'E2CE5821-7A18-5F7B-A18A-1C751B933D2A'], + 'InstanceIds' => [ + 'description' => 'A list of instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'i-5xu1chy7ckxxxx', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'OrderId' => ['description' => 'The generated order ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '21522202681****', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'VALIDATE.MODULE.FAILED', 'errorMessage' => 'Required module is not selected.', 'description' => 'Required module is not selected.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'EnsPostOpenError', 'errorMessage' => 'Commodity opening failed.', 'description' => 'Commodity opening failed.'], + ['errorCode' => 'EnsServiceArrearage', 'errorMessage' => 'User account is arrearage.', 'description' => 'User account is arrearage.'], + ['errorCode' => 'InvalidDeletionAppointmentNotSupported', 'errorMessage' => 'The scheduled release time of the current instance is set to prohibit this operation.', 'description' => 'The scheduled release time of the current instance is set to prohibit this operation.'], + ['errorCode' => 'InvalidDeletionProtectionNotSupported', 'errorMessage' => 'The current instance has release protection enabled. This operation is not allowed.', 'description' => 'The current instance has release protection enabled. This operation is not allowed.'], + ['errorCode' => 'InstanceForbidOperate', 'errorMessage' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.', 'description' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ModifyInstanceChargeType', + 'summary' => 'Call the `ModifyInstanceChargeType` operation to change the billing method for one or more Edge Node Service (ENS) instances. You can convert instances between pay-as-you-go and subscription plans. For a pay-as-you-go instance, you can also convert a cloud disk that was provisioned with the instance from pay-as-you-go to a subscription.', + 'description' => 'Before calling this API, ensure you understand the Billing Methods and pricing of Edge Node Service (ENS).'."\n" + ."\n" + .'To modify the Billing Method, the target Instance must be Running or Stopped, and your account must not be overdue.', + 'changeSet' => [ + ['createdAt' => '2025-05-08T11:11:27.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-04-24T07:39:49.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-08-19T11:59:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-13T09:06:33.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceChargeType'], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'LimitExceeded.SecurityGroup', - 'errorMessage' => 'The number of securityGroup exceeds the limit.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceChargeType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CommandResults\\": {\\n \\"CommandResult\\": [\\n {\\n \\"Command\\": \\"ls -l /data\\",\\n \\"ContainerName\\": \\"android\\",\\n \\"ResultMsg\\": \\"success\\"\\n }\\n ]\\n },\\n \\"Index\\": 1,\\n \\"InstanceId\\": \\"i-5qvji3mom4ec013dyygmtxlkj\\",\\n \\"InstanceIp\\": \\"172.16.246.11\\",\\n \\"InstancePort\\": 1024,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RequestRepeated\\": \\"false\\",\\n \\"TcpPorts\\": true\\n}","type":"json"}]', - 'title' => 'RunServiceSchedule', - ], - 'DescribeServcieSchedule' => [ - 'summary' => 'You can call the DescribeServcieSchedule to query the real-time status of the instance device or container that is being occupied by the UUID.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E2CE5821-7A18-5F7B-A18A-1C751B933D2A\\",\\n \\"InstanceIds\\": [\\n \\"i-5xu1chy7ckxxxx\\"\\n ],\\n \\"OrderId\\": 0\\n}","type":"json"}]', + ], + 'ModifyInstanceNetworkAttribute' => [ + 'summary' => 'Modifies the private IP address or vSwitch of a VPC-type ECS instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '249175', + 'abilityTreeNodes' => ['FEATUREensVJ32Z2'], + ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '474bdef0-d149-4695-abfb-52912d91****', - ], + 'schema' => ['description' => 'The ID of the ENS instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'i-5myukg7hnpbto7m024002****'], ], [ - 'name' => 'Uuid', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the device.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hdm_f022bf160dc69e2d8eb421e508eb****', - ], + 'schema' => ['description' => 'The vSwitch IDs.'."\n" + ."\n" + .'- If you set this parameter to the ID of the current vSwitch, the vSwitch of the ECS instance remains unchanged.'."\n" + ."\n" + .'- The input ID is a new vSwitch, and the new and old vSwitches must belong to the same node.'."\n" + ."\n" + .'- By default, if this parameter is not specified, a private IP address is randomly assigned from within the CIDR block of the specified vSwitch.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-5rllcjb3ol6duzjdnbm1o****'], ], [ - 'name' => 'PodConfigName', + 'name' => 'PrivateIpAddress', 'in' => 'query', 'schema' => [ - 'description' => 'This parameter does not take effect.'."\n", + 'description' => 'The new private IP address of the ECS instance. By default, if this parameter is empty, a private IP address is randomly assigned from the CIDR block of the specified vSwitch.', 'type' => 'string', 'required' => false, - 'example' => 'android', + 'enum' => [], + 'title' => '', + 'example' => '192.168.XX.XX', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Index' => [ - 'description' => 'The index number of the scheduled virtual device (pod).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'InstanceId' => [ - 'description' => 'The ID of the scheduled instance.'."\n", - 'type' => 'string', - 'example' => 'i-5myukg7hnpbto7m024002****', - ], - 'InstanceIp' => [ - 'description' => 'The ID of the scheduled instance.'."\n", - 'type' => 'string', - 'example' => '120.26.XX.XX', - ], - 'InstancePort' => [ - 'description' => 'The start port of the scheduled instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3306', - ], - 'PodAbstractInfo' => [ - 'description' => 'The summary information about the scheduled virtual device.'."\n", - 'type' => 'object', - 'properties' => [ - 'ContainerService' => [ - 'description' => 'The name of the container service.'."\n", - 'type' => 'boolean', - 'example' => 'android', - ], - 'ContainerStatuses' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ContainerStatus' => [ - 'description' => 'The information about the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ContainerId' => [ - 'description' => 'The ID of the container.'."\n", - 'type' => 'string', - 'example' => 'container_e79_1638372147094_158091_02_000001', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - ], - ], - ], - ], - ], - 'Name' => [ - 'description' => 'The name of the pod.'."\n", - 'type' => 'boolean', - 'example' => 'gcs-prod-websocket-eip-telecom', - ], - 'Namespace' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'boolean', - 'example' => 'default-aliyun', - ], - 'ResourceScope' => [ - 'description' => 'The pod scope.'."\n", - 'type' => 'boolean', - 'example' => 'FDN', - ], - 'Status' => [ - 'description' => 'The status of the pod.'."\n", - 'type' => 'boolean', - 'example' => 'RUNNING', - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'RequestRepeated' => [ - 'description' => 'Indicates whether the request is repeated.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'TcpPorts' => [ - 'description' => 'The TCP port range of the scheduled instance or container. The value is in the ${from}-$-{to} format. Example: 80-88.'."\n", - 'type' => 'string', - 'example' => '80-88', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'LimitExceeded.SecurityGroup', - 'errorMessage' => 'The number of securityGroup exceeds the limit.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidDependence.%s', 'errorMessage' => 'The Specified operation is denied due to %s.', 'description' => 'The instance has dependencies and cannot be modified.'], + ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified InstanceId does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'InvalidInstanceType.NotSupported', 'errorMessage' => 'The specified InstanceType is not Supported.', 'description' => 'The specified instance type does not support the current operation.'], + ['errorCode' => 'IncorrectNetworkInterfaceStatus', 'errorMessage' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.', 'description' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.'], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified virtual switch does not exist.', 'description' => 'The specified virtual switch ID does not exist.'], + ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'The current status of virtual switch does not support this operation.', 'description' => 'The specified virtual switch is not available and cannot operate.'], + ['errorCode' => 'InvalidPrivateIpAddress.Mismatch', 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', 'description' => 'The specified private IP address is not in the CIDR block of the specified VSwitch.'], + ['errorCode' => 'InvalidPrivateIpAddress.Duplicated', 'errorMessage' => 'The specified private IP address is duplicated.', 'description' => 'The specified IP address is already in use.'], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified virtual switch has not enough available ip.', 'description' => 'The number of IP addresses in the specified switch is insufficient.'], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Index\\": 2,\\n \\"InstanceId\\": \\"i-5myukg7hnpbto7m024002****\\",\\n \\"InstanceIp\\": \\"120.26.XX.XX\\",\\n \\"InstancePort\\": 3306,\\n \\"PodAbstractInfo\\": {\\n \\"ContainerService\\": true,\\n \\"ContainerStatuses\\": {\\n \\"ContainerStatus\\": [\\n {\\n \\"ContainerId\\": \\"container_e79_1638372147094_158091_02_000001\\",\\n \\"Name\\": \\"nginx\\"\\n }\\n ]\\n },\\n \\"Name\\": true,\\n \\"Namespace\\": true,\\n \\"ResourceScope\\": true,\\n \\"Status\\": true\\n },\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"RequestRepeated\\": false,\\n \\"TcpPorts\\": \\"80-88\\"\\n}","type":"json"}]', - 'title' => 'DescribeServcieSchedule', - ], - 'RescaleDeviceService' => [ - 'summary' => 'Scales out a bare metal device.', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ModifyInstanceNetworkAttribute', + 'description' => 'The instance that you want to manage must be in the Stopped state. When you modify the parameters of a scaling group, the following limits apply:'."\n" + ."\n" + .'- Instance:'."\n" + ."\n" + .' - Instances that are associated with SLB are not supported.'."\n" + ."\n" + .'- Network:'."\n" + ."\n" + .' - Instances that are associated with EIPs are not supported.'."\n" + ."\n" + .' - Instances that are associated with high-availability virtual IP addresses are not supported.'."\n" + ."\n" + .' - Instances that have been used as next hops in the routing table are not supported.'."\n" + ."\n" + .' - Secondary ENIs cannot be attached to the ECS instance.'."\n" + ."\n" + .' - Instances configured with secondary IP addresses are not supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceNetworkAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceNetworkAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', + ], + 'ModifyLoadBalancerAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -46278,944 +33435,964 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '32996', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'abilityTreeCode' => '16810', + 'abilityTreeNodes' => ['FEATUREensKQ0M0M'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'RescaleType', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling operation. Set the value to Add to add new resources.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'Add' => '', - ], - 'example' => 'Add', - ], + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5q73cv04zeyh43lh74lp4gtm8', 'title' => ''], ], [ - 'name' => 'RescaleLevel', + 'name' => 'LoadBalancerName', 'in' => 'query', + 'schema' => ['description' => 'The name of the ELB instance. The name must be **2** to **128** characters in length.'."\n" + ."\n" + .'> The value cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => true, 'maxLength' => 128, 'minLength' => 2, 'example' => 'test', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region level of the scale-out. Set the value to RegionId. RegionId specifies that resource scale-out is performed based on the ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'RegionId' => '', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'example' => 'RegionId', + 'example' => '', ], ], - [ - 'name' => 'Timeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for asynchronous scale-out. Unit: seconds. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1800', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', 'description' => 'The load balancing instance does not exist.'], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], - [ - 'name' => 'ServiceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'service-01c6dd6e93f040698566', - ], + ], + 'title' => 'ModifyLoadBalancerAttribute', + 'summary' => 'Modifies the information about an Edge Load Balancer (ELB) instance.', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyLoadBalancerAttribute'], ], + ], + 'ramActions' => [ [ - 'name' => 'ResourceSelector', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The required resources. The value must be a JSON string.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '[{\\"regionCode\\": \\"cn-wuxi-telecom_unicom_cmcc-3\\", \\"ispCode\\": \\"telecom\\", \\"count\\": 2 },{ \\"regionCode\\": \\"cn-shanghai-cmcc\\", \\"count\\": 4 }]', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyLoadBalancerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifyNetworkAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ResourceSpec', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource specification.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens.a6e.large', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ - 'name' => 'IpType', + 'name' => 'NetworkId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the network. The value must be of the enumerated data type. Valid values:'."\n" - ."\n" - .'* **1** (default): Internet'."\n" - .'* **2**: internal network'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'enumValueTitles' => [ - 1 => '', - '', - ], - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the network.', 'type' => 'string', 'required' => true, 'example' => 'n-****', 'title' => ''], ], [ - 'name' => 'AppId', + 'name' => 'NetworkName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7aedc50b-b1cb-4a7c-9e3d-4cf3c9ee55a4', - ], + 'schema' => ['description' => 'The name of the network. The name must meet the following requirements:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length'."\n" + ."\n" + .'- It must start with a letter but cannot start with http\\:// or https\\://.'."\n" + ."\n" + .'- The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'maxLength' => 128, 'minLength' => 2, 'required' => false, 'example' => 'abc', 'title' => ''], ], [ - 'name' => 'ImageId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'm-5rynw9g1ow1e928lb83bqmbnf', - ], - ], - [ - 'name' => 'ResourceInfo', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The information about the resource specification template. The value must be a JSON string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"imageId\\":\\"m-5s4z4c10avgwvwtn33gl2vgob\\",\\"ipType\\":2,\\"specName\\":\\"ens.pfb-c3m7.medium\\"}', - ], + 'schema' => ['description' => 'The description of the network.'."\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\\://.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 2, 'required' => false, 'example' => 'this is my first network', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3F3F3570-E721-53F6-853F-37B7725AC6CB', - ], - 'DeviceIds' => [ - 'description' => 'The IDs of the devices.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the device.'."\n", - 'type' => 'string', - 'example' => '[\'b-5qco9b10iei79z48phno4bmsr\']', - ], - ], - 'ResourceDetailInfos' => [ - 'description' => 'The key properties of the device.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RegionID' => [ - 'description' => 'The ID of the edge node to which the device belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-chongqing-1', - ], - 'ID' => [ - 'description' => 'The ID of the device.'."\n", - 'type' => 'string', - 'example' => 'h-uf6009zoa6hdbjyqxcn1', - ], - 'IP' => [ - 'description' => 'The IP address of the device.'."\n", - 'type' => 'string', - 'example' => '10.152.196.36', - ], - 'Server' => [ - 'description' => 'The name of the server on which the device is deployed.'."\n", - 'type' => 'string', - 'example' => 'ens-nc2', - ], - 'Type' => [ - 'description' => 'The type of the instance.'."\n", - 'type' => 'string', - 'example' => 'ens.ac6.large', - ], - 'Status' => [ - 'description' => 'The status of the device.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Mac' => [ - 'description' => 'The media access control (MAC) address of the device.'."\n", - 'type' => 'string', - 'example' => '24:0B:88:04:71:E0', - ], - 'ISP' => [ - 'description' => 'The Internet service provider (ISP) to which the device belongs.'."\n", - 'type' => 'string', - 'example' => 'telecom', - ], - ], - ], - ], - 'OrderId' => [ - 'description' => 'The ID of the order.'."\n", - 'type' => 'string', - 'example' => 'b3b5bb9a-4e0b-4cac-8ebf-e5e015726723', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => ''], + ['errorCode' => 'InvalidNetworkId.NotFound', 'errorMessage' => 'Network not found', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'ModifyNetworkAttribute', + 'summary' => 'Modifies the network information.', + 'description' => '- Rate limit: 100 requests per second.'."\n" + ."\n" + .'- up to 5 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyNetworkAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyNetworkAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifyNetworkInterfaceAttribute' => [ + 'summary' => 'Modifies the attributes of an elastic network interface (ENI), such as its name and description.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => true, 'example' => 'eni-5f6533jbifugr5fo***', 'title' => ''], + ], + [ + 'name' => 'NetworkInterfaceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the ENI. The name must be 1 to 128 characters in length, The name cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 128, 'minLength' => 1, 'required' => false, 'example' => 'test-01', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description. The description must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 1, 'required' => false, 'example' => 'testDescription', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', + ], + ], + ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'InvalidEniId.NotFound', 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.EniServiceManaged', 'errorMessage' => 'The eni is managed by service.', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEniStatus', 'errorMessage' => 'Current eni status does not support this operation. ', 'description' => ''], + ['errorCode' => 'InvalidOperation.InvalidEniType', 'errorMessage' => 'The type of eni does not support this operation.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F3F3570-E721-53F6-853F-37B7725AC6CB\\",\\n \\"DeviceIds\\": [\\n \\"[\'b-5qco9b10iei79z48phno4bmsr\']\\"\\n ],\\n \\"ResourceDetailInfos\\": [\\n {\\n \\"RegionID\\": \\"cn-chongqing-1\\",\\n \\"ID\\": \\"h-uf6009zoa6hdbjyqxcn1\\",\\n \\"IP\\": \\"10.152.196.36\\",\\n \\"Server\\": \\"ens-nc2\\",\\n \\"Type\\": \\"ens.ac6.large\\",\\n \\"Status\\": \\"Running\\",\\n \\"Mac\\": \\"24:0B:88:04:71:E0\\",\\n \\"ISP\\": \\"telecom\\"\\n }\\n ],\\n \\"OrderId\\": \\"b3b5bb9a-4e0b-4cac-8ebf-e5e015726723\\"\\n}","type":"json"}]', - 'title' => 'RescaleDeviceService', - ], - 'DescribeDeviceService' => [ - 'summary' => 'Queries the properties of instances and virtual devices in a specific edge application.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ModifyNetworkInterfaceAttribute', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyNetworkInterfaceAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyNetworkInterfaceAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifyPrepayInstanceSpec' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'ServiceId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => 'Service ID', - 'description' => 'Service ID'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-cxxxxx', - ], + 'schema' => ['description' => 'The ID of the instance that you want to upgrade or downgrade.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'i-bp67acfmxazb4p****'], ], [ - 'name' => 'InstanceId', + 'name' => 'InstanceType', 'in' => 'query', + 'schema' => ['description' => 'The updated configuration.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'ens.sn1.tiny'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5sg1owx0g4ojy66ab2tez77r2', - ], + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'FD94C8E8-128E-525C-A0C3-60E063B70330'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'ModifyPrepayInstanceSpec', + 'summary' => 'Upgrades or downgrades the instance type of a subscription Edge Node Service (ENS) instance. The new instance type takes effect for the remaining lifecycle of the instance.', + 'changeSet' => [ + ['createdAt' => '2024-08-19T11:59:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-03-15T02:26:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyPrepayInstanceSpec'], ], + ], + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chongqing-11', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyPrepayInstanceSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FD94C8E8-128E-525C-A0C3-60E063B70330\\"\\n}","type":"json"}]', + ], + 'ModifySecurityGroupAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AppId', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'a2bac6f4-75dc-455e-8389-2dc8e47526d3', - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'EnsRegionId', + 'name' => 'SecurityGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter does not take effect.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chongqing-10', - ], + 'schema' => ['description' => 'The name of the security group. The name of a bucket must meet the following requirements:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + ."\n" + .'- The name must start with a letter but cannot start with http\\:// or https\\://.'."\n" + ."\n" + .'- The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'maxLength' => 128, 'minLength' => 2, 'required' => false, 'example' => 'example', 'title' => ''], ], [ - 'name' => 'OrderId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2661b1dd-3453-418d-8182-bb34f79e8d3c', - ], + 'schema' => ['description' => 'The description of the security group.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 2, 'required' => false, 'example' => 'testDescription', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3A535110-3EE3-5EC5-B1ED-10B7067A1FC8', - ], - 'ResourceDetailInfos' => [ - 'description' => 'The information about the devices.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Equipment information.', - 'type' => 'object', - 'properties' => [ - 'RegionID' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-jiaozuo-2', - ], - 'ID' => [ - 'description' => 'The ID of the cloud device.'."\n", - 'type' => 'string', - 'example' => 'h-uf6009zoaexs5pefypbo', - ], - 'IP' => [ - 'description' => 'The IP address.'."\n", - 'type' => 'string', - 'example' => '120.27.219.219', - ], - 'Server' => [ - 'description' => 'The server name of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'ens-nc2', - ], - 'Status' => [ - 'description' => 'The status of the device.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Type' => [ - 'description' => 'The type of the device.'."\n", - 'type' => 'string', - 'example' => 'ens.ac6.large', - ], - 'Mac' => [ - 'description' => 'The media access control (MAC) address of the device.'."\n", - 'type' => 'string', - 'example' => 'AA:BB:77:88:99:03', - ], - 'ISP' => [ - 'description' => 'The Internet service provider (ISP).'."\n", - 'type' => 'string', - 'example' => 'cmcc', - ], - 'DeviceName' => [ - 'description' => 'The name of the device.'."\n", - 'type' => 'string', - 'example' => '5JhF100NEgdBcpNren32', - ], - 'ImageID' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'm-2ze40oyhjorpyw61k7be', - ], - ], - ], - ], - 'AppStatus' => [ - 'description' => 'The status information of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'Phase' => [ - 'description' => 'The status of the application. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'Three intermediate states:'."\n" - ."\n" - .'* CREATING'."\n" - .'* UPDATING'."\n" - .'* DELETING'."\n" - ."\n" - .'Four final states:'."\n" - ."\n" - .'* CREATE_FAILED'."\n" - .'* UPDATE_FAILED'."\n" - .'* DELETE_FAILED'."\n" - .'* RUNNING'."\n", - 'type' => 'string', - 'example' => 'CREATING', - ], - 'StatusDescrip' => [ - 'description' => 'The description of the application status.'."\n", - 'type' => 'string', - 'example' => 'Creating in progress'."\n", - ], - 'UpdateTime' => [ - 'description' => 'The time when the status was last updated.'."\n", - 'type' => 'string', - 'example' => '2021-01-26T05:04Z', - ], - ], - ], - 'AppMetaData' => [ - 'description' => 'The basic properties of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '97a32f2a-aa2c-436a-b19c-05b20d258618', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'iotx-api-admin', - ], - 'AppStableVersion' => [ - 'description' => 'The stable version number of the application.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'AppType' => [ - 'description' => 'The type of the application. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'* Common'."\n" - .'* Scheduler'."\n", - 'type' => 'string', - 'example' => 'Common', - ], - 'ClusterName' => [ - 'description' => 'The name of the application cluster.'."\n", - 'type' => 'string', - 'example' => 'poc', - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created.'."\n", - 'type' => 'string', - 'example' => '2022-03-03T03:42:11', - ], - 'Description' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'example' => 'test application'."\n", - ], - ], - ], - 'ResourceInfos' => [ - 'description' => 'The information about the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Resource information.', - 'type' => 'object', - 'properties' => [ - 'AppVersion' => [ - 'description' => 'The version of the application.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'AreaCode' => [ - 'description' => 'The area code.'."\n", - 'type' => 'string', - 'example' => '410800', - ], - 'AreaName' => [ - 'description' => 'The region name.'."\n", - 'type' => 'string', - 'example' => 'Jiaozuo City, Henan Province, Central China'."\n", - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created.'."\n", - 'type' => 'string', - 'example' => '2019-10-02T08:26Z', - ], - 'DeviceInfos' => [ - 'description' => 'The information about the devices.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Equipment information.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the device.'."\n", - 'type' => 'string', - 'example' => 'test-api', - ], - 'Network' => [ - 'description' => 'The network information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Network information.', - 'type' => 'object', - 'properties' => [ - 'ContainerPorts' => [ - 'description' => 'The port of the container.'."\n", - 'type' => 'string', - 'example' => '10000-10010', - ], - 'ExternalIp' => [ - 'description' => 'The public IP address.'."\n", - 'type' => 'string', - 'example' => '39.105.62.120', - ], - 'HostPorts' => [ - 'description' => 'The port range.'."\n", - 'type' => 'string', - 'example' => '80-8080', - ], - 'Protocol' => [ - 'description' => 'The protocol of the gateway. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - ], - ], - ], - 'Status' => [ - 'description' => 'The status.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - ], - ], - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-5s9boobrmh5000kv4jmi0oeai', - ], - 'InstanceStatus' => [ - 'description' => 'The status of the instance.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'InternalIps' => [ - 'description' => 'The internal IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'IP information.', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The internal IP address.'."\n", - 'type' => 'string', - 'example' => '10.0.2.3', - ], - ], - ], - ], - 'PublicIps' => [ - 'description' => 'The public IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Public IP address.', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The public IP address.'."\n", - 'type' => 'string', - 'example' => '122.13.173.137', - ], - ], - ], - ], - 'RegionCode' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-jiaozuo-2', - ], - 'RegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-jiaozuo-2'."\n", - ], - 'RegionName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'China Jiaozuo-2'."\n", - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'ModifySecurityGroupAttribute', + 'summary' => 'Modifies the information about a security group.', + 'description' => '- Rate limit: 100 requests per second.'."\n" + ."\n" + .'- up to 5 times per second per user.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySecurityGroupAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifySecurityGroupAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifySnapshotAttribute' => [ + 'summary' => 'Modifies the information about a snapshot.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the snapshot.', 'type' => 'string', 'required' => true, 'example' => 'sp-bp199lyny9bb47pa****', 'title' => ''], + ], + [ + 'name' => 'SnapshotName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the snapshot. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'The name cannot start with **auto** because snapshots whose names start with auto are recognized as automatic snapshots.', 'type' => 'string', 'required' => false, 'example' => 'testSnapshotName', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the snapshot. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testDescription', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter SnapshotId that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'SnapshotIdNotFound', 'errorMessage' => 'The input parameter SnapshotId that is not found.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A535110-3EE3-5EC5-B1ED-10B7067A1FC8\\",\\n \\"ResourceDetailInfos\\": [\\n {\\n \\"RegionID\\": \\"cn-jiaozuo-2\\",\\n \\"ID\\": \\"h-uf6009zoaexs5pefypbo\\",\\n \\"IP\\": \\"120.27.219.219\\",\\n \\"Server\\": \\"ens-nc2\\",\\n \\"Status\\": \\"Running\\",\\n \\"Type\\": \\"ens.ac6.large\\",\\n \\"Mac\\": \\"AA:BB:77:88:99:03\\",\\n \\"ISP\\": \\"cmcc\\",\\n \\"DeviceName\\": \\"5JhF100NEgdBcpNren32\\",\\n \\"ImageID\\": \\"m-2ze40oyhjorpyw61k7be\\"\\n }\\n ],\\n \\"AppStatus\\": {\\n \\"Phase\\": \\"CREATING\\",\\n \\"StatusDescrip\\": \\"创建中\\",\\n \\"UpdateTime\\": \\"2021-01-26T05:04Z\\"\\n },\\n \\"AppMetaData\\": {\\n \\"AppId\\": \\"97a32f2a-aa2c-436a-b19c-05b20d258618\\",\\n \\"AppName\\": \\"iotx-api-admin\\",\\n \\"AppStableVersion\\": \\"v1\\",\\n \\"AppType\\": \\"Common\\",\\n \\"ClusterName\\": \\"poc\\",\\n \\"CreateTime\\": \\"2022-03-03T03:42:11\\",\\n \\"Description\\": \\"测试应用\\"\\n },\\n \\"ResourceInfos\\": [\\n {\\n \\"AppVersion\\": \\"v1\\",\\n \\"AreaCode\\": \\"410800\\",\\n \\"AreaName\\": \\"华中,河南省,焦作市\\",\\n \\"CreateTime\\": \\"2019-10-02T08:26Z\\",\\n \\"DeviceInfos\\": [\\n {\\n \\"Name\\": \\"test-api\\",\\n \\"Network\\": [\\n {\\n \\"ContainerPorts\\": \\"10000-10010\\",\\n \\"ExternalIp\\": \\"39.105.62.120\\",\\n \\"HostPorts\\": \\"80-8080\\",\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"Status\\": \\"Running\\"\\n }\\n ],\\n \\"InstanceId\\": \\"i-5s9boobrmh5000kv4jmi0oeai\\",\\n \\"InstanceStatus\\": \\"Running\\",\\n \\"InternalIps\\": [\\n {\\n \\"Ip\\": \\"10.0.2.3\\"\\n }\\n ],\\n \\"PublicIps\\": [\\n {\\n \\"Ip\\": \\"122.13.173.137\\"\\n }\\n ],\\n \\"RegionCode\\": \\"cn-jiaozuo-2\\",\\n \\"RegionId\\": \\"cn-jiaozuo-2\\\\n\\",\\n \\"RegionName\\": \\"中国焦作-2\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeDeviceService', - ], - 'DescribeDataPushResult' => [ - 'summary' => 'Queries the push status of application data files on Edge Node Service (ENS) nodes.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ModifySnapshotAttribute', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:40.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySnapshotAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:ModifySnapshotAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ModifySnatEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221946', + 'abilityTreeNodes' => ['FEATUREensHCNR8B'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'SnatEntryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', - ], + 'schema' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'snat-5tfjp36fsrb36zs36faj0****', 'title' => ''], ], [ - 'name' => 'DataNames', + 'name' => 'SnatEntryName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the data file. Separate multiple names with commas (,). By default, all data files are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '159828628258496/mirror_file/game-2553efe7-7bf8-40fb-a6e7-09c9c00a992a.tar', - ], + 'schema' => ['description' => 'The name of the SNAT entry. The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 128, 'required' => false, 'example' => 'test0', 'title' => ''], ], [ - 'name' => 'DataVersions', + 'name' => 'IspAffinity', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the data file. Separate multiple numbers with commas (,). By default, all versions of data files are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '90396', - ], + 'schema' => ['description' => 'Specifies whether to enable carrier affinity.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'MinDate', + 'name' => 'EipAffinity', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-02-15', - ], + 'schema' => ['description' => 'Specifies whether to enable IP affinity. Default value: true. Valid values:'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'> Description After you enable IP affinity, if multiple EIPs are associated with an SNAT entry, one client uses the same EIP to for communication. If IP affinity is disabled, the client uses a random EIP for communication.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'MaxDate', + 'name' => 'SnatIp', 'in' => 'query', + 'schema' => ['description' => 'Separate multiple EIPs in the SNAT entry with commas (,).', 'type' => 'string', 'required' => false, 'example' => '120.XXX.XXX.71', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-02-20', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'InvalidSnatEntryId.NotFound', 'errorMessage' => 'The specified snatEntry is not found.', 'description' => 'The specified SNAT does not exist. Check whether the input parameters are correct.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'Snat entry status blocked this operation.', 'description' => 'Snat status is not correct, please check Snat status.'], + ['errorCode' => 'Forbidden.SnatIpUsedInDnat', 'errorMessage' => 'The snatIp is already in use in the DNAT rule.', 'description' => 'The snatIp is already in use in the DNAT rule. Please check.'], + ['errorCode' => 'InvalidSnatIp.NotFound', 'errorMessage' => 'Specified SnatIp does not found on the NAT Gateway.', 'description' => 'The public IP address is not in the NAT Gateway.'], + ['errorCode' => 'QuotaExceeded.SnatIp', 'errorMessage' => 'Public ip number exceeds quota.', 'description' => 'The number of public IP addresses exceeds the limit.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Modify an SNAT entry ', + 'summary' => 'Invoke the ModifySnatEntry API to modify an SNAT entry.', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:29.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySnatEntry'], + ], + ], + 'ramActions' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifySnatEntry', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'NatGatewaySnatEntry', 'arn' => 'acs:ens::{#accountId}:natgatewaysnatentry/{#SnatEntryId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', + ], + 'ModifyVSwitchAttribute' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PageSize', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensD2JHRI'], + ], + 'parameters' => [ + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'vSwitch ID.', 'type' => 'string', 'required' => true, 'example' => 'n-****', 'title' => ''], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => ['description' => 'vSwitch name.'."\n" + ."\n" + .'- Must be 2 to 128 characters long. Can contain letters, digits, Chinese characters, underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'- Must start with a letter or a Chinese character. Cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 128, 'minLength' => 2, 'required' => false, 'example' => 'Test-switch', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'Description.'."\n" + ."\n" + .'- Must be 2 to 256 characters in length and can contain English or Chinese characters.'."\n" + ."\n" + .'- Cannot start with http\\:// or https\\://.', 'type' => 'string', 'maxLength' => 256, 'minLength' => 2, 'required' => false, 'example' => 'this is my first vswitch', 'title' => ''], + ], + [ + 'name' => 'EnableIPv6', 'in' => 'query', + 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'Ipv6CidrBlock', + 'in' => 'query', + 'schema' => ['type' => 'string', 'example' => '2408:XXXX:0:a600::/110', 'description' => '', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of entries per page. This parameter is optional if you want to return the push status of all data files.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'title' => '', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'IncorrectVSwitchStatus', 'errorMessage' => 'The current status of virtual switch does not support this operation.', 'description' => 'The specified virtual switch is not available and cannot operate.'], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'Specified virtual switch does not exist.', 'description' => 'The specified virtual switch ID does not exist.'], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'Network.SecondaryCidrNotFound', 'errorMessage' => 'The network secondary CIDR is not found.', 'description' => ''], + ['errorCode' => 'VSwitch.Ipv6AlreadyEnabled', 'errorMessage' => 'IPv6 is already enabled on the vSwitch.', 'description' => ''], + ['errorCode' => 'VSwitch.Ipv6CidrBlockOverlapped', 'errorMessage' => 'The specified IPv6 CIDR block overlaps with existing vSwitches.', 'description' => ''], + ['errorCode' => 'VSwitch.CidrHasUsedIps', 'errorMessage' => 'Unreleased IP addresses exist in the CIDR block.', 'description' => ''], + ['errorCode' => 'VSwitch.InvalidIpv6CidrBlock', 'errorMessage' => 'Invalid IPv6 CIDR value.', 'description' => ''], + ], + ], + 'title' => 'ModifyVSwitchAttribute', + 'summary' => 'Call ModifyVSwitchAttribute to modify network information.', + 'description' => '- API call frequency: 100 calls per second.'."\n" + ."\n" + .'- Per-user call frequency: 5 calls per second.', + 'changeSet' => [ + ['createdAt' => '2021-03-30T06:53:03.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyVSwitchAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyVSwitchAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'MountInstanceSDG' => [ + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'RegionIds', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '253554', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The IDs of ENS nodes. Separate multiple IDs with commas (,). By default, all ENS nodes are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-wuhan-telecom_unicom_cmcc-2,cn-jiaozuo-2', + 'description' => 'The IDs of the instances.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'required' => false, 'example' => '["aic-1", "aic-2", "aic-3"]', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'SDGId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PushResults' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], + 'Data' => [ + 'description' => 'The returned data object.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'PushResult' => [ - 'description' => 'The push results of data files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the data file.'."\n", - 'type' => 'string', - 'example' => 'gcs-pre-websocket-eip-telecom', - ], - 'StatusStatS' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the failed task.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'StatusStat' => [ - 'description' => 'The push status of data files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RegionIdCount' => [ - 'description' => 'The total number of ENS nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RegionIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RegionId' => [ - 'description' => 'The push status of data files on the ENS node.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-wuxi-5', - ], - 'StartTime' => [ - 'description' => 'The start time of the push operation. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-12-28T16:00:00Z', - ], - 'StatusDescrip' => [ - 'description' => 'The description of the status.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'UpdateTime' => [ - 'description' => 'The time when the status was last updated. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-12-07T02:37:10Z', - ], - ], - ], - ], - ], - ], - 'Status' => [ - 'description' => 'The push status. The value is of the enumeration type. Valid values: SUCCESS FAILED PUSHING'."\n", - 'type' => 'string', - 'example' => 'FAILED', - ], - ], - ], - ], + 'ErrMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Version' => [ - 'description' => 'The version number of the data file.'."\n", - 'type' => 'string', - 'example' => 'standard', - ], + 'title' => '', + 'example' => '', ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- **true**: All tasks are successful.'."\n" + ."\n" + .'- **false**: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'LimitExceeded.SecurityGroup', - 'errorMessage' => 'The number of securityGroup exceeds the limit.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"PushResults\\": {\\n \\"PushResult\\": [\\n {\\n \\"Name\\": \\"gcs-pre-websocket-eip-telecom\\",\\n \\"StatusStatS\\": {\\n \\"StatusStat\\": [\\n {\\n \\"RegionIdCount\\": 2,\\n \\"RegionIds\\": {\\n \\"RegionId\\": [\\n {\\n \\"RegionId\\": \\"cn-wuxi-5\\",\\n \\"StartTime\\": \\"2021-12-28T16:00:00Z\\",\\n \\"StatusDescrip\\": \\"Success\\",\\n \\"UpdateTime\\": \\"2021-12-07T02:37:10Z\\"\\n }\\n ]\\n },\\n \\"Status\\": \\"FAILED\\"\\n }\\n ]\\n },\\n \\"Version\\": \\"standard\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"TotalCount\\": 6\\n}","type":"json"}]', - 'title' => 'DescribeDataPushResult', - ], - 'DescribeDataDownloadURL' => [ - 'summary' => 'Queries the download URLs of application data on file servers and returns the file servers on which data is pushed.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'MountInstanceSDG', + 'summary' => 'Deploys the SDG that has been attached to instances on the corresponding Android in Container (AIC) instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MountInstanceSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:MountInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'PreloadRegionSDG' => [ + 'summary' => 'Preload the SDG.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '226289', + 'abilityTreeNodes' => ['FEATUREens7UORYM'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'SDGId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '474bdef0-d149-4695-abfb-52912d9143f0', - ], + 'schema' => ['description' => 'The ID of the SDG for which data is preloaded.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], ], [ - 'name' => 'DataName', + 'name' => 'DestinationRegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The name of the data file.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the destination nodes.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the destination node.', 'type' => 'string', 'required' => false, 'example' => 'cn-foshan-4', 'title' => ''], 'required' => true, - 'example' => 'mirror_file/pk-1642597182026-878199448832413.tar', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DataVersion', + 'name' => 'Namespaces', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The version number of the data file.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7895', + 'description' => 'An array that consists of queried namespaces.', + 'type' => 'array', + 'items' => ['description' => 'The namespace.', 'type' => 'string', 'required' => false, 'example' => ' \'default\'', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ServerFilterStrategy', + 'name' => 'RedundantNum', 'in' => 'query', - 'schema' => [ - 'description' => 'The condition that you want to use to filter file servers. You can specify multiple canary release policies. By default, all resources are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"name\\": \\"ScheduleToRegionId\\",\\"parameters\\":{\\"operator\\": \\"In\\",\\"values\\": [\\"cn-shijiazhuang-telecom_unicom_cmcc\\"]}}', - ], + 'schema' => ['description' => 'The number of redundant replicas to support rapid deployment.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '20', 'minimum' => '1', 'title' => '', 'example' => '2'], ], [ - 'name' => 'ExpireTimeout', + 'name' => 'DiskType', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is reserved.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The disk type of the shared disk to be created:'."\n" + ."\n" + .'- standard (standard disk).'."\n" + ."\n" + .'- rbd (rbd disk).'."\n" + ."\n" + .'> * If no shared disk type is specified, a standard disk is created by default.', 'type' => 'string', 'required' => false, 'example' => 'rbd', 'title' => ''], ], ], 'responses' => [ @@ -47223,197 +34400,208 @@ 'schema' => [ 'type' => 'object', 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], 'Data' => [ - 'description' => 'The download URLs of data files.'."\n", + 'description' => 'The returned data object.', 'type' => 'object', 'properties' => [ - 'ServerList' => [ - 'description' => 'The file servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Host' => [ - 'description' => 'The host address of the file server.'."\n", - 'type' => 'string', - 'example' => '1.1.1.1:8080', - ], - 'RegionId' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'example' => 'cn-chenzhou-5', + 'Message' => ['description' => 'The message returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about the failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the failed task.', + 'type' => 'object', + 'properties' => [ + 'ErrorMessage' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'region not found', 'title' => ''], + 'DestinationRegionId' => ['description' => 'The ID of the destination node.', 'type' => 'string', 'example' => 'cn-hangzhou-xxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Url' => [ - 'description' => 'The download URL of the data file.'."\n", - 'type' => 'string', - 'example' => '/file/1450088842124331/97a32f2a-aa2c-436a-b19c-05b20d258618/f0313053530fc727f81b7d03fad93cd2/e4c2e8edac362acab7123654b9e73432?ak=edgepaas-innerapi-daily&ts=1611229454&sign=Yycbax%2F4OsTgm6BLoxR6lPs5gKE%3D', - ], - 'ExpireTime' => [ - 'description' => 'The time when the data file expires. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-12-10T03:36:27Z', - ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- true: All tasks are successful.'."\n" + ."\n" + .'- false: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Message' => [ - 'description' => 'The response message. Success is returned for a successful request.'."\n", - 'type' => 'string', - 'example' => 'Success', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": {\\n \\"ServerList\\": [\\n {\\n \\"Host\\": \\"1.1.1.1:8080\\",\\n \\"RegionId\\": \\"cn-chenzhou-5\\"\\n }\\n ],\\n \\"Url\\": \\"/file/1450088842124331/97a32f2a-aa2c-436a-b19c-05b20d258618/f0313053530fc727f81b7d03fad93cd2/e4c2e8edac362acab7123654b9e73432?ak=edgepaas-innerapi-daily&ts=1611229454&sign=Yycbax%2F4OsTgm6BLoxR6lPs5gKE%3D\\",\\n \\"ExpireTime\\": \\"2021-12-10T03:36:27Z\\"\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": 0,\\n \\"Message\\": \\"Success\\"\\n}","type":"json"}]', - 'title' => 'DescribeDataDownloadURL', - ], - 'DescribeDataDistResult' => [ - 'summary' => 'Queries the distribution status of data files on edge instances of an application.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Preload SDG', + 'changeSet' => [ + ['createdAt' => '2024-11-07T03:26:00.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PreloadRegionSDG'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:PreloadRegionSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrorMessage\\": \\"region not found\\",\\n \\"DestinationRegionId\\": \\"cn-hangzhou-xxx\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'PrepareUpload' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '120703', + 'abilityTreeNodes' => ['FEATUREensK8PUWN'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'BucketName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', - ], + 'schema' => ['description' => 'The bucket name.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'test'], ], [ - 'name' => 'DataNames', + 'name' => 'ClientIp', 'in' => 'query', + 'schema' => ['description' => 'The client\'s IP address. Use this parameter when the client\'s IP address differs from the IP address used to call the API. For example, a server obtains authorization and then sends it to a client.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '180.166.XX.XX'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the data file. Separate multiple names with commas (,). By default, all data files are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloudgame-shanghai/deploy_app/20220215/1644895216305ACG_M21B-ota-1.1.2-D-0215.0628_V1_0002-pre-weiduan.zip', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968'], + 'BucketName' => ['description' => 'The name of the physical storage. Pass this value when you use the OSS SDK.', 'type' => 'string', 'title' => '', 'example' => 'test-xxxxxx'], + 'Endpoint' => ['description' => 'The endpoint. Pass this value when you use the OSS SDK.', 'type' => 'string', 'title' => '', 'example' => 'eos.aliyuncs.com'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'Specified parameter %s is not valid', 'description' => ''], + ['errorCode' => 'InvalidaliUid', 'errorMessage' => 'Specified parameter aliUid is not valid', 'description' => ''], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid', 'description' => ''], + ['errorCode' => 'InvalidClientIp', 'errorMessage' => 'Specified parameter ClientIp is not valid', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'Auth is not valid.', 'description' => 'This account does not have access permissions.'], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], [ - 'name' => 'DataVersions', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the data file. Separate multiple numbers with commas (,). By default, all versions of data files are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4885', - ], + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], + ], + ], + 'title' => 'PrepareUpload', + 'summary' => 'Prepares for an upload and retrieves information about the physical storage location.', + 'changeSet' => [ + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '250', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PrepareUpload'], ], + ], + 'ramActions' => [ [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of ENS instances. Separate multiple IDs with commas (,). By default, all instances are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-7ecpqvkicnchxccozrp,i-6ecpqvkicnchxccozrp', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:PrepareUpload', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"BucketName\\": \\"test-xxxxxx\\",\\n \\"Endpoint\\": \\"eos.aliyuncs.com\\"\\n}","type":"json"}]', + ], + 'PushApplicationData' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MinDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-01-02', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '1670', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'MaxDate', + 'name' => 'Data', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-02-01', - ], + 'schema' => ['description' => 'The data files that you want to push. The value must be a JSON string.', 'type' => 'string', 'required' => true, 'example' => '[{\\"name\\":\\"app01\\", \\"version\\":\\"1.0\\", \\"size\\":100,\\"archiveType\\":\\"tar.gz\\", \\"md5\\":\\"\\", \\"url\\":\\"http://xxxx\\",\\"timeout\\": 1000 }, { \\"name\\":\\"app02\\", \\"version\\":\\"1.1\\", \\"size\\":10,\\"archiveType\\":\\"zip\\", \\"md5\\":\\"xxxx\\", \\"url\\":\\"http://xxxxxx\\",\\"timeout\\": 1000 }]', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1. This parameter is optional if you want to return the push status of all data files.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. This parameter is optional if you want to return the distribution status of all data files.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'This parameter does not take effect.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800', 'title' => ''], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'PushStrategy', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the ENS nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[\\"cn-xiangyang-19\\"]', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The push policy in the canary release environment. The value must be a JSON string. You can specify multiple push policies. By default, all data files are pushed.', 'type' => 'string', 'required' => false, 'example' => '{\\"name\\": \\"ScheduleToRegionId\\", \\"parameters\\":{ \\"operator\\": \\"In\\", \\"values\\": [\\"cn-chegndu-telecom-4\\", \\"cn-shanghai-cmcc-4\\"] }}', 'title' => ''], ], ], 'responses' => [ @@ -47421,441 +34609,458 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DistResults' => [ + 'PushResults' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DistResult' => [ - 'description' => 'The distribution status of data files on edge instances.'."\n", + 'PushResult' => [ + 'description' => 'The push results of data files.', 'type' => 'array', 'items' => [ - 'description' => 'The data distribution status of edge resource instances.', + 'description' => 'The execution result of the pre push operation on the data file.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the data file.'."\n", - 'type' => 'string', - 'example' => 'gcs-prod-websocket-eip-unicom', - ], - 'StatusStats' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StatusStat' => [ - 'description' => 'The distribution status statistics.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceCount' => [ - 'description' => 'The number of associated edge instances.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'Instances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Instance' => [ - 'description' => 'The distribution status of the edge instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The distribution status of edge resource instances.', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the instance'."\n", - 'type' => 'string', - 'example' => 'i-5qzje8f5un1wmi341m2yetaxv', - ], - 'StartTime' => [ - 'description' => 'The start time of the distribution. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-11-19T07:24:52Z', - ], - 'StatusDescrip' => [ - 'description' => 'The description of the distribution status.'."\n", - 'type' => 'string', - 'example' => 'SUCCESS'."\n", - ], - 'UpdateTime' => [ - 'description' => 'The time when the distribution status was last updated. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-10-11T02:38:19Z', - ], - ], - ], - ], - ], - ], - 'Status' => [ - 'description' => 'The distribution status. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'* SUCCESS: The distribution is successful.'."\n" - .'* FAILED: The distribution failed.'."\n" - .'* DISTING: The data is being distributed.'."\n" - .'* POD_RESTARTING: The idle pod is being restarted.'."\n" - .'* DELETED: The data is cleared or removed.'."\n", - 'type' => 'string', - 'example' => 'SUCCESS', - ], - ], - ], - ], - ], - ], - 'Version' => [ - 'description' => 'The version number of the data file.'."\n", - 'type' => 'string', - 'example' => 'standard', - ], + 'Name' => ['description' => 'The name of the data file.', 'type' => 'string', 'example' => 'gcs-pre-websocket-eip-telecom', 'title' => ''], + 'ResultCode' => ['description' => 'The push result. The value is of the enumeration type. Valid values:'."\n" + ."\n" + .'- 0: The push operation is successful.'."\n" + ."\n" + .'- 100: The push operation has been performed and the file is pushed.'."\n" + ."\n" + .'- 200: The push operation has been performed and the file is being pushed to specific file servers.'."\n" + ."\n" + .'- 300: The push operation failed. You must trigger the push operation again. The ResultDescrip parameter indicates the error description.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'ResultDescrip' => ['description' => 'The description of the push status.', 'type' => 'string', 'example' => 'Succeeded', 'title' => ''], + 'Version' => ['description' => 'The version number of the data file.', 'type' => 'string', 'example' => 'standard', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '50373E71-7710-4620-8AAB-133CCE49451C', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'LimitExceeded.SecurityGroup', - 'errorMessage' => 'The number of securityGroup exceeds the limit.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DistResults\\": {\\n \\"DistResult\\": [\\n {\\n \\"Name\\": \\"gcs-prod-websocket-eip-unicom\\",\\n \\"StatusStats\\": {\\n \\"StatusStat\\": [\\n {\\n \\"InstanceCount\\": \\"10\\",\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"InstanceId\\": \\"i-5qzje8f5un1wmi341m2yetaxv\\",\\n \\"StartTime\\": \\"2021-11-19T07:24:52Z\\",\\n \\"StatusDescrip\\": \\"成功\\",\\n \\"UpdateTime\\": \\"2021-10-11T02:38:19Z\\"\\n }\\n ]\\n },\\n \\"Status\\": \\"SUCCESS\\"\\n }\\n ]\\n },\\n \\"Version\\": \\"standard\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"50373E71-7710-4620-8AAB-133CCE49451C\\",\\n \\"TotalCount\\": 49\\n}","type":"json"}]', - 'title' => 'DescribeDataDistResult', - ], - 'DistApplicationData' => [ - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PushResults\\": {\\n \\"PushResult\\": [\\n {\\n \\"Name\\": \\"gcs-pre-websocket-eip-telecom\\",\\n \\"ResultCode\\": 100,\\n \\"ResultDescrip\\": \\"Succeeded\\",\\n \\"Version\\": \\"standard\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'PushApplicationData', + 'summary' => 'Pushes the business or service data of an application to file servers.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PushApplicationData'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:PushApplicationData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'PutBucket' => [ + 'summary' => 'Create a bucket for collaborative storage.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '18005', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '119478', + 'abilityTreeNodes' => ['FEATUREens8BRN2W'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'BucketName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. To obtain the application ID, call the ListApplications operation.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', - ], + 'schema' => ['description' => 'Bucket name. Must be 3 to 50 characters long. Use only lowercase letters, numbers, and hyphens (-). Cannot start or end with a hyphen.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'my-bucket'], ], [ - 'name' => 'Data', + 'name' => 'LogicalBucketType', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of data files that you want to distribute. The value must be a JSON string.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '[{\\"name\\":\\"app01\\", \\"version\\":\\"1.0\\", \\"destPath\\":\\"/root/installed\\", \\"decompress\\":true, \\"targetDirName\\":\\"target01\\", \\"fileMode\\":755, \\"timeout\\":1000 }, { \\"name\\":\\"app02\\", \\"version\\":\\"1.1\\", \\"destPath\\":\\"/tmp/test.txt\\", \\"decompress\\":false }]', - ], + 'schema' => ['description' => 'The logical type of the bucket. Valid values: sink: A sink bucket on a specified node. standard: A standard global bucket. This is the default value.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'sink'], ], [ - 'name' => 'DistStrategy', + 'name' => 'Comment', 'in' => 'query', - 'schema' => [ - 'description' => 'The canary release policy. The value must be a JSON string. You can specify multiple distribution policies. By default, all data files are distributed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"name\\":\\"ScheduleToAllByMatchExpressions\\",\\"parameters\\":{\\"match_expressions\\":[{\\"key\\":\\"region_id\\",\\"operator\\":\\"In\\",\\"values\\":[\\"cn-wuhan-telecom_unicom_cmcc-2\\"]}]}}', - ], + 'schema' => ['description' => 'Comment. Up to 128 characters, including letters, digits, Chinese characters, and emojis.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'this is comment'], + ], + [ + 'name' => 'BucketAcl', + 'in' => 'query', + 'schema' => ['description' => 'Bucket permission type: private (default). public-read-write: Allows public read and write access. public-read: Allows public read access.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'private'], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'Edge zone ID. If not specified, the global default edge zone is used.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'xx-xx-xx'], + ], + [ + 'name' => 'DispatchScope', + 'in' => 'query', + 'schema' => ['description' => 'Scheduling scope. Valid values:'."\n" + ."\n" + .'- domestic (within China)'."\n" + ."\n" + .'- outside China'."\n" + ."\n" + .'> You must specify this parameter when creating a global bucket.', 'type' => 'string', 'required' => false, 'example' => 'sink', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'DistInstanceTotalCount' => [ - 'description' => 'The total number of ENS instance IDs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DistInstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DistInstanceId' => [ - 'description' => 'The list of ENS instance IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-xxx', - ], - ], - ], - ], - 'DistResults' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DistResult' => [ - 'description' => 'The distribution result of the data file.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ResultDescrip' => [ - 'description' => 'The description of the distribution result.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'Version' => [ - 'description' => 'The version number of the data file.'."\n", - 'type' => 'string', - 'example' => 'standard', - ], - 'ResultCode' => [ - 'description' => 'The error code. The value is of the enumerated data type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '400', - ], - 'Name' => [ - 'description' => 'The name of the data file.'."\n", - 'type' => 'string', - 'example' => 'gcs-prod-websocket-eip-unicom', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => '85123E71-7710-4620-8AAB-133CCE49EC83'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'TooManyBuckets', 'errorMessage' => 'The number of buckets created exceeds the limit.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'Specified parameter %s is not valid.', 'description' => ''], + ['errorCode' => 'UnSupportedCity', 'errorMessage' => 'The city is not supported.', 'description' => ''], + ['errorCode' => 'BucketAlreadyExists', 'errorMessage' => 'The bucket already exists or is occupied by other users.', 'description' => ''], + ['errorCode' => 'InvalidEngineId', 'errorMessage' => 'The engineId does not belong to the city.', 'description' => ''], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'InvalidComment', 'errorMessage' => 'Specified parameter Comment is not valid.', 'description' => ''], + ['errorCode' => 'InvalidDataRedundancyType', 'errorMessage' => 'Specified parameter DataRedundancyType is not valid.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'EnsRegionIdIsMandatory', 'errorMessage' => 'The parameter EnsRegionId is mandatory while creating a single node bucket.', 'description' => 'EnsRegionId is a required parameter when creating a single-node bucket.'], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'OperationDenied', 'errorMessage' => 'The current ens region has not been purchased', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchEnsRegion', 'errorMessage' => 'The ens region does not exist', 'description' => ''], + ['errorCode' => 'NoSuchStorageDomain', 'errorMessage' => 'The specified storageDomain does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"DistInstanceTotalCount\\": 2,\\n \\"DistInstanceIds\\": {\\n \\"DistInstanceId\\": [\\n \\"i-xxx\\"\\n ]\\n },\\n \\"DistResults\\": {\\n \\"DistResult\\": [\\n {\\n \\"ResultDescrip\\": \\"Success\\",\\n \\"Version\\": \\"standard\\",\\n \\"ResultCode\\": 400,\\n \\"Name\\": \\"gcs-prod-websocket-eip-unicom\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DistApplicationData', - 'summary' => 'Distributes pushed data to the Edge Node Service (ENS) instances of the application. You can specify multiple canary release policies, decompress files, and restart containers.', - ], - 'CreateApplication' => [ - 'summary' => 'Creates an edge application that allows you to manage Edge Node Service (ENS) nodes in containers, bare metal instances, and virtual machines.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85123E71-7710-4620-8AAB-133CCE49EC83\\"\\n}","type":"json"}]', + 'title' => 'PutBucket', + 'changeSet' => [ + ['createdAt' => '2025-02-27T01:45:51.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-04T08:15:16.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PutBucket'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:PutBucket', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'PutBucketAcl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125217', + 'abilityTreeNodes' => ['FEATUREens44HZEV'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Template', + 'name' => 'BucketName', 'in' => 'query', - 'schema' => [ - 'description' => 'The edge application template. The value must be a JSON string that contains the following information:'."\n" - ."\n" - .'* Basic information such as the name of the application'."\n" - .'* Information such as resource specifications and network security configurations'."\n" - .'* Service specifications'."\n" - .'* Required resources'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{\\"appMetaData\\":{ \\"appName\\":\\"nginx\\", \\"clusterName\\":\\"poc\\", \\"appType\\":\\"Common\\", \\"description\\":\\"test\\" }, \\"resourceAttribute\\":{ \\"resourceType\\":\\"\\", \\"instanceSpec\\":\\"ens.sn1.tiny\\", \\"systemDiskSize\\":20, \\"dataDiskSize\\":0, \\"bandwithOut\\":10, \\"areaLevel\\":\\"National\\", \\"netSecurityStrategy\\":null, \\"initConfig\\":null }, \\"resourceSelector\\":[ { \\"count\\":1 } ], \\"workload\\":[ { \\"podCount\\":1, \\"serviceConfig\\":null, \\"name\\":\\"nginx\\", \\"podSpec\\":{ \\"containers\\":[ { \\"name\\":\\"android\\", \\"image\\":\\"edge-registry.alicdn.com/test/nginx\\" } ] }, \\"count\\":1 } ]}', - ], + 'schema' => ['description' => 'The name of the bucket.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'test'], ], [ - 'name' => 'Timeout', + 'name' => 'BucketAcl', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for asynchronous processing. Unit: seconds. Default value: 1800.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1800', - ], + 'schema' => ['description' => 'The access control list (ACL) of the bucket.'."\n" + ."\n" + .'- **public-read-write**'."\n" + ."\n" + .'- **public-read**'."\n" + ."\n" + .'- **private** (default)', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'private'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application. This is the unique identifier of the edge application.'."\n", - 'type' => 'string', - 'example' => 'd0639abf-789a-4527-b420-031d2cd9ad9b', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C0066F05-3116-4BAA-B588-52EB2E7F5D23'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', + ['errorCode' => 'Invalid%s', 'errorMessage' => 'Specified parameter %s is not valid.', 'description' => ''], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidBucketAcl', 'errorMessage' => 'Specified parameter BucketAcl is not valid.', 'description' => 'Invalid BucketAcl parameter value set.'], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], + ], + ], + 'title' => 'PutBucketAcl', + 'summary' => 'Modifies the access control list (ACL) of a bucket.', + 'changeSet' => [ + ['createdAt' => '2025-06-11T09:19:07.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-04-17T08:01:10.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-02-24T09:22:18.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PutBucketAcl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:PutBucketAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AppId\\": \\"d0639abf-789a-4527-b420-031d2cd9ad9b\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => 'CreateApplication', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0066F05-3116-4BAA-B588-52EB2E7F5D23\\"\\n}","type":"json"}]', ], - 'DeleteApplication' => [ - 'summary' => 'Releases all containers and resource instances related to a specific application in an asynchronous manner.', - 'methods' => [ - 'post', - 'get', + 'PutBucketLifecycle' => [ + 'summary' => 'You can call the PutBucketLifecycle operation to set lifecycle rules for a bucket.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '130573', + 'abilityTreeNodes' => ['FEATUREensN79QUI'], + ], + 'parameters' => [ + [ + 'name' => 'BucketName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the bucket.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'RuleId', + 'in' => 'query', + 'schema' => ['description' => 'A unique ID that identifies the rule. Maximum length is 255 bytes.'."\n" + ."\n" + .'- Omit this parameter when creating a new rule. The system generates a unique ID automatically.'."\n" + ."\n" + .'- Specify RuleId when updating an existing rule. The rule must exist. Otherwise, the call fails.', 'type' => 'string', 'required' => false, 'example' => 'b8f93xxxxx4881xxxxxc71d991', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status of the rule. Valid values:'."\n" + ."\n" + .'- **Enabled**: The system runs the rule on schedule.'."\n" + ."\n" + .'- **Disabled**: The system ignores the rule.', 'type' => 'string', 'required' => true, 'example' => 'Enabled', 'title' => ''], + ], + [ + 'name' => 'Prefix', + 'in' => 'query', + 'schema' => ['description' => 'The prefix that the rule applies to. You cannot set duplicate prefixes.'."\n" + ."\n" + .'- If you specify a prefix, the rule applies only to objects in the bucket whose names start with that prefix.'."\n" + ."\n" + .'- If you leave Prefix empty, the rule applies to all objects in the bucket.', 'type' => 'string', 'required' => false, 'example' => 'image', 'title' => ''], + ], + [ + 'name' => 'CreatedBeforeDate', + 'in' => 'query', + 'schema' => ['description' => 'The date before which objects expire. The system applies the lifecycle rule to objects last modified before this date.'."\n" + ."\n" + .'Use ISO 8601 format and UTC time. Format: yyyy-MM-ddTHH:mm:ssZ.'."\n" + ."\n" + .'> ExpirationDays and CreatedBeforeDate are mutually exclusive. Specify one.', 'type' => 'string', 'required' => false, 'example' => '2023-10-12T05:45:00Z', 'title' => ''], + ], + [ + 'name' => 'ExpirationDays', + 'in' => 'query', + 'schema' => ['description' => 'The number of days after an object\'s last modification when the lifecycle rule takes effect. Must be a positive integer greater than zero.'."\n" + ."\n" + .'> ExpirationDays and CreatedBeforeDate are mutually exclusive. Specify one.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'AllowSameActionOverlap', + 'in' => 'query', + 'schema' => ['description' => 'Whether to allow overlapping prefixes. Valid values:'."\n" + ."\n" + .'- **true**: Overlapping prefixes are allowed.'."\n" + ."\n" + .'- **false** (default): Overlapping prefixes are not allowed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response schema', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '62373E71-5521-4620-8AAB-133CCE49357A'], + 'RuleId' => ['description' => 'The rule ID.', 'type' => 'string', 'example' => 'b8f93xxxxx4881xxxxxc71d991', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Days and createBeforeDate can only choose one', 'description' => ''], + ['errorCode' => 'InvalidBucketName', 'errorMessage' => 'Specified parameter BucketName is not valid.', 'description' => 'The specified BucketName parameter is invalid.'], + ['errorCode' => 'InvalidLifecycleScheme', 'errorMessage' => 'Specified parameter LifecycleScheme is not valid.', 'description' => ''], + ['errorCode' => 'InvalidType', 'errorMessage' => 'Specified parameter Type is not valid.', 'description' => ''], + ['errorCode' => 'OperationDenied', 'errorMessage' => 'Engine lifecycle scheme does\'t support replication lifecycle rule configuration.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'auth is not valid', 'description' => ''], + ['errorCode' => 'UserDisable', 'errorMessage' => 'The user has been disabled due to arrears.', 'description' => 'The user has been disabled due to arrears.'], + ], + [ + ['errorCode' => 'NoSuchBucket', 'errorMessage' => 'The specified bucket does not exist.', 'description' => 'The requested bucket does not exist.'], + ['errorCode' => 'NoSuchLifecycle', 'errorMessage' => 'The bucket lifecycle does not exist.', 'description' => ''], + ], + ], + 'title' => 'PutBucketLifecycle', + 'description' => '- You can configure up to 1,000 rules.'."\n" + ."\n" + .'- If an object matches multiple rules, the rule with the earliest expiration time applies.', + 'changeSet' => [ + ['createdAt' => '2024-12-26T06:00:26.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-08-12T07:13:33.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-04-17T08:01:10.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PutBucketLifecycle'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:PutBucketLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"62373E71-5521-4620-8AAB-133CCE49357A\\",\\n \\"RuleId\\": \\"b8f93xxxxx4881xxxxxc71d991\\"\\n}","type":"json"}]', + ], + 'ReInitDisk' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', + 'abilityTreeCode' => '1227', + 'abilityTreeNodes' => ['FEATUREensM9G454'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'DiskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. To obtain the application ID, call the ListApplication operation.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd0639abf-789a-4527-b420-031d2cd9ad9b', - ], + 'schema' => ['description' => 'The ID of the disk to be initialized. You can initialize only one disk at a time.', 'type' => 'string', 'required' => true, 'example' => 'd-5r7v69e0bejrnzger09w71yjv', 'title' => ''], ], [ - 'name' => 'Timeout', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for the asynchronous release. Unit: seconds. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1800', - ], + 'schema' => ['description' => 'The ID of the image to use to create the instance.', 'type' => 'string', 'required' => true, 'example' => 'm-5rz3i231o531s4p4ozanxmgx7', 'title' => ''], ], ], 'responses' => [ @@ -47863,1039 +35068,700 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], + 'Code' => ['description' => 'The returned service code. A value of 0 indicates that the operation was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4DD66F05-3116-4BAA-B588-52EB2E7F431D', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', - 'title' => 'DeleteApplication', - ], - 'ListApplications' => [ - 'summary' => 'Queries the created applications.', - 'methods' => [ - 'post', - 'get', + 'title' => 'ReInitDisk', + 'summary' => 'Initializes a disk.', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:40.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReInitDisk'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ReInitDisk', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"4DD66F05-3116-4BAA-B588-52EB2E7F431D\\"\\n}","type":"json"}]', + ], + 'RebootAICInstance' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '139882', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'ClusterNames', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application cluster. Separate multiple names with commas (,). If you want to query applications of all clusters in your account, specify All for this parameter. Default value: All.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'poc,pre', - ], + 'schema' => ['description' => 'The ID of the server.', 'type' => 'string', 'required' => false, 'example' => 'cas-instance****', 'title' => ''], ], [ - 'name' => 'AppVersions', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the application. Separate multiple version numbers with commas (,). If you want to query data of all versions of applications, specify All for this parameter. By default, only data of applications in the stable versions are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1,v2', - ], + 'schema' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'required' => false, 'example' => 'aic-instance****', 'title' => ''], ], [ - 'name' => 'Level', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The region level by which edge resources of the application are collected. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'* National: Chinese mainland'."\n" - .'* Big: area'."\n" - .'* Middle: province'."\n" - .'* Small: city'."\n" - .'* RegionId: edge node'."\n" - ."\n" - .'Default value: National.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the AIC instance groups.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the AIC instance group.', 'type' => 'string', 'required' => false, 'example' => 'aic-instance****', 'title' => ''], 'required' => false, - 'enumValueTitles' => [ - 'Big' => '', - 'Small' => '', - 'National' => '', - 'RegionId' => '', - 'Middle' => '', - ], - 'example' => 'National', - 'enum' => [ - 'National', - 'Big', - 'Middle', - 'Small', - 'RegionId', - ], + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'OutAppInfoParams', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to return other information about the application, such as statistics on resource instances and pods. The value must be a JSON string. By default, all information is returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"appInfo\\":true,\\"detailStat\\": true, \\"appVersionStat\\": true, \\"districtStat\\":true ,\\"instanceStat\\": true, \\"podCountStat\\": true}', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1. This parameter is optional if you want to return the push status of all data files.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'RebootAICInstance', + 'summary' => 'Restarts an Android in Container (AIC) instance.', + 'changeSet' => [ + ['createdAt' => '2023-05-09T03:52:22.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-09T06:41:40.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RebootAICInstance'], ], + ], + 'ramActions' => [ [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. This parameter is optional if you want to return all information about the applications.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RebootAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'RebootARMServerInstance' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MinDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-02-15', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '139880', + 'abilityTreeNodes' => ['FEATUREensNZLH4C', 'FEATUREensF9GR70'], + ], + 'parameters' => [ [ - 'name' => 'MaxDate', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the 2006-01-02 format. By default, the time range to query is not restricted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2022-02-20', - ], + 'schema' => ['description' => 'The ID of the server.', 'type' => 'string', 'required' => false, 'example' => 'yourInstance ID', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Applications' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Application' => [ - 'description' => 'Details about applications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'App' => [ - 'description' => 'Details about the application.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', - ], - 'AppInfo' => [ - 'description' => 'The information about the application, such as the resource specification, parameter configuration, and resources.'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "AppStatus":{'."\n" - .' "Phase":"RUNNING",'."\n" - .' "StatusDescrip":"{\\"status\\":\\"UPDATE_SUCCESS\\",\\"step\\":\\"DONE\\",\\"descrip\\":\\"update to version:1022 success\\",\\"start_time\\":\\"2022-03-01 16:18:22\\"}",'."\n" - .' "UpdateTime":"2022-03-01 16:18:22",'."\n" - .' "OrderStatus":null'."\n" - .' },'."\n" - .' "ResourceAttribute":{'."\n" - .' "NetSecurityInfo":null,'."\n" - .' "InitConfig":null,'."\n" - .' "InventoryType":"Ens",'."\n" - .' "InstanceSpec":"ens.gi6s-c12g1.large",'."\n" - .' "SystemDiskSize":100,'."\n" - .' "DataDiskSize":0,'."\n" - .' "BandwithOut":5000,'."\n" - .' "SchedulingStrategy":"Disperse",'."\n" - .' "ImageId":"m-5or73kzkuxytv7hh6wxr6yc5q",'."\n" - .' "ResourceType":"Linux",'."\n" - .' "AreaLevel":"National",'."\n" - .' "IpType":"PublicIP"'."\n" - .' },'."\n" - .' "WorkloadAttribute":['."\n" - .' {'."\n" - .' "Name":"andorid",'."\n" - .' "Count":15,'."\n" - .' "ServiceConfig":{'."\n" - .' "PortsBindConfig":{'."\n" - .' "NetServiceContainer":"uravi-service",'."\n" - .' "Ports":['."\n" - .' {'."\n" - .' "Protocol":"TCP",'."\n" - .' "BindType":"Mapping",'."\n" - .' "StartNodePorts":"31000-31009",'."\n" - .' "ContainerPorts":"4440-4449"'."\n" - .' },'."\n" - .' {'."\n" - .' "Protocol":"TCP",'."\n" - .' "BindType":"PassThrough",'."\n" - .' "StartNodePorts":"59000-59000",'."\n" - .' "ContainerPorts":"59000-59000"'."\n" - .' },'."\n" - .' {'."\n" - .' "Protocol":"UDP",'."\n" - .' "BindType":"PassThrough",'."\n" - .' "StartNodePorts":"40001-40010",'."\n" - .' "ContainerPorts":"40001-40010"'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "ServiceContainerName":"android"'."\n" - .' }'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"coturn",'."\n" - .' "Count":1,'."\n" - .' "ServiceConfig":{'."\n" - .' "PortsBindConfig":{'."\n" - .' "NetServiceContainer":"coturn",'."\n" - .' "Ports":['."\n" - .' {'."\n" - .' "Protocol":"TCP",'."\n" - .' "BindType":"PassThrough",'."\n" - .' "StartNodePorts":"3478-3478",'."\n" - .' "ContainerPorts":"3478-3478"'."\n" - .' },'."\n" - .' {'."\n" - .' "Protocol":"UDP",'."\n" - .' "BindType":"PassThrough",'."\n" - .' "StartNodePorts":"3478-3478",'."\n" - .' "ContainerPorts":"3478-3478"'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "ServiceContainerName":"coturn"'."\n" - .' }'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"aic-manager",'."\n" - .' "Count":1,'."\n" - .' "ServiceConfig":null'."\n" - .' }'."\n" - .' ]'."\n" - .'}', - ], - ], - ], - ], - ], - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'ay-ads-hz-h', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '50373E71-7710-4620-8AAB-133CCE49451C', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', 'description' => ''], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 406 => [ + ['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to region flow control.', 'description' => 'request triggers node granularity flow control'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Applications\\": {\\n \\"Application\\": [\\n {\\n \\"AppList\\": {\\n \\"App\\": [\\n {\\n \\"AppId\\": \\"e76f8985-7965-41fc-925b-9648bb6bf650\\",\\n \\"AppInfo\\": \\"{\\\\n \\\\\\"AppStatus\\\\\\":{\\\\n \\\\\\"Phase\\\\\\":\\\\\\"RUNNING\\\\\\",\\\\n \\\\\\"StatusDescrip\\\\\\":\\\\\\"{\\\\\\\\\\\\\\"status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"UPDATE_SUCCESS\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"step\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DONE\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"descrip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"update to version:1022 success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"start_time\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2022-03-01 16:18:22\\\\\\\\\\\\\\"}\\\\\\",\\\\n \\\\\\"UpdateTime\\\\\\":\\\\\\"2022-03-01 16:18:22\\\\\\",\\\\n \\\\\\"OrderStatus\\\\\\":null\\\\n },\\\\n \\\\\\"ResourceAttribute\\\\\\":{\\\\n \\\\\\"NetSecurityInfo\\\\\\":null,\\\\n \\\\\\"InitConfig\\\\\\":null,\\\\n \\\\\\"InventoryType\\\\\\":\\\\\\"Ens\\\\\\",\\\\n \\\\\\"InstanceSpec\\\\\\":\\\\\\"ens.gi6s-c12g1.large\\\\\\",\\\\n \\\\\\"SystemDiskSize\\\\\\":100,\\\\n \\\\\\"DataDiskSize\\\\\\":0,\\\\n \\\\\\"BandwithOut\\\\\\":5000,\\\\n \\\\\\"SchedulingStrategy\\\\\\":\\\\\\"Disperse\\\\\\",\\\\n \\\\\\"ImageId\\\\\\":\\\\\\"m-5or73kzkuxytv7hh6wxr6yc5q\\\\\\",\\\\n \\\\\\"ResourceType\\\\\\":\\\\\\"Linux\\\\\\",\\\\n \\\\\\"AreaLevel\\\\\\":\\\\\\"National\\\\\\",\\\\n \\\\\\"IpType\\\\\\":\\\\\\"PublicIP\\\\\\"\\\\n },\\\\n \\\\\\"WorkloadAttribute\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n \\\\\\"Count\\\\\\":15,\\\\n \\\\\\"ServiceConfig\\\\\\":{\\\\n \\\\\\"PortsBindConfig\\\\\\":{\\\\n \\\\\\"NetServiceContainer\\\\\\":\\\\\\"uravi-service\\\\\\",\\\\n \\\\\\"Ports\\\\\\":[\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"Mapping\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"31000-31009\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"4440-4449\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"59000-59000\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"59000-59000\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"UDP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"40001-40010\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"40001-40010\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"ServiceContainerName\\\\\\":\\\\\\"android\\\\\\"\\\\n }\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"coturn\\\\\\",\\\\n \\\\\\"Count\\\\\\":1,\\\\n \\\\\\"ServiceConfig\\\\\\":{\\\\n \\\\\\"PortsBindConfig\\\\\\":{\\\\n \\\\\\"NetServiceContainer\\\\\\":\\\\\\"coturn\\\\\\",\\\\n \\\\\\"Ports\\\\\\":[\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"3478-3478\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"3478-3478\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"UDP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"3478-3478\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"3478-3478\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"ServiceContainerName\\\\\\":\\\\\\"coturn\\\\\\"\\\\n }\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n \\\\\\"Count\\\\\\":1,\\\\n \\\\\\"ServiceConfig\\\\\\":null\\\\n }\\\\n ]\\\\n}\\"\\n }\\n ]\\n },\\n \\"ClusterName\\": \\"ay-ads-hz-h\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"50373E71-7710-4620-8AAB-133CCE49451C\\",\\n \\"TotalCount\\": 49\\n}","type":"json"}]', - 'title' => 'ListApplications', - ], - 'DescribeApplication' => [ - 'summary' => 'Queries the basic properties, resources, and container status of an application.', - 'methods' => [ - 'post', - 'get', + 'title' => 'RebootARMServerInstance', + 'summary' => 'Reboots an Android in Container (AIC) server.', + 'changeSet' => [ + ['createdAt' => '2024-02-28T01:27:18.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-08-09T11:32:13.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-19T11:32:25.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-09T03:52:22.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-09T08:24:24.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-01-03T02:59:35.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RebootARMServerInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:RebootARMServerInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'RebootInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '1220', + 'abilityTreeNodes' => ['FEATUREensI1ZRKE'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can call the ListApplications operation to obtain the application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'a2bac6f4-75dc-455e-8389-2dc8e47526d3', - ], + 'schema' => ['description' => 'The ID of the instance that you want to reboot. You can specify only one instance ID.', 'type' => 'string', 'required' => true, 'example' => 'i-instanceid****', 'title' => ''], ], [ - 'name' => 'AppVersions', + 'name' => 'ForceStop', 'in' => 'query', 'schema' => [ - 'description' => 'The version number of the application. Separate multiple version numbers with commas (,). If you want to query data of all versions of applications, specify All for this parameter. By default, only data of applications in the stable versions are queried.'."\n", + 'description' => 'Specifies whether to forcefully stop the instance before you restart it.'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false** (default)', 'type' => 'string', 'required' => false, - 'example' => 'v1,v2', + 'enum' => ['true', 'false'], + 'example' => 'true', + 'title' => '', ], ], - [ - 'name' => 'Level', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region level by which edge resources of the application are collected. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'* National: Chinese mainland'."\n" - .'* Big: area'."\n" - .'* Middle: province'."\n" - .'* Small: city'."\n" - .'* RegionId: edge node'."\n" - ."\n" - .'Default value: National.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Big' => '', - 'Small' => '', - 'National' => '', - 'RegionId' => '', - 'Middle' => '', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], - 'example' => 'National', - 'enum' => [ - 'National', - 'Big', - 'Middle', - 'Small', - 'RegionId', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'RebootInstance', + 'summary' => 'Reboots an instance.', + 'description' => '- Only instances that are in the Running state can be restarted.'."\n" + ."\n" + .'- If the operation is successful, the status of the instance becomes Starting.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RebootInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RebootInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'RecoverAICInstance' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OutDetailStatParams', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return other information about the application, such as statistics on resource instances and pods. The value must be a JSON string. By default, all information is returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"appInfo\\":true,\\"detailStat\\": true, \\"appVersionStat\\": true, \\"districtStat\\":true ,\\"instanceStat\\": true, \\"podCountStat\\": true}', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '164702', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'ResourceSelector', + 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'title' => '资源筛选条件', - 'description' => 'The resource filtering condition.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{\\"regionCode\\": \\"cn-wuxi-telecom_unicom_cmcc-3\\", \\"ispCode\\": \\"telecom\\", \\"count\\": 2 },{ \\"regionCode\\": \\"cn-shanghai-cmcc\\", \\"count\\": 4 }]', - ], + 'schema' => ['description' => 'The ID of the server.', 'type' => 'string', 'required' => true, 'example' => 'cas-instance****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Application' => [ - 'description' => 'The returned application information.'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "AppMetaData":{'."\n" - .' "AppId":"b0b27670-87d5-4c40-9ea8-adeeec2986ce",'."\n" - .' "AppName":"asp-yz",'."\n" - .' "ClusterName":"poc",'."\n" - .' "AppStableVersion":"0825",'."\n" - .' "AppType":"Scheduler",'."\n" - .' "Description":"Daily testing CPU environment",'."\n" - .' "CreateTime":"2020-08-25 16:36:16"'."\n" - .' },'."\n" - .' "AppStatus":{'."\n" - .' "Phase":"RUNNING",'."\n" - .' "StatusDescrip":"{\\"status\\":\\"UPDATE_SUCCESS\\",\\"step\\":\\"DONE\\",\\"descrip\\":\\"delVersion success\\",\\"start_time\\":\\"2021-08-18 14:46:45\\"}",'."\n" - .' "UpdateTime":"2021-08-18 14:46:45"'."\n" - .' },'."\n" - .' "ResourceAttribute":{'."\n" - .' "ResourceType":"Ens",'."\n" - .' "ResourceAgent":"Linux",'."\n" - .' "InstanceSpec":"ens.sn1.large",'."\n" - .' "SystemDiskSize":40,'."\n" - .' "DataDiskSize":0,'."\n" - .' "BandwithOut":10,'."\n" - .' "SchedulingStrategy":"Disperse",'."\n" - .' "AreaLevel":"RegionId",'."\n" - .' "IpType":"PublicIP"'."\n" - .' },'."\n" - .' "WorkloadAttribute":['."\n" - .' {'."\n" - .' "Name":"andorid",'."\n" - .' "PodCount":7,'."\n" - .' "ServiceConfig":{'."\n" - .' "PortsBindConfig":{'."\n" - .' "NetServiceContainer":"aspserver-android",'."\n" - .' "Ports":['."\n" - .' {'."\n" - .' "Protocol":"TCP",'."\n" - .' "BindType":"PassThrough",'."\n" - .' "StartNodePorts":"5000-5000",'."\n" - .' "ContainerPorts":"5000-5000"'."\n" - .' },'."\n" - .' {'."\n" - .' "Protocol":"UDP",'."\n" - .' "BindType":"PassThrough",'."\n" - .' "StartNodePorts":"4001-4010",'."\n" - .' "ContainerPorts":"4001-4010"'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "ServiceContainerName":"android"'."\n" - .' }'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"aic-manager",'."\n" - .' "PodCount":1,'."\n" - .' "ServiceConfig":null'."\n" - .' }'."\n" - .' ],'."\n" - .' "DetailStat":{'."\n" - .' "Level":"Small",'."\n" - .' "InstanceTotalCount":1,'."\n" - .' "InstanceRunningCount":0,'."\n" - .' "PodCountStat":['."\n" - .' {'."\n" - .' "Name":"andorid",'."\n" - .' "RunningCount":7,'."\n" - .' "ProducedCount":7,'."\n" - .' "Devices":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"aic-manager",'."\n" - .' "RunningCount":1,'."\n" - .' "ProducedCount":1,'."\n" - .' "Devices":null'."\n" - .' }'."\n" - .' ],'."\n" - .' "AppVersionStat":['."\n" - .' {'."\n" - .' "AppVersion":"08102",'."\n" - .' "Descrip":"White Screen Test 2",'."\n" - .' "CreateTime":"2021-08-10 11:20:04",'."\n" - .' "InstanceTotalCount":1,'."\n" - .' "InstanceRunningCount":0,'."\n" - .' "PodCountStat":['."\n" - .' {'."\n" - .' "Name":"andorid",'."\n" - .' "RunningCount":7,'."\n" - .' "ProducedCount":7,'."\n" - .' "Devices":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"aic-manager",'."\n" - .' "RunningCount":1,'."\n" - .' "ProducedCount":1,'."\n" - .' "Devices":null'."\n" - .' }'."\n" - .' ],'."\n" - .' "DistrictStat":['."\n" - .' {'."\n" - .' "AreaCode":"310100",'."\n" - .' "AreaName":"East China,,",'."\n" - .' "RegionCode":"310100",'."\n" - .' "RegionName":"",'."\n" - .' "IspCode":"telecom",'."\n" - .' "RegionIds":['."\n" - .' "cn-shanghai-telecom-2"'."\n" - .' ],'."\n" - .' "InstanceTotalCount":1,'."\n" - .' "InstanceRunningCount":0,'."\n" - .' "PodCountStat":['."\n" - .' {'."\n" - .' "Name":"andorid",'."\n" - .' "RunningCount":7,'."\n" - .' "ProducedCount":7,'."\n" - .' "Devices":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"aic-manager",'."\n" - .' "RunningCount":1,'."\n" - .' "ProducedCount":1,'."\n" - .' "Devices":null'."\n" - .' }'."\n" - .' ],'."\n" - .' "InstanceStat":['."\n" - .' {'."\n" - .' "InstanceId":"i-xxxxxxx",'."\n" - .' "PublicIps":['."\n" - .' {'."\n" - .' "PublicIp":"101.227.7.12",'."\n" - .' "Isp":"telecom"'."\n" - .' }'."\n" - .' ],'."\n" - .' "InternalIps":['."\n" - .' {'."\n" - .' "Ip":"10.0.1.4"'."\n" - .' }'."\n" - .' ],'."\n" - .' "RegionId":"cn-shanghai-telecom-2",'."\n" - .' "NcName":"",'."\n" - .' "InstanceStatus":"",'."\n" - .' "CreateTime":"2020-09-12 22:33:08",'."\n" - .' "PodCountStat":['."\n" - .' {'."\n" - .' "Name":"andorid",'."\n" - .' "RunningCount":7,'."\n" - .' "ProducedCount":7,'."\n" - .' "Devices":['."\n" - .' {'."\n" - .' "Name":"asp-yz-andorid-08102-zjzmcyaw-0",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"asp-yz-andorid-08102-zjzmcyaw-1",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"asp-yz-andorid-08102-zjzmcyaw-2",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"asp-yz-andorid-08102-zjzmcyaw-3",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"asp-yz-andorid-08102-zjzmcyaw-4",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"asp-yz-andorid-08102-zjzmcyaw-5",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"asp-yz-andorid-08102-zjzmcyaw-6",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' {'."\n" - .' "Name":"aic-manager",'."\n" - .' "RunningCount":1,'."\n" - .' "ProducedCount":1,'."\n" - .' "Devices":['."\n" - .' {'."\n" - .' "Name":"asp-yz-aic-manager-08102-zjzmcyaw-0",'."\n" - .' "Status":"Running",'."\n" - .' "Ports":null'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ],'."\n" - .' "AppVersionDescrip":""'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Application\\": \\"{\\\\n \\\\\\"AppMetaData\\\\\\":{\\\\n \\\\\\"AppId\\\\\\":\\\\\\"b0b27670-87d5-4c40-9ea8-adeeec2986ce\\\\\\",\\\\n \\\\\\"AppName\\\\\\":\\\\\\"asp-yz\\\\\\",\\\\n \\\\\\"ClusterName\\\\\\":\\\\\\"poc\\\\\\",\\\\n \\\\\\"AppStableVersion\\\\\\":\\\\\\"0825\\\\\\",\\\\n \\\\\\"AppType\\\\\\":\\\\\\"Scheduler\\\\\\",\\\\n \\\\\\"Description\\\\\\":\\\\\\"日常测试CPU环境\\\\\\",\\\\n \\\\\\"CreateTime\\\\\\":\\\\\\"2020-08-25 16:36:16\\\\\\"\\\\n },\\\\n \\\\\\"AppStatus\\\\\\":{\\\\n \\\\\\"Phase\\\\\\":\\\\\\"RUNNING\\\\\\",\\\\n \\\\\\"StatusDescrip\\\\\\":\\\\\\"{\\\\\\\\\\\\\\"status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"UPDATE_SUCCESS\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"step\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DONE\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"descrip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"delVersion success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"start_time\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2021-08-18 14:46:45\\\\\\\\\\\\\\"}\\\\\\",\\\\n \\\\\\"UpdateTime\\\\\\":\\\\\\"2021-08-18 14:46:45\\\\\\"\\\\n },\\\\n \\\\\\"ResourceAttribute\\\\\\":{\\\\n \\\\\\"ResourceType\\\\\\":\\\\\\"Ens\\\\\\",\\\\n \\\\\\"ResourceAgent\\\\\\":\\\\\\"Linux\\\\\\",\\\\n \\\\\\"InstanceSpec\\\\\\":\\\\\\"ens.sn1.large\\\\\\",\\\\n \\\\\\"SystemDiskSize\\\\\\":40,\\\\n \\\\\\"DataDiskSize\\\\\\":0,\\\\n \\\\\\"BandwithOut\\\\\\":10,\\\\n \\\\\\"SchedulingStrategy\\\\\\":\\\\\\"Disperse\\\\\\",\\\\n \\\\\\"AreaLevel\\\\\\":\\\\\\"RegionId\\\\\\",\\\\n \\\\\\"IpType\\\\\\":\\\\\\"PublicIP\\\\\\"\\\\n },\\\\n \\\\\\"WorkloadAttribute\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n \\\\\\"PodCount\\\\\\":7,\\\\n \\\\\\"ServiceConfig\\\\\\":{\\\\n \\\\\\"PortsBindConfig\\\\\\":{\\\\n \\\\\\"NetServiceContainer\\\\\\":\\\\\\"aspserver-android\\\\\\",\\\\n \\\\\\"Ports\\\\\\":[\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"TCP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"5000-5000\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"5000-5000\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"Protocol\\\\\\":\\\\\\"UDP\\\\\\",\\\\n \\\\\\"BindType\\\\\\":\\\\\\"PassThrough\\\\\\",\\\\n \\\\\\"StartNodePorts\\\\\\":\\\\\\"4001-4010\\\\\\",\\\\n \\\\\\"ContainerPorts\\\\\\":\\\\\\"4001-4010\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"ServiceContainerName\\\\\\":\\\\\\"android\\\\\\"\\\\n }\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n \\\\\\"PodCount\\\\\\":1,\\\\n \\\\\\"ServiceConfig\\\\\\":null\\\\n }\\\\n ],\\\\n \\\\\\"DetailStat\\\\\\":{\\\\n \\\\\\"Level\\\\\\":\\\\\\"Small\\\\\\",\\\\n \\\\\\"InstanceTotalCount\\\\\\":1,\\\\n \\\\\\"InstanceRunningCount\\\\\\":0,\\\\n \\\\\\"PodCountStat\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":7,\\\\n \\\\\\"ProducedCount\\\\\\":7,\\\\n \\\\\\"Devices\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":1,\\\\n \\\\\\"ProducedCount\\\\\\":1,\\\\n \\\\\\"Devices\\\\\\":null\\\\n }\\\\n ],\\\\n \\\\\\"AppVersionStat\\\\\\":[\\\\n {\\\\n \\\\\\"AppVersion\\\\\\":\\\\\\"08102\\\\\\",\\\\n \\\\\\"Descrip\\\\\\":\\\\\\"白屏化测试2\\\\\\",\\\\n \\\\\\"CreateTime\\\\\\":\\\\\\"2021-08-10 11:20:04\\\\\\",\\\\n \\\\\\"InstanceTotalCount\\\\\\":1,\\\\n \\\\\\"InstanceRunningCount\\\\\\":0,\\\\n \\\\\\"PodCountStat\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":7,\\\\n \\\\\\"ProducedCount\\\\\\":7,\\\\n \\\\\\"Devices\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":1,\\\\n \\\\\\"ProducedCount\\\\\\":1,\\\\n \\\\\\"Devices\\\\\\":null\\\\n }\\\\n ],\\\\n \\\\\\"DistrictStat\\\\\\":[\\\\n {\\\\n \\\\\\"AreaCode\\\\\\":\\\\\\"310100\\\\\\",\\\\n \\\\\\"AreaName\\\\\\":\\\\\\"华东,,\\\\\\",\\\\n \\\\\\"RegionCode\\\\\\":\\\\\\"310100\\\\\\",\\\\n \\\\\\"RegionName\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"IspCode\\\\\\":\\\\\\"telecom\\\\\\",\\\\n \\\\\\"RegionIds\\\\\\":[\\\\n \\\\\\"cn-shanghai-telecom-2\\\\\\"\\\\n ],\\\\n \\\\\\"InstanceTotalCount\\\\\\":1,\\\\n \\\\\\"InstanceRunningCount\\\\\\":0,\\\\n \\\\\\"PodCountStat\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":7,\\\\n \\\\\\"ProducedCount\\\\\\":7,\\\\n \\\\\\"Devices\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":1,\\\\n \\\\\\"ProducedCount\\\\\\":1,\\\\n \\\\\\"Devices\\\\\\":null\\\\n }\\\\n ],\\\\n \\\\\\"InstanceStat\\\\\\":[\\\\n {\\\\n \\\\\\"InstanceId\\\\\\":\\\\\\"i-xxxxxxx\\\\\\",\\\\n \\\\\\"PublicIps\\\\\\":[\\\\n {\\\\n \\\\\\"PublicIp\\\\\\":\\\\\\"101.227.7.12\\\\\\",\\\\n \\\\\\"Isp\\\\\\":\\\\\\"telecom\\\\\\"\\\\n }\\\\n ],\\\\n \\\\\\"InternalIps\\\\\\":[\\\\n {\\\\n \\\\\\"Ip\\\\\\":\\\\\\"10.0.1.4\\\\\\"\\\\n }\\\\n ],\\\\n \\\\\\"RegionId\\\\\\":\\\\\\"cn-shanghai-telecom-2\\\\\\",\\\\n \\\\\\"NcName\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"InstanceStatus\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"CreateTime\\\\\\":\\\\\\"2020-09-12 22:33:08\\\\\\",\\\\n \\\\\\"PodCountStat\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"andorid\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":7,\\\\n \\\\\\"ProducedCount\\\\\\":7,\\\\n \\\\\\"Devices\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-0\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-1\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-2\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-3\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-4\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-5\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-andorid-08102-zjzmcyaw-6\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n }\\\\n ]\\\\n },\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"aic-manager\\\\\\",\\\\n \\\\\\"RunningCount\\\\\\":1,\\\\n \\\\\\"ProducedCount\\\\\\":1,\\\\n \\\\\\"Devices\\\\\\":[\\\\n {\\\\n \\\\\\"Name\\\\\\":\\\\\\"asp-yz-aic-manager-08102-zjzmcyaw-0\\\\\\",\\\\n \\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\",\\\\n \\\\\\"Ports\\\\\\":null\\\\n }\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"AppVersionDescrip\\\\\\":\\\\\\"\\\\\\"\\\\n }\\\\n ]\\\\n }\\\\n ]\\\\n }\\\\n ]\\\\n }\\\\n}\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'DescribeApplication', - ], - 'UpgradeApplication' => [ - 'summary' => 'Updates the container in an asynchronous manner. You can configure multiple canary release policies.', - 'methods' => [ - 'post', - 'get', + 'title' => 'RecoverAICInstance', + 'summary' => 'Recovers an Android in Container (AIC) instance on the server.', + 'changeSet' => [ + ['createdAt' => '2023-03-09T06:41:40.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RecoverAICInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RecoverAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ReinitInstance' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '141090', + 'abilityTreeNodes' => ['FEATUREensD5O7XG', 'FEATUREens3ELWPT'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'a2bac6f4-75dc-455e-8389-2dc8e47526d3', - ], + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'i-5vn4n3y4laeb*******ltlvzi', 'title' => ''], ], [ - 'name' => 'Template', - 'in' => 'query', - 'schema' => [ - 'description' => 'The information template for phased update. The value must be a JSON string and contain the following information:'."\n" - ."\n" - .'* Version range that you want to update'."\n" - .'* Configuration information of the target version'."\n" - .'* Canary release policy for resources'."\n" - .'* Intelligent upgrade policy that contains information such as the time window and resource usage limit'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{\\"fromAppVersions\\":{ \\"operator\\":\\"In\\", \\"values\\":[ \\"v1\\", \\"v2\\" ] }, \\"toAppVersion\\":\\"v3\\", \\"descrip\\":\\"xxx\\", \\"workload\\":[ { \\"name\\":\\"nginx\\", \\"podSpec\\":{ } } ], \\"upgradeStrategy\\":{ \\"name\\":\\"ScheduleToISP\\", \\"parameters\\":{ \\"operator\\":\\"In\\", \\"values\\":[ \\"telecom\\" ] } }, \\"autoUpgradeStrategy\\":{ \\"name\\":\\"AdjustToPodUsage\\", \\"checkInterval\\":600, \\"startTime\\":\\"2021-02-19 00:00:00\\", \\"startHourPoint\\":\\"0\\", \\"endHourPoint\\":\\"8\\", \\"endTime\\":\\"2021-02-19 08:00:00\\", \\"level\\":\\"RegionId\\", \\"rules\\":[ { \\"regionCodes\\":[ \\"cn-wuxi-telecom_unicom_cmcc\\", \\"cn-shijiazhuang-telecom_unicom_cmcc\\" ], \\"usageRatioLimit\\":{ \\"maxPodUsageRatio\\":50 }, \\"maxUpgradingRatio\\":50 }, { \\"regionCodes\\":[ \\"cn-wuhan-telecom_unicom_cmcc\\" ], \\"usageRatioLimit\\":{ \\"maxPodUsageRatio\\":30 }, \\"maxUpgradingRatio\\":20 }, { \\"regionCodes\\":[ \\"All\\" ], \\"usageRatioLimit\\":{ \\"maxPodUsageRatio\\":20 }, \\"maxUpgradingRatio\\":50, \\"maxUpgradingCount\\":2 } ] }}', - ], + 'name' => 'ImageId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the image file that is used to reset the instance.', 'type' => 'string', 'required' => true, 'example' => 'm-5wn1dh*******b48f440ntvad', 'title' => ''], ], [ - 'name' => 'Timeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for asynchronous upgrade. Unit: seconds. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1800', - ], + 'name' => 'Password', + 'in' => 'formData', + 'schema' => ['description' => 'The password of the instance.'."\n" + ."\n" + .'It must be 8 to 30 characters in length. It must include at least three of the following characters types: uppercase letters, lowercase letters, digits, and special characters. The following special character are supported: `()\'~! @#$%^&*-_+={}[]:;\'<>,.?/`', 'type' => 'string', 'required' => false, 'example' => 'Example123@', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'TaskId' => [ - 'description' => 'The task ID. You can use the task ID to query the upgrade progress or status.'."\n", - 'type' => 'string', - 'example' => '6f24a774-6bd5-4026-bb7d-deffb1dad875', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C46C79B7-0C31-5947-9D86-82207661EADA'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"6f24a774-6bd5-4026-bb7d-deffb1dad875\\"\\n}","type":"json"}]', - 'title' => 'UpgradeApplication', - ], - 'RollbackApplication' => [ - 'summary' => 'Rolls back the container version of a specific application.', - 'methods' => [ - 'post', - 'get', + 'title' => 'ReinitInstance', + 'summary' => 'Resets an instance based on specific parameters.', + 'changeSet' => [ + ['createdAt' => '2024-06-28T06:18:30.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-07-28T02:21:13.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReinitInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ReinitInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46C79B7-0C31-5947-9D86-82207661EADA\\"\\n}","type":"json"}]', + ], + 'ReleaseAICInstance' => [ + 'summary' => 'Releases an Android in Container (AIC) instance from the server.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '4389', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '164703', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ServerId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the server.', 'type' => 'string', 'required' => true, 'example' => 'cas-instance****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '474bdef0-d149-4695-abfb-52912d91****', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'ReleaseAICInstance', + 'changeSet' => [ + ['createdAt' => '2023-03-09T06:41:40.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseAICInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'FromAppVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The current version number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'v2-1', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleaseAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ReleaseARMServerInstance' => [ + 'summary' => 'Releases an ARM server.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ToAppVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The target version number. By default, the system automatically rolls back the container version to the previous version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v2', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'Timeout', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the asynchronous rollback operation. Unit: seconds. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1800', - ], + 'schema' => ['description' => 'The ID of the server.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'yourInstance ID'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'DCAE84DF-4187-5CC5-B819-37BCD2B83BD3'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'No instance ID found. Enter a valid instance ID.', 'description' => 'No instance ID found. Enter a valid instance ID.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', - 'title' => 'RollbackApplication', - ], - 'RescaleApplication' => [ - 'summary' => 'Scales resources in an asynchronous manner and deploys or releases the container.', - 'methods' => [ - 'post', - 'get', + 'title' => 'ReleaseARMServerInstance', + 'changeSet' => [ + ['createdAt' => '2024-06-13T05:42:30.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseARMServerInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleaseARMServerInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DCAE84DF-4187-5CC5-B819-37BCD2B83BD3\\"\\n}","type":"json"}]', + ], + 'ReleaseInstance' => [ + 'summary' => 'Releases an instance. to release only Elastic IP Addresses (EIPs), Edge Load Balancer (ELB) instances, and cloud disk-based instances. We recommend that you call service-specific operations to release or unsubscribe from instances.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '1939', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '25981', + 'abilityTreeNodes' => ['FEATUREens43DFLD'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You can query the application ID by calling the ListApplications operation.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '474bdef0-d149-4695-abfb-52912d9143f0', - ], - ], - [ - 'name' => 'RescaleType', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling operation. The value must be of the enumerated data type. Valid values:'."\n" - ."\n" - .'* Add: adds new resources.'."\n" - .'* Del: releases resources.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Add', - 'enum' => [ - 'Add', - 'Del', - ], - ], + 'schema' => ['description' => 'The ID of the EIP.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eip-****'], ], - [ - 'name' => 'RescaleLevel', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The level of resource scaling. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'* AreaIspCode (default): scales resources based on the Internet service provider (ISP).'."\n" - .'* RegionId: scales resources based on the edge node.'."\n" - .'* InstanceId: scales resources based on the instance ID. Resource scale-out specifies resource hosting and scale-in specifies resource release.'."\n" - ."\n" - .'Default value: AreaIspCode.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'AreaIspCode' => '', - 'InstanceId' => '', - 'RegionId' => '', - ], - 'example' => 'RegionId', - 'enum' => [ - 'AreaIspCode', - 'RegionId', - 'InstanceId', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF'], + 'ResourceType' => ['description' => 'The type of the resource.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- instance'."\n" + ."\n" + .'- eip'."\n" + ."\n" + .'- disk'."\n" + ."\n" + .'- network'."\n" + ."\n" + .'- natgateway'."\n" + ."\n" + .'- vswitch', 'type' => 'string', 'example' => 'eip', 'title' => ''], ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'ReleaseInstance', + 'description' => '- up to 10,000 times per second per account.'."\n" + ."\n" + .'- The maximum number of times that each user can call this operation per second is 50.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-02-13T05:24:48.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-06-27T09:31:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-13T07:04:46.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '101', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ResourceSelector', - 'in' => 'query', - 'schema' => [ - 'description' => 'The required resources. The value must be a JSON string.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '[{\\"regionCode\\": \\"cn-wuxi-telecom_unicom_cmcc-3\\", \\"ispCode\\": \\"telecom\\", \\"count\\": 2 },{ \\"regionCode\\": \\"cn-shanghai-cmcc\\", \\"count\\": 4 }]', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleaseInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"ResourceType\\": \\"eip\\"\\n}","type":"json"}]', + ], + 'ReleasePostPaidInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ToAppVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the application deployment package. By default, the stable version number is used. This parameter takes effect only when you perform resource scale-out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v2', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '4383', + 'abilityTreeNodes' => ['FEATUREens43DFLD'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'Timeout', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for asynchronous scaling. Unit: seconds. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1800', - ], + 'schema' => ['description' => 'The ID of the instance to be deleted. You can specify only one instance ID.', 'type' => 'string', 'required' => true, 'example' => 'i-instance****', 'title' => ''], ], ], 'responses' => [ @@ -48903,759 +35769,788 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'DependencyViolation.Snapshot', 'errorMessage' => 'This Instance has dependent Snapshot and cannot be deleted. Please Delete all Snapshot first.', 'description' => 'The snapshot data of this instance exists, so the instance cannot be deleted. Please delete the dependent resources before performing this operation.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', - 'title' => 'RescaleApplication', - ], - 'PushApplicationData' => [ - 'methods' => [ - 'post', - 'get', + 'title' => 'ReleasePostPaidInstance', + 'summary' => 'Deletes a pay-as-you-go instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-10-16T01:35:24.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-07-21T06:27:35.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleasePostPaidInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleasePostPaidInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'ReleasePrePaidInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '1670', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', - ], + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '4387', + 'abilityTreeNodes' => ['FEATUREensH8K8NI'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'Data', + 'name' => 'InstanceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance to be deleted. You can specify only one instance ID.', 'type' => 'string', 'required' => true, 'example' => 'i-instance****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The data files that you want to push. The value must be a JSON string.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '[{\\"name\\":\\"app01\\", \\"version\\":\\"1.0\\", \\"size\\":100,\\"archiveType\\":\\"tar.gz\\", \\"md5\\":\\"\\", \\"url\\":\\"http://xxxx\\",\\"timeout\\": 1000 }, { \\"name\\":\\"app02\\", \\"version\\":\\"1.1\\", \\"size\\":10,\\"archiveType\\":\\"zip\\", \\"md5\\":\\"xxxx\\", \\"url\\":\\"http://xxxxxx\\",\\"timeout\\": 1000 }]', - ], + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ], + ], + 'title' => 'ReleasePrePaidInstance', + 'summary' => 'Call ReleasePrePaidInstance to delete a subscription instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-08-20T11:03:04.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-04-27T10:36:24.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-04-27T10:36:24.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleasePrePaidInstance'], ], + ], + 'ramActions' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e76f8985-7965-41fc-925b-9648bb6bf650', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleasePrePaidInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'RemoveBackendServers' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Timeout', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '15321', + 'abilityTreeNodes' => ['FEATUREens8LAX68'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter does not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1800', - ], + 'schema' => ['description' => 'The ID of the Edge Load Balancer (ELB) instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5ovkn1piwqmoqrfjdyhq4****', 'title' => ''], ], [ - 'name' => 'PushStrategy', + 'name' => 'BackendServers', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The push policy in the canary release environment. The value must be a JSON string. You can specify multiple push policies. By default, all data files are pushed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"name\\": \\"ScheduleToRegionId\\", \\"parameters\\":{ \\"operator\\": \\"In\\", \\"values\\": [\\"cn-chegndu-telecom-4\\", \\"cn-shanghai-cmcc-4\\"] }}', + 'description' => 'The list of backend servers that you want to remove. You can remove up to 20 backend servers at a time.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of backend servers that you want to remove. You can remove up to 20 backend servers at a time.', + 'type' => 'object', + 'properties' => [ + 'ServerId' => ['description' => 'The instance ID of the backend server.', 'type' => 'string', 'required' => true, 'example' => 'i-5uf68ts0fqexe1a4n****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'title' => '', 'required' => false, 'example' => '100'], + 'Type' => [ + 'description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ens**: an Edge Node Service (ENS) instance.'."\n" + ."\n" + .'- **eni**: an Elastic Network Interface (ENI).', + 'type' => 'string', + 'enum' => ['ens', 'eni'], + 'title' => '', + 'required' => false, + 'example' => 'ens', + ], + 'Ip' => ['description' => 'The IP address of the backend server.', 'type' => 'string', 'required' => false, 'pattern' => '((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))', 'example' => '192.168.0.1', 'title' => ''], + 'Port' => ['description' => 'The backend port that is used by the Edge Load Balancer (ELB) instance.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '0', 'title' => '', 'required' => false, 'example' => '0'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'PushResults' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'PushResult' => [ - 'description' => 'The push results of data files.'."\n", + 'BackendServer' => [ + 'description' => 'The list of backend servers that you want to add to the SLB instance.', 'type' => 'array', 'items' => [ - 'description' => 'The execution result of the pre push operation on the data file.', + 'description' => '', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the data file.'."\n", - 'type' => 'string', - 'example' => 'gcs-pre-websocket-eip-telecom', - ], - 'ResultCode' => [ - 'description' => 'The push result. The value is of the enumeration type. Valid values:'."\n" - ."\n" - .'* 0: The push operation is successful.'."\n" - .'* 100: The push operation has been performed and the file is pushed.'."\n" - .'* 200: The push operation has been performed and the file is being pushed to specific file servers.'."\n" - .'* 300: The push operation failed. You must trigger the push operation again. The ResultDescrip parameter indicates the error description.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'ResultDescrip' => [ - 'description' => 'The description of the push status.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Version' => [ - 'description' => 'The version number of the data file.'."\n", - 'type' => 'string', - 'example' => 'standard', - ], + 'ServerId' => ['description' => 'The instance ID of the backend server.', 'type' => 'string', 'example' => 'i-5vb5h5njxiuhn48a****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.'."\n" + ."\n" + .'> The value 0 indicates that requests are not forwarded to the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'Type' => ['description' => 'The type of the backend server. Valid values:'."\n" + ."\n" + .'- **ens**: an ENS instance.'."\n" + ."\n" + .'- **eni**: an ENI.', 'type' => 'string', 'example' => 'ens', 'title' => ''], + 'Ip' => ['description' => 'The IP address of the backend server.', 'type' => 'string', 'example' => '192.168.0.1', 'title' => ''], + 'Port' => ['description' => 'The backend port that is used by the ELB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'description' => '', + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', 'description' => 'The load balancing instance does not exist.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PushResults\\": {\\n \\"PushResult\\": [\\n {\\n \\"Name\\": \\"gcs-pre-websocket-eip-telecom\\",\\n \\"ResultCode\\": 100,\\n \\"ResultDescrip\\": \\"成功\\",\\n \\"Version\\": \\"standard\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'PushApplicationData', - 'summary' => 'Pushes the business or service data of an application to file servers.', - ], - 'DescribeEnsRegions' => [ - 'summary' => 'Queries the Edge Node Service (ENS) nodes that you can use.', - 'methods' => [ - 'post', - 'get', + 'title' => 'RemoveBackendServers', + 'summary' => 'Removes backend servers.', + 'changeSet' => [ + ['createdAt' => '2023-09-21T02:54:28.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveBackendServers'], + ], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREens43DFLD', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"ServerId\\": \\"i-5vb5h5njxiuhn48a****\\",\\n \\"Weight\\": 50,\\n \\"Type\\": \\"ens\\",\\n \\"Ip\\": \\"192.168.0.1\\",\\n \\"Port\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]', + 'description' => '- Rate limit: 100 requests per second.'."\n" + ."\n" + .'- up to 10 times per second per account.', + ], + 'RemoveInstanceSDG' => [ + 'summary' => 'Removes a shared data group (SDG) that is attached to the compute instance.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the node.'."\n" - ."\n" - .'By default, all available node IDs are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-dalian-unicom', + 'description' => 'The IDs of the instances. The value is a JSON array that consists of up to 100 IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the Android in Container (AIC) instance.', 'type' => 'string', 'required' => false, 'example' => 'aic-instance****', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The service code. 0 is returned for a successful request. An error code is returned for a failed request.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'EnsRegions' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data object.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'EnsRegions' => [ - 'description' => 'The information about the regions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Area' => [ - 'description' => 'The code of the region.'."\n", - 'type' => 'string', - 'example' => 'NorthEastChina', - ], - 'EnName' => [ - 'description' => 'The name of the node.'."\n", - 'type' => 'string', - 'example' => 'NorthChina', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-dalian-unicom', - ], - 'Name' => [ - 'description' => 'The name of the node.'."\n", - 'type' => 'string', - 'example' => 'Dalian Unicom'."\n", - ], - 'Province' => [ - 'description' => 'The province where the node is deployed.'."\n", - 'type' => 'string', - 'example' => 'Liaoning Province'."\n" - ."\n", + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- **true**: All tasks are successful.'."\n" + ."\n" + .'- **false**: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about the failed tasks.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ErrMessage' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"EnsRegions\\": {\\n \\"EnsRegions\\": [\\n {\\n \\"Area\\": \\"NorthEastChina\\",\\n \\"EnName\\": \\"NorthChina\\",\\n \\"EnsRegionId\\": \\"cn-dalian-unicom\\",\\n \\"Name\\": \\"大连联通\\",\\n \\"Province\\": \\"辽宁省\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0\\n \\n NorthEastChina\\n NorthChina\\n cn-dalian-unicom\\n 大连联通\\n 辽宁省\\n \\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DescribeEnsRegions', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeEnsRegionIdResource' => [ - 'summary' => 'Queries node resources.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveInstanceSDG', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveInstanceSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"SuccessCount\\": 1,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'RemovePublicIpsFromEpnInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'EPNInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2020-06-16T06:33:15Z', - ], + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-xxxx', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'InstanceInfos', 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2020-06-16T06:33:15', - ], + 'schema' => ['description' => 'The information about the public IP addresses that you want to delete.', 'type' => 'string', 'required' => true, 'example' => '[{"PublicIpAddress":"2.230.XX.XX"},{"PublicIpAddress":"2.230.XX.XX"}]', 'title' => ''], ], - [ - 'name' => 'OrderByParams', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The order in which the resources to return are sorted. Valid values:'."\n" - ."\n" - .'* InstanceCount: desc'."\n" - .'* Area: asc'."\n" - .'* InternetBandwidth: asc', - 'type' => 'string', - 'required' => false, - 'example' => 'InstanceCount: desc', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'RemovePublicIpsFromEpnInstance', + 'summary' => 'Removes IP addresses from an edge private network (EPN) instance.', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:53.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemovePublicIpsFromEpnInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemovePublicIpsFromEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'translator' => 'manual', + ], + 'RemoveSDG' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.'."\n", - 'type' => 'string', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '177219', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ [ - 'name' => 'Isp', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The Internet service provider (ISP). Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile'."\n" - .'* telecom: China Telecom'."\n" - .'* unicom: China Unicom'."\n" - .'* multiCarrier: multi-line ISP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cmcc', + 'description' => 'IDs of Android in Container (AIC) instances.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'required' => false, 'example' => '["aic-1", "aic-2", "aic-3"]', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'EnsRegionIdResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnsRegionIdResource' => [ - 'description' => 'The returned data. For more information, see EnsRegionIdResources in sample JSON responses.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Area' => [ - 'description' => 'The region. Set the value to West.'."\n", - 'type' => 'string', - 'example' => 'West', - ], - 'AreaCode' => [ - 'description' => 'The code of the region.'."\n", - 'type' => 'string', - 'example' => '300100', - ], - 'BizDate' => [ - 'description' => 'The date when the transaction was processed.'."\n", - 'type' => 'string', - 'example' => '2019-10-30', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-telecom', - ], - 'EnsRegionIdName' => [ - 'description' => 'The name of the node.'."\n", - 'type' => 'string', - 'example' => 'Nanjing Mobile'."\n", - ], - 'InstanceCount' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'InternetBandwidth' => [ - 'description' => 'The public bandwidth of the instance. Unit: Bits/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Isp' => [ - 'description' => 'The ISP. Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile'."\n" - .'* unicom: China Unicom'."\n" - .'* telecom: China Telecom'."\n" - .'* multiCarrier: multi-line ISP'."\n", - 'type' => 'string', - 'example' => 'cmcc', - ], - 'VCpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '476600B1-C9E2-4245-A26F-DC7EA8071425', - ], - 'TotalCount' => [ - 'description' => 'The total number of queried nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '58', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InsufficientEipCapacity', - 'errorMessage' => 'Insufficient EIP inventory under the specified territory.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', 'description' => ''], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EnsRegionIdResources\\": {\\n \\"EnsRegionIdResource\\": [\\n {\\n \\"Area\\": \\"West\\",\\n \\"AreaCode\\": \\"300100\\",\\n \\"BizDate\\": \\"2019-10-30\\",\\n \\"EnsRegionId\\": \\"cn-hangzhou-telecom\\",\\n \\"EnsRegionIdName\\": \\"南京移动\\",\\n \\"InstanceCount\\": 10,\\n \\"InternetBandwidth\\": 100,\\n \\"Isp\\": \\"cmcc\\",\\n \\"VCpu\\": 10\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"476600B1-C9E2-4245-A26F-DC7EA8071425\\",\\n \\"TotalCount\\": 58\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n SouthWest\\n cmcc\\n cn-hangzhou-telecom\\n 100\\n 500\\n 2020-03-08\\n \\n\\n476600B1-C9E2-4245-A26F-DC7EA8071425\\n","errorExample":""}]', - 'title' => 'DescribeEnsRegionIdResource', - 'description' => '****', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeReservedResource' => [ - 'summary' => 'Queries the specifications of resources that you can purchase.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveSDG', + 'summary' => 'Removes a deployed shared data group (SDG) and restore local storage.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\"\\n}","type":"json"}]', + ], + 'RemoveSDGs' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The IDs of the instances.', + 'type' => 'array', + 'items' => ['description' => 'The instance ID. Example: i-22jja5c2l. Separate multiple instance IDs with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'aic-instance****', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SdgIds', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The IDs of SDG.', + 'type' => 'array', + 'items' => ['description' => 'The ID of SDG.', 'type' => 'string', 'required' => false, 'example' => 'sdg-xxxx', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Image' => [ - 'description' => 'The information about the image.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_alibase_****', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_6_08_64_20G_alibase_****', - ], - ], - ], - ], - ], - ], - 'SupportResources' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '903819D9-D18B-5C59-8DFD-20D56FD2DAE4'], + 'Data' => [ + 'description' => 'The returned data.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'SupportResource' => [ - 'description' => 'The resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The specifications of resources that you can purchase.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-cmcc', - ], - 'DataDiskSizes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataDiskSize' => [ - 'description' => 'The sizes of data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The size of the data disk. Unit: GB.'."\n", - 'type' => 'string', - 'example' => '2', - ], - ], - ], - ], - 'SupportResourcesCount' => [ - 'description' => 'The number of resources that you can purchase.'."\n", - 'type' => 'string', - 'example' => '9', - ], - 'SystemDiskSizes' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the failed task.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'SystemDiskSize' => [ - 'description' => 'The sizes of system disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The size of the system disk. Unit: GB.'."\n", - 'type' => 'string', - 'example' => '20', - ], - ], + 'ErrMessage' => ['description' => 'The error message returned if the call failed.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'InstanceSpec' => [ - 'description' => 'The specifications of instances.'."\n", - 'type' => 'string', - 'example' => 'ens.sn1.stiny', - ], + 'title' => '', + 'example' => '', ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- **true**: All tasks are successful.'."\n" + ."\n" + .'- **false**: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - ], - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"ImageName\\": \\"centos_6_08_64_20G_alibase_****\\",\\n \\"ImageId\\": \\"centos_6_08_64_20G_alibase_****\\"\\n }\\n ]\\n },\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"DataDiskSizes\\": {\\n \\"DataDiskSize\\": [\\n \\"0\\"\\n ]\\n },\\n \\"SupportResourcesCount\\": \\"9\\",\\n \\"SystemDiskSizes\\": {\\n \\"SystemDiskSize\\": [\\n \\"20\\"\\n ]\\n },\\n \\"InstanceSpec\\": \\"ens.sn1.stiny\\"\\n }\\n ]\\n },\\n \\"Code\\": 0\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n \\n 0\\n \\n cn-beijing-cmcc\\n ens.sn1.stiny\\n 9\\n \\n 20\\n \\n \\n\\n6666C5A5-75ED-422E-A022-7121FA18C968\\n\\n \\n centos_6_08_64_20G_alibase_****\\n centos_6_08_64_20G_alibase_****\\n \\n\\n0\\n\\n","errorExample":""}]', - 'title' => 'DescribeReservedResource', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribePrePaidInstanceStock' => [ - 'summary' => 'Queries the specifications of resources that can be purchased in subscription billing mode.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveSDGs', + 'summary' => 'Removes all versions of SDG and restores the mount to the local disk.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveSDGs'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:RemoveSDGs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"903819D9-D18B-5C59-8DFD-20D56FD2DAE4\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'RemoveVSwitchesFromEpnInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-suzhou-telecom', - ], - ], - [ - 'name' => 'SystemDiskSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'minimum' => '20', - 'example' => '100', - ], - ], - [ - 'name' => 'DataDiskSize', + 'name' => 'EPNInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the data disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The ID of theEPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-****', 'title' => ''], ], [ - 'name' => 'InstanceSpec', + 'name' => 'VSwitchesInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'The specification of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ens.sn1.stiny', - ], + 'schema' => ['description' => 'The internal networking information that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'VSwitchesInfo=[{"VSwitchId":"vs-ixxxx"},{"VSwitchId":"vs-ixxxx"}]', 'title' => ''], ], ], 'responses' => [ @@ -49663,437 +36558,551 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AvaliableCount' => [ - 'description' => 'The number of resources that you can purchase.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '84', - ], - 'Cores' => [ - 'description' => 'The number of CPU cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DataDiskSize' => [ - 'description' => 'The size of the data disk.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-suzhou-telecom', - ], - 'InstanceSpec' => [ - 'description' => 'The specification of the instance.'."\n", - 'type' => 'string', - 'example' => 'ens.sn1.stiny', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '007833C8-E819-4122-B636-0D48D7BF6DFB', - ], - 'SystemDiskSize' => [ - 'description' => 'The size of the system disk.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'ResourceGap' => [ - 'description' => 'The reason why resources are insufficient.'."\n", - 'type' => 'string', - 'example' => 'StockNotEnough', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InventoryExceeded', - 'errorMessage' => 'The Instance in stock are insufficient,please submit a ticket.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AvaliableCount\\": 84,\\n \\"Cores\\": 1,\\n \\"DataDiskSize\\": 20,\\n \\"EnsRegionId\\": \\"cn-suzhou-telecom\\",\\n \\"InstanceSpec\\": \\"ens.sn1.stiny\\",\\n \\"Memory\\": 2048,\\n \\"RequestId\\": \\"007833C8-E819-4122-B636-0D48D7BF6DFB\\",\\n \\"SystemDiskSize\\": 20,\\n \\"ResourceGap\\": \\"StockNotEnough\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 84\\n 2048\\n 20\\n 1\\n cn-suzhou-telecom\\n ens.sn1.stiny\\n 007833C8-E819-4122-B636-0D48D7BF6DFB\\n 20\\n\\n","errorExample":""}]', - 'title' => 'DescribePrePaidInstanceStock', + 'title' => 'RemoveVSwitchesFromEpnInstance', + 'summary' => 'Deletes the networking information. This operation is applicable only for instances that reside in the internal network.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerSpec' => [ - 'summary' => 'Queries the specifications of an Edge Load Balancer (ELB) instance.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:53.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveVSwitchesFromEpnInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveVSwitchesFromEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'RenewARMServerInstance' => [ + 'summary' => 'Renews a subscription Android in Container (AIC) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'LoadBalancerSpec', + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance that you want to renew.', 'type' => 'string', 'required' => true, 'example' => 'yourInstance ID', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The renewal period. By default, instances are renewed on a monthly basis. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, and 12.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PeriodUnit', 'in' => 'query', 'schema' => [ - 'description' => 'The specifications of the ELB instance.'."\n", + 'description' => 'The unit of the renewal period. Valid values:'."\n" + ."\n" + .'- Month (default)'."\n" + ."\n" + .'- Year', 'type' => 'string', - 'required' => false, - 'example' => 'elb.s2.small', + 'required' => true, + 'enum' => ['Year', 'Month'], + 'example' => 'Month', + 'title' => '', ], ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable auto-renewal for the premium bandwidth plan. Valid values:'."\n" + ."\n" + .'- **true**.'."\n" + ."\n" + .'- **false** (default).', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'true', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page. Maximum value: 100. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - 'LoadBalancerSpecs' => [ - 'description' => 'The specifications. Valid values:'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DisplayName' => [ - 'description' => 'The display name of the instance type.'."\n", - 'type' => 'string', - 'example' => 'elb.s1.small', - ], - 'LoadBalancerSpec' => [ - 'description' => 'The specifications of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'elb.s1.small', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '370E61E0-6E6E-50FE-9259-EE706C55ABF1'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'title' => 'RenewARMServerInstance', + 'changeSet' => [ + ['createdAt' => '2024-08-19T11:59:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-26T08:29:33.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RenewARMServerInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RenewARMServerInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 10,\\n \\"PageSize\\": 100,\\n \\"TotalCount\\": 7,\\n \\"LoadBalancerSpecs\\": [\\n {\\n \\"DisplayName\\": \\"elb.s1.small\\",\\n \\"LoadBalancerSpec\\": \\"elb.s1.small\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeLoadBalancerSpec', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"370E61E0-6E6E-50FE-9259-EE706C55ABF1\\"\\n}","type":"json"}]', ], - 'DescribeElbAvailableResourceInfo' => [ - 'summary' => 'Queries the specifications of resources that you can purchase when you create an instance.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RenewInstance' => [ + 'summary' => 'Renews a subscription instance.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance.', 'type' => 'string', 'required' => true, 'example' => 'i-56789acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => 'The renewal duration of the subscription instance.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + 'enum' => ['1', '2', '3', '4', '5', '6', '7', '8', '9', '12'], + 'title' => '', + ], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information about resources.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => '25AAD194-4A37-51CF-B1CA-1E86FDAC23A6', - ], - 'ElbAvailableResourceInfo' => [ - 'description' => 'The information about resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about a resource.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'example' => 'cn-guangdong-10', - ], - 'EnName' => [ - 'description' => 'The name of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-guangdong-10', - ], - 'Area' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'SouthEast', - ], - 'Province' => [ - 'description' => 'The province where the node is deployed.'."\n", - 'type' => 'string', - 'example' => 'Shanghai', - ], - 'Name' => [ - 'description' => 'The Chinese name of the node.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'CanBuyCount' => [ - 'description' => 'The number of resources that you can purchase.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'LoadBalancerSpec' => [ - 'description' => 'The specifications of the ELB instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The specification of the ELB instance.'."\n", - 'type' => 'string', - 'example' => 'elb.s2.small', - ], - ], - 'Ability' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.', 'type' => 'string', 'example' => '86A6D421-A0C7-4C01-8648-47377CA6A2CE', 'title' => ''], ], - ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SystemError', 'errorMessage' => 'Interface call error, please re-match, or contact the product.', 'description' => 'Interface call error, please re-select'], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + 'title' => 'RenewInstance', + 'changeSet' => [ + ['createdAt' => '2024-08-19T11:59:13.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-13T05:42:30.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-10-28T00:27:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RenewInstance'], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:RenewInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25AAD194-4A37-51CF-B1CA-1E86FDAC23A6\\",\\n \\"ElbAvailableResourceInfo\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-guangdong-10\\",\\n \\"EnName\\": \\"cn-guangdong-10\\",\\n \\"Area\\": \\"SouthEast\\",\\n \\"Province\\": \\"Shanghai\\",\\n \\"Name\\": \\"test\\",\\n \\"CanBuyCount\\": \\"1\\",\\n \\"LoadBalancerSpec\\": [\\n \\"elb.s2.small\\"\\n ],\\n \\"Ability\\": [\\n \\"\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeElbAvailableResourceInfo', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86A6D421-A0C7-4C01-8648-47377CA6A2CE\\"\\n}","type":"json"}]', ], - 'DescribeCloudDiskTypes' => [ - 'summary' => 'The specifications of available resources are queried when you create a disk.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RescaleApplication' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'tenantRelevance' => 'tenant', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '1939', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application. You can query the application ID by calling the ListApplications operation.', 'type' => 'string', 'required' => true, 'example' => '474bdef0-d149-4695-abfb-52912d9143f0', 'title' => ''], + ], + [ + 'name' => 'RescaleType', 'in' => 'query', 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The ID of the edge node.'."\n", + 'description' => 'The scaling operation. The value must be of the enumerated data type. Valid values:'."\n" + ."\n" + .'- Add: adds new resources.'."\n" + ."\n" + .'- Del: releases resources.', 'type' => 'string', - 'required' => false, - 'example' => 'cn-chongqing-cmcc', + 'required' => true, + 'enum' => ['Add', 'Del'], + 'example' => 'Add', + 'title' => '', ], ], [ - 'name' => 'EnsRegionIds', + 'name' => 'RescaleLevel', 'in' => 'query', - 'style' => 'json', 'schema' => [ - 'description' => 'The edge nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chongqing-cmcc', - ], + 'description' => 'The level of resource scaling. The value is of the enumeration type. Valid values:'."\n" + ."\n" + .'- AreaIspCode (default): scales resources based on the Internet service provider (ISP).'."\n" + ."\n" + .'- RegionId: scales resources based on the edge node.'."\n" + ."\n" + .'- InstanceId: scales resources based on the instance ID. Resource scale-out specifies resource hosting and scale-in specifies resource release.'."\n" + ."\n" + .'Default value: AreaIspCode.', + 'enumValueTitles' => ['AreaIspCode' => '', 'InstanceId' => '', 'RegionId' => ''], + 'type' => 'string', 'required' => false, + 'enum' => ['AreaIspCode', 'RegionId', 'InstanceId'], + 'example' => 'RegionId', + 'title' => '', ], ], + [ + 'name' => 'ResourceSelector', + 'in' => 'query', + 'schema' => ['description' => 'The required resources. The value must be a JSON string.', 'type' => 'string', 'required' => true, 'example' => '[{\\"regionCode\\": \\"cn-wuxi-telecom_unicom_cmcc-3\\", \\"ispCode\\": \\"telecom\\", \\"count\\": 2 },{ \\"regionCode\\": \\"cn-shanghai-cmcc\\", \\"count\\": 4 }]', 'title' => ''], + ], + [ + 'name' => 'ToAppVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version number of the application deployment package. By default, the stable version number is used. This parameter takes effect only when you perform resource scale-out.', 'type' => 'string', 'required' => false, 'example' => 'v2', 'title' => ''], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for asynchronous scaling. Unit: seconds. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '77990CEE-B714-5702-BDE6-943F702277DD', - ], - 'SupportResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportResource' => [ - 'description' => 'The specifications of resources that you can purchase.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The specifications of resource that you can purchase.'."\n", - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'description' => 'The category of the disk.'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: all-flash disk.'."\n" - .'* local_hdd: local HDD.'."\n" - .'* local_ssd: local SSD.'."\n", - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-guangzhou-10', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'RescaleApplication', + 'summary' => 'Scales resources in an asynchronous manner and deploys or releases the container.', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:45.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"77990CEE-B714-5702-BDE6-943F702277DD\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"Category\\": \\"cloud_efficiency\\",\\n \\"EnsRegionId\\": \\"cn-guangzhou-10\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeCloudDiskTypes', - ], - 'DescribeCloudDiskAvailableResourceInfo' => [ - 'summary' => 'Queries the available resources in a region.', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RescaleApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RescaleApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', + ], + 'RescaleDeviceService' => [ + 'summary' => 'Scales out a bare metal device.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -50101,671 +37110,610 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '32996', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ + [ + 'name' => 'RescaleType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The scaling operation. Set the value to Add to add new resources.', + 'enumValueTitles' => ['Add' => ''], + 'type' => 'string', + 'required' => true, + 'example' => 'Add', + 'title' => '', + ], + ], + [ + 'name' => 'RescaleLevel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region level of the scale-out. Set the value to RegionId. RegionId specifies that resource scale-out is performed based on the ID of the edge node.', + 'enumValueTitles' => ['RegionId' => ''], + 'type' => 'string', + 'required' => true, + 'example' => 'RegionId', + 'title' => '', + ], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for asynchronous scale-out. Unit: seconds. Default value: 300.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1800', 'title' => ''], + ], + [ + 'name' => 'ServiceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the service.', 'type' => 'string', 'required' => false, 'example' => 'service-01c6dd6e93f040698566', 'title' => ''], + ], + [ + 'name' => 'ResourceSelector', + 'in' => 'formData', + 'schema' => ['description' => 'The required resources. The value must be a JSON string.', 'type' => 'string', 'required' => true, 'example' => '[{\\"regionCode\\": \\"cn-wuxi-telecom_unicom_cmcc-3\\", \\"ispCode\\": \\"telecom\\", \\"count\\": 2 },{ \\"regionCode\\": \\"cn-shanghai-cmcc\\", \\"count\\": 4 }]', 'title' => ''], + ], + [ + 'name' => 'ResourceSpec', + 'in' => 'query', + 'schema' => ['description' => 'The resource specification.', 'type' => 'string', 'required' => false, 'example' => 'ens.a6e.large', 'title' => ''], + ], + [ + 'name' => 'IpType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the network. The value must be of the enumerated data type. Valid values:'."\n" + ."\n" + .'- **1** (default): Internet'."\n" + ."\n" + .'- **2**: internal network', + 'enumValueTitles' => [1 => '', ''], + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => false, 'example' => '7aedc50b-b1cb-4a7c-9e3d-4cf3c9ee55a4', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image.', 'type' => 'string', 'required' => false, 'example' => 'm-5rynw9g1ow1e928lb83bqmbnf', 'title' => ''], + ], + [ + 'name' => 'ResourceInfo', + 'in' => 'formData', + 'schema' => ['description' => 'The information about the resource specification template. The value must be a JSON string.', 'type' => 'string', 'required' => false, 'example' => '{\\"imageId\\":\\"m-5s4z4c10avgwvwtn33gl2vgob\\",\\"ipType\\":2,\\"specName\\":\\"ens.pfb-c3m7.medium\\"}', 'title' => ''], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '0AE4F26E-7527-569F-A987-E3CF269A3C11', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '3F3F3570-E721-53F6-853F-37B7725AC6CB'], + 'DeviceIds' => [ + 'description' => 'The IDs of the devices.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the device.', 'type' => 'string', 'example' => '[\'b-5qco9b10iei79z48phno4bmsr\']', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'SupportResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportResource' => [ - 'description' => 'The specifications of resources that you can purchase.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The specifications of resource that you can purchase.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-cmcc', - ], - 'EnsRegionName' => [ - 'description' => 'The name of the task node.'."\n", - 'type' => 'string', - 'example' => 'Beijing Mobile'."\n", - ], - 'DiskMinSize' => [ - 'description' => 'The minimum size of the disk size. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'DiskMaxSize' => [ - 'description' => 'The maximum size of the disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '80', - ], - 'CanBuyCount' => [ - 'description' => 'The number of disks that you can purchase.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Category' => [ - 'description' => 'The type of the disk.'."\n" - ."\n" - .'* cloud_efficiency:ultra disk.'."\n" - .'* cloud_ssd:all-flash disk.'."\n" - .'* local_hdd:local HDD.'."\n" - .'* local_ssd:local SSD.', - 'type' => 'string', - 'example' => 'cloud_ssd', - ], - 'DefaultDiskSize' => [ - 'description' => 'The default size of the disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Ability' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Ability' => [ - 'description' => 'Node product capability.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'Node product capability.', - 'example' => 'cloud_efficiency: Efficient cloud storage'."\n" - .'cloud_ssd: Full Flash Cloud Drive', - ], - ], - ], - ], - ], - ], + 'ResourceDetailInfos' => [ + 'description' => 'The key properties of the device.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RegionID' => ['description' => 'The ID of the edge node to which the device belongs.', 'type' => 'string', 'example' => 'cn-chongqing-1', 'title' => ''], + 'ID' => ['description' => 'The ID of the device.', 'type' => 'string', 'example' => 'h-uf6009zoa6hdbjyqxcn1', 'title' => ''], + 'IP' => ['description' => 'The IP address of the device.', 'type' => 'string', 'example' => '10.152.196.36', 'title' => ''], + 'Server' => ['description' => 'The name of the server on which the device is deployed.', 'type' => 'string', 'example' => 'ens-nc2', 'title' => ''], + 'Type' => ['description' => 'The type of the instance.', 'type' => 'string', 'example' => 'ens.ac6.large', 'title' => ''], + 'Status' => ['description' => 'The status of the device.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'Mac' => ['description' => 'The media access control (MAC) address of the device.', 'type' => 'string', 'example' => '24:0B:88:04:71:E0', 'title' => ''], + 'ISP' => ['description' => 'The Internet service provider (ISP) to which the device belongs.', 'type' => 'string', 'example' => 'telecom', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'OrderId' => ['description' => 'The ID of the order.', 'type' => 'string', 'example' => 'b3b5bb9a-4e0b-4cac-8ebf-e5e015726723', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'RescaleDeviceService', + 'changeSet' => [ + ['createdAt' => '2021-06-03T06:37:27.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-25T02:50:33.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-13T04:00:11.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AE4F26E-7527-569F-A987-E3CF269A3C11\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-beijing-cmcc\\",\\n \\"EnsRegionName\\": \\"北京移动\\",\\n \\"DiskMinSize\\": 20,\\n \\"DiskMaxSize\\": 80,\\n \\"CanBuyCount\\": 2,\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"DefaultDiskSize\\": 20,\\n \\"Ability\\": {\\n \\"Ability\\": [\\n \\"cloud_efficiency:高效云盘\\\\ncloud_ssd:全闪云盘\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeCloudDiskAvailableResourceInfo', - ], - 'UntagResources' => [ - 'summary' => 'Removes tags from resources.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RescaleDeviceService'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RescaleDeviceService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F3F3570-E721-53F6-853F-37B7725AC6CB\\",\\n \\"DeviceIds\\": [\\n \\"[\'b-5qco9b10iei79z48phno4bmsr\']\\"\\n ],\\n \\"ResourceDetailInfos\\": [\\n {\\n \\"RegionID\\": \\"cn-chongqing-1\\",\\n \\"ID\\": \\"h-uf6009zoa6hdbjyqxcn1\\",\\n \\"IP\\": \\"10.152.196.36\\",\\n \\"Server\\": \\"ens-nc2\\",\\n \\"Type\\": \\"ens.ac6.large\\",\\n \\"Status\\": \\"Running\\",\\n \\"Mac\\": \\"24:0B:88:04:71:E0\\",\\n \\"ISP\\": \\"telecom\\"\\n }\\n ],\\n \\"OrderId\\": \\"b3b5bb9a-4e0b-4cac-8ebf-e5e015726723\\"\\n}","type":"json"}]', + ], + 'ResetAICInstance' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensXWIJMI', - ], + 'abilityTreeCode' => '139881', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'title' => '资源类型', - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'instance', - 'enum' => [ - 'instance', - 'eip', - 'disk', - 'network', - 'natgateway', - 'vswitch', - ], - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5zy93g7z1hnkdmav84joxyzgn', - ], - 'required' => true, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'TagKey', + 'name' => 'ServerId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The keys of the tags. Valid values of N: 1 to 20.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test_tag_key-2', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the server.', 'type' => 'string', 'required' => false, 'example' => 'cas-instance****', 'title' => ''], ], [ - 'name' => 'All', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only if you do not specify TagKey.N. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'required' => false, 'example' => 'aic-instance****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6AB7715D-8B97-5E81-854B-2429F8C7DEF2', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred while processing your request', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The operator is not permission for this operate ', - ], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', 'description' => ''], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ResetAICInstance', + 'summary' => 'Resets an Android in Container (AIC) instance.', + 'changeSet' => [ + ['createdAt' => '2024-02-28T01:27:18.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-05-09T03:52:22.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-09T06:41:40.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6AB7715D-8B97-5E81-854B-2429F8C7DEF2\\"\\n}","type":"json"}]', - 'title' => 'UntagResources', - ], - 'TagResources' => [ - 'summary' => 'Creates and adds tags to specific Edge Node Service (ENS) resources.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetAICInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ResetAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ResetDisk' => [ + 'summary' => 'Rolls back a disk by using a snapshot.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '200372', - 'abilityTreeNodes' => [ - 'FEATUREensXWIJMI', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '163879', + 'abilityTreeNodes' => ['FEATUREensM9G454'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tag that is bound to the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N that is added to the resource. 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://.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'team', - ], - 'Value' => [ - 'description' => 'The value of tag N that is added to the resource. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with acs: or contain http:// or https://.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Deep', - ], - ], - 'required' => true, - ], - 'required' => true, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'ResourceId', + 'name' => 'DiskId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resource IDs. You can add up to 50 resource IDs in a call.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5****', - ], - 'required' => true, - 'maxItems' => 50, - ], + 'schema' => ['description' => 'The ID of the disk that you want to roll back.', 'type' => 'string', 'required' => true, 'example' => 'd-bp199lyny9b3****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'SnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Set the value to instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'instance', - 'enum' => [ - 'instance', - 'eip', - 'disk', - 'vswitch', - 'network', - 'natgateway', - ], - ], + 'schema' => ['description' => 'The ID of the snapshot that you want to use to roll back the disk.', 'type' => 'string', 'required' => true, 'example' => 'sp-bp199lyny9b3****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C50C391C-533A-55D3-AC97-5D9333DE288F', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidResourceId.NotFound', - 'errorMessage' => 'The specified ResourceIds are not found in our records.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The operator is not permission for this operate', - ], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'IncorrectStatus.Disk', 'errorMessage' => 'The status of the disk is incorrect.', 'description' => 'The disk status is incorrect'], + ['errorCode' => 'DISK_SNAPSHOT_STATUS_NOT_MATCH', 'errorMessage' => 'Snapshot status mismatch.', 'description' => 'Snapshot status mismatch.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ResetDisk', + 'description' => 'When you call this operation, take note of the following items:'."\n" + ."\n" + .'- The disk must be in the In Use (In\\_Use) or Unattached (Available) state.'."\n" + ."\n" + .'- The instance to which the disk is attached must be in the Stopped (Stopped) state. You can call the [StopInstance](~~StopInstance~~) operation to stop an instance.'."\n" + ."\n" + .'- The specified snapshot must be created from the disk specified by the DiskId parameter.'."\n" + ."\n" + .'- If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an ENS instance by calling the [DescribeInstances](~~DescribeInstances~~) operation, the instance is locked for security reasons and no operations are allowed on the instance.', + 'changeSet' => [ + ['createdAt' => '2024-11-19T08:11:46.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-26T06:02:53.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C50C391C-533A-55D3-AC97-5D9333DE288F\\"\\n}","type":"json"}]', - 'title' => 'TagResources', - 'description' => 'Before you add tags to a resource, Alibaba Cloud checks the number of existing tags on the resource. If the number exceeds the upper limit, an error message is returned. Only instance resources, such as virtual machines and bare machines, are supported.'."\n", - ], - 'ListTagResources' => [ - 'summary' => 'Queries tags that are added to Edge Node Service (ENS) instances.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetDisk'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ResetDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'ResizeDisk' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensXWIJMI', - ], + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREensPTDMDF'], ], 'parameters' => [ [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'title' => '资源类型', - 'description' => 'The resource type. Set the value to instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'instance', - 'enum' => [ - 'instance', - 'disk', - 'eip', - 'network', - 'natgateway', - 'vswitch', - ], - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of resources. Valid values of N: 1 to 50.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-t252vwg7cib00ky8g0q', - ], - 'required' => false, - 'maxItems' => 50, - 'minItems' => 1, - ], - ], - [ - 'name' => 'NextToken', + 'name' => 'DiskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The token of the first page to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '153ba0bbb2be03f84eb48b699f0a4123', - ], + 'schema' => ['description' => 'The ID of the disk that you want to resize.', 'type' => 'string', 'required' => true, 'example' => 'd-5tzm9wnhzlhjzcbtxo465****', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'NewSize', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N of the instance. Valid values of N: **1** to **20**.'."\n" - ."\n" - .'* The key cannot start with `aliyun`, `acs:`, `http://`, or `https://`.'."\n" - .'* The key must be up to 64 characters in length.'."\n" - .'* The tag key cannot be an empty string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'team', - ], - 'Value' => [ - 'description' => 'The value of a tag that is attached to the topics you want to query. This parameter is not required. If you configure this parameter, you must also configure the **Key** parameter.**** If you include the Key and Value parameters in a request, this operation queries only the topics that use the specified tags. If you do not include these parameters in a request, this operation queries all topics that you can access.'."\n" - ."\n" - .'* Valid values of N: 1 to 20.'."\n" - .'* The value of this parameter can be an empty string.'."\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' => 'tagValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 50, - ], + 'schema' => ['description' => 'The size of the disk that you want to resize. Unit: GiB.', 'type' => 'string', 'required' => true, 'example' => '100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C78D9B61-69D8-5655-A312-A15DA5EA5D5E', - ], - 'TagResources' => [ - 'description' => 'The tags that are added to specified one or more resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'A list of tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceId' => [ - 'description' => 'The ID of the associated resources.'."\n", - 'type' => 'string', - 'example' => 'i-5zy93g7z1hnkdmav84joxyzgn', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'instance', - ], - 'TagKey' => [ - 'description' => 'The tag key of the instance.'."\n", - 'type' => 'string', - 'example' => 'test_tag_key-2', - ], - 'TagValue' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'CLUSTER', - ], - ], - ], - ], - 'NextToken' => [ - 'description' => 'The token of the first page to query.'."\n", - 'type' => 'string', - 'example' => 'abcfeg368547ccdef', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '689412F2-8402-181E-8C87-1EF62331DCC4'], + 'OrderId' => ['description' => 'The order ID.', 'type' => 'string', 'example' => '21522202681****', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'PARAM_NOT_ENOUGH', 'errorMessage' => 'Insufficient parameters entered', 'description' => ''], + ['errorCode' => 'INSTANCE_ID_NOT_FOUND', 'errorMessage' => 'Instance information not found', 'description' => ''], + ['errorCode' => 'ENS_BUY_USER_ILLEGAL', 'errorMessage' => 'User is illegal', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Insufficient parameters entered', 'description' => ''], + ['errorCode' => 'ENS_BUY_COUNT_LESS', 'errorMessage' => 'Too many resources purchased', 'description' => ''], + ['errorCode' => 'SIZE_ILLEGAL', 'errorMessage' => 'The purchased capacity is illegal', 'description' => ''], + ['errorCode' => 'ENS_BUY_STORE_ENOUGH', 'errorMessage' => 'Insufficient inventory of purchased resources', 'description' => ''], + ['errorCode' => 'ENS_BUY_DISK_STATUS_ILLEGAL', 'errorMessage' => 'The disk status is invalid', 'description' => ''], + ['errorCode' => 'SaleControl.VerificationFailed', 'errorMessage' => 'You did not pass the salecontrol verification.Please contact the product.', 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'SaleControlVerificationFailedDiskSpec', 'errorMessage' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product'], + ['errorCode' => 'SaleControlVerificationFailedDiskType', 'errorMessage' => 'Cloud disk type sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Cloud disk type sales constraint verification failed, please re-match, or contact the product'], + ['errorCode' => 'SaleControlVerificationFailedInstanceSystemDiskSpec', 'errorMessage' => 'The system disk capacity sales constraint verification failed, please re-match or contact the product.', 'description' => 'The system disk capacity sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedRegion', 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', 'description' => 'Node sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceDataDiskType', 'errorMessage' => 'Data disk type sales constraint verification failed, please re-select, or contact the product.', 'description' => 'Cloud disk type sales constraint verification failed, please re-select'], + ['errorCode' => 'CONFIGURATION_ALLOW_UPGRADE', 'errorMessage' => 'The order type of this commodity only supports upgrade.', 'description' => 'The order type of this commodity only supports upgrade.'], + ['errorCode' => 'InvalidInstancebillingCycleStatus', 'errorMessage' => 'The contract status of the current instance is incorrect.', 'description' => 'The contract status of the current instance is incorrect.'], + ['errorCode' => 'PendingEffectiveContract', 'errorMessage' => 'The contract of the current instance to take effect. Operation is prohibited.', 'description' => 'The contract of the current instance to take effect. Operation is prohibited.'], + ['errorCode' => 'InstanceForbidOperate', 'errorMessage' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.', 'description' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.'], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + 'title' => 'ResizeDisk', + 'summary' => 'Resizes a pay-as-you-go disk that you purchase.', + 'changeSet' => [ + ['createdAt' => '2025-04-10T11:02:48.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-08-19T11:59:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-21T03:22:11.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-09T03:45:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-09-27T06:05:24.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-08-11T03:05:50.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResizeDisk'], ], - 403 => [ - [ - 'errorCode' => 'NoPermission ', - 'errorMessage' => 'The operator is not permission for this operate', + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ResizeDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C78D9B61-69D8-5655-A312-A15DA5EA5D5E\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"i-5zy93g7z1hnkdmav84joxyzgn\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"TagKey\\": \\"test_tag_key-2\\",\\n \\"TagValue\\": \\"CLUSTER\\"\\n }\\n ],\\n \\"NextToken\\": \\"abcfeg368547ccdef\\"\\n}","type":"json"}]', - 'title' => 'ListTagResources', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"689412F2-8402-181E-8C87-1EF62331DCC4\\",\\n \\"OrderId\\": \\"21522202681****\\"\\n}","type":"json"}]', ], - 'DescribeBandwitdhByInternetChargeType' => [ - 'summary' => 'Queries the metering method for the bandwidth.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RevokeSecurityGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'IpProtocol', 'in' => 'query', 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" + 'description' => 'The transport layer protocol. The value of this parameter is case-sensitive. Valid values:'."\n" ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", + .'- tcp'."\n" + ."\n" + .'- udp'."\n" + ."\n" + .'- icmp'."\n" + ."\n" + .'- gre'."\n" + ."\n" + .'- all: all protocols.', 'type' => 'string', 'required' => true, - 'example' => '2021-11-15T16:00:00Z', + 'enum' => ['tcp', 'udp', 'icmp', 'gre', 'all'], + 'example' => 'all', + 'title' => '', ], ], [ - 'name' => 'EndTime', + 'name' => 'PortRange', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2022-01-18T09:39:54Z', - ], + 'schema' => ['description' => 'The range of destination ports that correspond to the transport layer protocol for the security group rule. Valid values:'."\n" + ."\n" + .'- When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => true, 'example' => '22/22', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4p**** ', 'title' => ''], ], [ - 'name' => 'Isp', + 'name' => 'Policy', 'in' => 'query', 'schema' => [ - 'description' => 'The Internet service provider (ISP). Valid values:'."\n" + 'description' => 'The authorization policy. Valid values:'."\n" ."\n" - .'* cmcc: China Mobile'."\n" - .'* telecom: China Telecom'."\n" - .'* unicom: China Unicom'."\n" - .'* multiCarrier: multi-line ISP'."\n", + .'- accept: allows access. This is the default value.'."\n" + ."\n" + .'- drop: denies access and does not return responses.', 'type' => 'string', 'required' => false, - 'example' => 'unicom', + 'default' => 'accept', + 'enum' => ['accept', 'drop'], + 'example' => 'accept', + 'title' => '', ], ], [ - 'name' => 'EnsRegionId', + 'name' => 'Priority', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-cbn-2', - ], + 'schema' => ['description' => 'The priority of the security group rule. Valid values: **1** to **100**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => ['description' => 'The source CIDR block. CIDR blocks and IPv4 addresses are supported. Default value: 0.0.XX.XX/0.', 'type' => 'string', 'required' => true, 'example' => '10.0.XX.XX/8', 'title' => ''], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => ['description' => 'The range of source ports that correspond to the transport layer protocol for the security group rule. Valid values:'."\n" + ."\n" + .'- When the IpProtocol parameter is set to tcp or udp, the port number range is **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => false, 'example' => '22/22', 'title' => ''], ], ], 'responses' => [ @@ -50773,151 +37721,161 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'BandwidthValue' => [ - 'description' => 'The bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method. Valid values:'."\n" - ."\n" - .'* BandwidthByDay: Pay by daily peak bandwidth'."\n" - .'* 95BandwidthByMonth: Pay by monthly 95th percentile bandwidth'."\n" - .'* PayByBandwidth4thMonth: Pay by monthly fourth peak bandwidth'."\n" - .'* PayByBandwidth: Pay by fixed bandwidth'."\n" - ."\n" - .'You can specify only one metering method for network usage and cannot overwrite the existing metering method.'."\n", - 'type' => 'string', - 'example' => '95BandwidthByMonth', - ], - 'RequestId' => [ - 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => '08027633-8501-5A36-B90D-F7C38B5EC75D', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp. The time follows the ISO 8601 standard. The time is displayed in UTC. Example: 2016-10-20T04:00:00Z.'."\n", - 'type' => 'string', - 'example' => '2019-10-12T05:45:00Z', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InsufficientEipCapacity', - 'errorMessage' => 'Insufficient EIP inventory under the specified territory.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'SecurityGroupRule.NotFound', 'errorMessage' => 'The input security group rule does not exist.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'DependencyViolation', 'errorMessage' => 'There is still instance(s) in the specified security group.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthValue\\": 123,\\n \\"InternetChargeType\\": \\"95BandwidthByMonth\\",\\n \\"RequestId\\": \\"08027633-8501-5A36-B90D-F7C38B5EC75D\\",\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\"\\n}","type":"json"}]', - 'title' => 'DescribeBandwitdhByInternetChargeType', - ], - 'DescribeUserBandWidthData' => [ - 'summary' => 'Queries the bandwidth that you use within a specified period of time.', - 'methods' => [ - 'post', - 'get', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'RevokeSecurityGroup', + 'summary' => 'Deletes an inbound security group rule. After the rule is deleted, the access control implemented by the rule is removed.', + 'description' => '- In the security group-related API documents, inbound traffic refers to the traffic sent by the source and received by the destination.'."\n" + ."\n" + .'- You can determine an inbound security group rule by specifying one of the following groups of parameters. You cannot determine a security group rule by specifying only one parameter.'."\n" + ."\n" + .'- You can specify one or more of the following parameters to remove access control for a CIDR block: IpProtocol, PortRange, Policy, and SourceCidrIp.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RevokeSecurityGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RevokeSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'RevokeSecurityGroupEgress' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'IpProtocol', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the node. You can specify only one node ID. By default, all nodes are queried.'."\n", + 'description' => 'The transport layer protocol. The value of this parameter is case-sensitive. Valid values:'."\n" + ."\n" + .'- tcp'."\n" + ."\n" + .'- udp'."\n" + ."\n" + .'- icmp'."\n" + ."\n" + .'- gre'."\n" + ."\n" + .'- all: All protocols are supported.', 'type' => 'string', - 'required' => false, - 'example' => 'cn-taiyuan-telecom', + 'required' => true, + 'enum' => ['tcp', 'udp', 'icmp', 'gre', 'all'], + 'example' => 'all', + 'title' => '', ], ], [ - 'name' => 'InstanceId', + 'name' => 'PortRange', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance for which you want to query the data. You can specify only one instance ID. By default, all instances are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5inkeimcipxk26yqtzm4q****', - ], + 'schema' => ['description' => 'The range of destination ports that correspond to the transport layer protocol for the security group rule. Valid values:'."\n" + ."\n" + .'- If you set the IpProtocol parameter to tcp or udp, the port number ranges from **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => true, 'example' => '22/22', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-05-21T10:22:00Z', - ], + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => true, 'example' => 'sg-bp67acfmxazb4ph***', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'Policy', 'in' => 'query', 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" + 'description' => 'The action of the security group rule. Valid values:'."\n" + ."\n" + .'- **accept**: allows access.'."\n" ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", + .'- **drop**: denies access and returns no responses.'."\n" + ."\n" + .'Default value: **accept**.', 'type' => 'string', - 'required' => true, - 'example' => '2019-05-21T12:22:00Z', + 'required' => false, + 'default' => 'accept', + 'enum' => ['accept', 'drop'], + 'example' => 'accept', + 'title' => '', ], ], [ - 'name' => 'Period', + 'name' => 'Priority', 'in' => 'query', - 'schema' => [ - 'description' => 'The precision of the monitoring data that you want to obtain. Valid values: 300, 1200, 3600, and 14400. Default value: 300. Unit: seconds.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '300', - ], + 'schema' => ['description' => 'The priority of the security group rule. Valid values: **1** to **100**. A smaller value indicates a higher priority.'."\n" + ."\n" + .'Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'Isp', + 'name' => 'DestCidrIp', 'in' => 'query', - 'schema' => [ - 'description' => 'The Internet service provider (ISP). Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile'."\n" - .'* telecom: China Telecom'."\n" - .'* unicom: China Unicom'."\n" - .'* multiCarrier: multi-line ISP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cmcc', - ], + 'schema' => ['description' => 'The destination IP addresses. CIDR blocks and IPv4 addresses are supported.'."\n" + ."\n" + .'By default, this parameter is empty.', 'type' => 'string', 'required' => true, 'example' => '10.0.0.0/8', 'title' => ''], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => ['description' => 'The range of port numbers that correspond to the transport layer protocol for the source security group. Valid values:'."\n" + ."\n" + .'- If you set the IpProtocol parameter to tcp or udp, the port number ranges from **1** to **65535**. The start port number and the end port number are separated by a forward slash (/). Correct example: **1/200**. Incorrect example: **200/1**.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to icmp, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to gre, the port number range is **-1/-1**, which indicates all ports.'."\n" + ."\n" + .'- When the IpProtocol parameter is set to all, the port number range is **-1/-1**, which indicates all ports.', 'type' => 'string', 'required' => false, 'example' => '22/22', 'title' => ''], ], ], 'responses' => [ @@ -50925,1568 +37883,1217 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. 0 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'MonitorData' => [ - 'description' => 'The monitoring data.'."\n", - 'type' => 'object', - 'properties' => [ - 'BandWidthMonitorData' => [ - 'description' => 'The bandwidth data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DownBandWidth' => [ - 'description' => 'The outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'InternetRX' => [ - 'description' => 'The Internet traffic to the instance. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'InternetTX' => [ - 'description' => 'The Internet traffic from the instance. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp when the monitoring data was queried. 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' => '2019-10-12T05:45:00Z', - ], - 'UpBandWidth' => [ - 'description' => 'The inbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - ], - 'MaxDownBandWidth' => [ - 'description' => 'The maximum outbound bandwidth within the queried time range. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '16817468', - ], - 'MaxUpBandWidth' => [ - 'description' => 'The maximum inbound bandwidth within the queried time range. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '231008', - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '50373E71-7710-4620-8AAB-133CCE49451C', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'USERNOTFOUND', - 'errorMessage' => 'The user is not in ens-controller.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidSecurityGroupId.NotFound', 'errorMessage' => 'The specified SecurityGroupId does not exist.', 'description' => 'The specified security group ID does not exist.'], + ['errorCode' => 'SecurityGroupRuleConflict.Duplicated', 'errorMessage' => 'The SecurityGroup rule already exists.', 'description' => 'duplicate security group rules.'], + ['errorCode' => 'AuthorizationLimitExceed', 'errorMessage' => 'The limit of authorization records in the security group reaches.', 'description' => 'The number of security group rules exceeds the limit.'], + ['errorCode' => 'SecurityGroupRule.NotFound', 'errorMessage' => 'The input security group rule does not exist.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"MonitorData\\": {\\n \\"BandWidthMonitorData\\": [\\n {\\n \\"DownBandWidth\\": 0,\\n \\"InternetRX\\": 0,\\n \\"InternetTX\\": 0,\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\",\\n \\"UpBandWidth\\": 0\\n }\\n ],\\n \\"MaxDownBandWidth\\": \\"16817468\\",\\n \\"MaxUpBandWidth\\": \\"231008\\"\\n },\\n \\"RequestId\\": \\"50373E71-7710-4620-8AAB-133CCE49451C\\"\\n}","errorExample":""},{"type":"xml","example":"\\n200\\n 50373E71-7710-4620-8AAB-133CCE49451C\\n \\n 16817468\\n 231008\\n \\n 0\\n 0\\n 0\\n 0\\n 2019-10-12T05:45:00Z\\n \\n \\n 0\\n50373E71-7710-4620-8AAB-133CCE49451C\\ntrue\\n\\n","errorExample":""}]', - 'title' => 'DescribeUserBandWidthData', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'RevokeSecurityGroupEgress', + 'summary' => 'Deletes an outbound security group rule. After the rule is deleted, the access control implemented by the rule is removed.', + 'description' => '> In the security group-related API documents, outbound traffic refers to the traffic sent by the source and received by the destination.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeMeasurementData' => [ - 'summary' => 'Queries the metering data of the user.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:42.000Z', 'description' => 'Error codes changed, Request parameters changed'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RevokeSecurityGroupEgress'], ], ], - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-06-01T00:00:00Z', - ], - ], + 'ramActions' => [ [ - 'name' => 'EndDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-08-30T00:00:00Z', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RevokeSecurityGroupEgress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'MeasurementDatas' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'MeasurementData' => [ - 'description' => 'The metering data returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'BandWidthFeeDatas' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BandWidthFeeData' => [ - 'description' => 'The bandwidth data returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CostCode' => [ - 'description' => 'The code of the bandwidth plan.'."\n", - 'type' => 'string', - 'example' => 'cn-cmcc-1', - ], - 'CostName' => [ - 'description' => 'The name of the bandwidth plan.'."\n", - 'type' => 'string', - 'example' => 'Beijing, Shanghai, and Guangzhou Mobile'."\n", - ], - 'CostVal' => [ - 'description' => 'The bandwidth consumption. Unit: bit/second.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16486', - ], - ], - ], - ], - ], - ], - 'ChargeModel' => [ - 'description' => 'The metering method. Valid values:'."\n" - ."\n" - .'* ChargeByUnified: unified metering.'."\n" - .'* ChargeByGrade: differential metering.'."\n", - 'type' => 'string', - 'example' => 'ChargeByGrade', - ], - 'CostCycle' => [ - 'description' => 'The metering cycle.'."\n", - 'type' => 'string', - 'example' => '2019-07-30', - ], - 'CostEndTime' => [ - 'description' => 'The end time of the metering cycle.'."\n", - 'type' => 'string', - 'example' => '2019-07-30T16:00:00Z', - ], - 'CostStartTime' => [ - 'description' => 'The start time of the metering cycle.'."\n", - 'type' => 'string', - 'example' => '2019-07-29T16:00:00Z', - ], - 'ResourceFeeData' => [ - 'description' => 'The information about computing resources.'."\n", - 'type' => 'object', - 'properties' => [ - 'Memory' => [ - 'description' => 'The memory size. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '24', - ], - 'Storage' => [ - 'description' => 'The storage capacity. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'Vcpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - ], - ], - 'ResourceFeeDataDetails' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ResourceFeeDataDetail' => [ - 'description' => 'Details of the computing resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CostCode' => [ - 'description' => 'The code of the resource.'."\n", - 'type' => 'string', - 'example' => 'vCPU', - ], - 'CostName' => [ - 'description' => 'The name of the resource.'."\n", - 'type' => 'string', - 'example' => 'vCPU', - ], - 'CostVal' => [ - 'description' => 'The consumption of the resource.'."\n" - ."\n" - .'* Memory unit: GB.'."\n" - .'* CPU unit: vCPU.'."\n" - .'* Storage unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '55', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'vCPU', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'RollbackApplication' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '4389', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '474bdef0-d149-4695-abfb-52912d91****', 'title' => ''], + ], + [ + 'name' => 'FromAppVersion', + 'in' => 'query', + 'schema' => ['description' => 'The current version number.', 'type' => 'string', 'required' => true, 'example' => 'v2-1', 'title' => ''], + ], + [ + 'name' => 'ToAppVersion', + 'in' => 'query', + 'schema' => ['description' => 'The target version number. By default, the system automatically rolls back the container version to the previous version.', 'type' => 'string', 'required' => false, 'example' => 'v2', 'title' => ''], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of the asynchronous rollback operation. Unit: seconds. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"MeasurementDatas\\": {\\n \\"MeasurementData\\": [\\n {\\n \\"BandWidthFeeDatas\\": {\\n \\"BandWidthFeeData\\": [\\n {\\n \\"CostCode\\": \\"cn-cmcc-1\\",\\n \\"CostName\\": \\"北上广移动\\",\\n \\"CostVal\\": 16486\\n }\\n ]\\n },\\n \\"ChargeModel\\": \\"ChargeByGrade\\",\\n \\"CostCycle\\": \\"2019-07-30\\",\\n \\"CostEndTime\\": \\"2019-07-30T16:00:00Z\\",\\n \\"CostStartTime\\": \\"2019-07-29T16:00:00Z\\",\\n \\"ResourceFeeData\\": {\\n \\"Memory\\": 24,\\n \\"Storage\\": 60,\\n \\"Vcpu\\": 12\\n },\\n \\"ResourceFeeDataDetails\\": {\\n \\"ResourceFeeDataDetail\\": [\\n {\\n \\"CostCode\\": \\"vCPU\\",\\n \\"CostName\\": \\"vCPU\\",\\n \\"CostVal\\": 55,\\n \\"ResourceType\\": \\"vCPU\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","errorExample":""},{"type":"xml","example":"\\n6E17CBE3-8701-4F0A-B796-BCCA6759C167\\n\\n \\n \\n \\n cn-telecom-2\\n 230283916\\n 地区中心电信\\n \\n \\n cn-cmcc-1\\n 16486\\n 北上广移动\\n \\n \\n 2019-07-30\\n 2019-07-30T16:00:00Z\\n 2019-07-29T16:00:00Z\\n \\n 220\\n 22\\n 11\\n \\n \\n \\n 55\\n vcpu\\n Vcpu\\n vCPU\\n \\n \\n 110\\n memory\\n Memory\\n 内存\\n \\n \\n 2885\\n storage\\n Storage\\n \\n \\n \\n ChargeByGrade\\n \\n\\n\\n","errorExample":""}]', - 'title' => 'DescribeMeasurementData', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribePrice' => [ - 'summary' => 'Queries the most recent price of an Edge Node Service (ENS) instance.', - 'methods' => [ - 'post', - 'get', + 'title' => 'RollbackApplication', + 'summary' => 'Rolls back the container version of a specific application.', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:44.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RollbackApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RollbackApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'RunInstances' => [ + 'summary' => 'Create a pay-as-you-go or subscription ENS instance.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '101683', + 'abilityTreeNodes' => ['FEATUREensI1ZRKE'], ], 'parameters' => [ [ 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'title' => '实列规格。', - 'description' => 'The specifications of instances.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ens.sn1.tiny', - ], + 'schema' => ['description' => 'The instance type.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ens.sn1.small'], ], [ - 'name' => 'EnsRegionId', + 'name' => 'InstanceChargeType', 'in' => 'query', 'schema' => [ - 'title' => '节点ID。', - 'description' => 'The ID of the ENS node.'."\n", + 'description' => 'The billing method for the instance. Valid values:'."\n" + ."\n" + .'- **PrePaid**: subscription'."\n" + ."\n" + .'- **PostPaid**: pay-as-you-go', + 'enumValueTitles' => ['PostPaid' => '', 'PrePaid' => ''], 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai-unicom', + 'required' => false, + 'enum' => ['PrePaid', 'PostPaid'], + 'title' => '', + 'example' => 'PostPaid', ], ], [ - 'name' => 'Period', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'title' => '购买资源的时长,如果不指定PeriodUnit,则默认按月购买。目前只支持按Days和Month。如果PeriodUnit=Day时,Period仅可以3。如果PeriodUnit=Monthc时,则Period可以为1-9,12。', - 'description' => 'The subscription duration of the instance.'."\n" - ."\n" - .'* If you leave the PeriodUnit parameter empty, the instance is purchased on a monthly basis. Valid values: Day and Month.'."\n" - .'* If you set PeriodUnit to Day, you can set Period only to 3.'."\n" - .'* If you set PeriodUnit to Month, you can set Period to a number from 1 to 9, or set Period to 12.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '12', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The image ID. This parameter is required for all instance types except for ARM-based ones.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'm-5si16wo6simkt267p8b7h****'], ], [ - 'name' => 'SystemDisk.Size', + 'name' => 'NetDistrictCode', 'in' => 'query', - 'schema' => [ - 'title' => '系统盘大小,单位:GB', - 'description' => 'The size of the system disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The district code.'."\n" + ."\n" + .'> This parameter is required for regional scheduling and is invalid for node-level scheduling.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '350000'], ], [ - 'name' => 'Quantity', + 'name' => 'Carrier', 'in' => 'query', - 'schema' => [ - 'title' => '数量。', - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The carrier.'."\n" + ."\n" + .'> This parameter is required for regional scheduling.
For node-level scheduling, if you do not specify a carrier for a node that supports multiple carriers, the system creates instances with all supported carriers. For example, if a node supports both China Mobile and China Unicom, the created instances will have two carriers.
You can call the [DescribeRegionIsps](~~2637461~~) operation to obtain the carrier information of a node.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'telecom'], ], [ - 'name' => 'DataDisk.1.Size', + 'name' => 'ScheduleAreaLevel', 'in' => 'query', - 'schema' => [ - 'title' => '数据盘大小,单位GB。如果此字段不为空,则以此段为准。', - 'description' => 'The size of the data disk. Unit: GB. If you specify this parameter, this parameter takes precedence over the Size property in DataDisks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The scheduling level. This determines whether to perform regional or node-level scheduling. Valid values:'."\n" + ."\n" + .'- **Big**: large area'."\n" + ."\n" + .'- **Middle**: province'."\n" + ."\n" + .'- **Small**: city'."\n" + ."\n" + .'- **Region**: node', 'type' => 'string', 'required' => false, 'example' => 'Region', 'title' => ''], + ], + [ + 'name' => 'SchedulingStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling strategy. Valid values:'."\n" + ."\n" + .'- **Concentrate**: concentrated deployment'."\n" + ."\n" + .'- **Disperse**: dispersed deployment'."\n" + ."\n" + .'> For node-level scheduling, set this parameter to **Concentrate**. For regional scheduling, select a strategy based on your business requirements.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'Concentrate'], + ], + [ + 'name' => 'EnsRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the node.'."\n" + ."\n" + .'> This parameter is required for node-level scheduling and is invalid for regional scheduling.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'cn-foshan-telecom'], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => 'The instance password.'."\n" + ."\n" + .'> You must specify at least one of the `Password`, `KeyPairName`, and `PasswordInherit` parameters.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'testPassword'], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair.'."\n" + ."\n" + .'> You must specify at least one of the `Password`, `KeyPairName`, and `PasswordInherit` parameters.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'wx2-jumpserver'], ], [ 'name' => 'InternetChargeType', 'in' => 'query', + 'schema' => ['description' => 'The billing method for bandwidth. Valid values:'."\n" + ."\n" + .'- **BandwidthByDay**: pay-by-day peak bandwidth'."\n" + ."\n" + .'- **95BandwidthByMonth**: pay-by-monthly 95th percentile bandwidth'."\n" + ."\n" + .'> You can select a billing method only when you purchase an instance for the first time. For subsequent purchases, the system uses the previously selected billing method by default.', 'type' => 'string', 'example' => 'BandwidthByDay', 'title' => '', 'required' => false], + ], + [ + 'name' => 'SystemDisk', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '带宽计费方式', - 'description' => 'The bandwidth metering method of the instance. Valid values:'."\n" - ."\n" - .'* BandwidthByDay: Pay by daily peak bandwidth'."\n" - .'* 95BandwidthByMonth: Pay by monthly 95th percentile bandwidth'."\n" - .'* PayByBandwidth4thMonth: Pay by monthly fourth peak bandwidth'."\n" - .'* PayByBandwidth: Pay by fixed bandwidth'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '95BandwidthByMonth', + 'title' => '', + 'description' => 'The system disk specifications.', + 'type' => 'object', + 'properties' => [ + 'Size' => ['description' => 'The size of the system disk, in GiB.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '50', 'title' => ''], + 'Category' => ['description' => 'The category of the system disk.', 'type' => 'string', 'required' => false, 'example' => 'local_ssd', 'title' => ''], + ], + 'required' => false, + 'example' => '', ], ], [ - 'name' => 'DataDisks', + 'name' => 'DataDisk', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'title' => '如果DataDisk.1.Size为空且此字段不为空时的则以此字段为准', - 'description' => 'If you leave DataDisk.1.Size empty, the value that you specified for this parameter is used.'."\n", + 'title' => '', + 'description' => 'The data disk specifications.', 'type' => 'array', 'items' => [ + 'description' => 'The list of data disks.', 'type' => 'object', 'properties' => [ - 'Category' => [ - 'title' => '磁盘类型', - 'description' => 'The category of the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - 'default' => 'cloud_efficiency', - 'enum' => [ - 'cloud_efficiency', - 'cloud_ssd', - 'local_hdd', - 'local_ssd', - ], - ], - 'Size' => [ - 'description' => 'The size of the data disk. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'minimum' => '20', - 'example' => '50', - ], + 'Size' => ['description' => 'The size of the data disk, in GiB.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], + 'Category' => ['description' => 'The category of the data disk. Valid values:'."\n" + ."\n" + .'- **cloud\\_efficiency**: Ultra Disk'."\n" + ."\n" + .'- **cloud\\_ssd**: standard SSD'."\n" + ."\n" + .'- **local\\_hdd**: local HDD'."\n" + ."\n" + .'- **local\\_ssd**: local SSD', 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" + ."\n" + .'- true: The data disk is encrypted.'."\n" + ."\n" + .'- false (default): The data disk is not encrypted.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key to use for the data disk. Valid values:'."\n" + ."\n" + .'- true: yes'."\n" + ."\n" + .'- false (default): no'."\n" + ."\n" + .'> If Encrypted is set to true but KMSKeyId is left empty, the default service key is used.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], 'required' => false, - 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, + 'example' => '', ], ], [ - 'name' => 'PeriodUnit', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'title' => '查询云服务器ENS不同计费周期的价格。取值范围:'."\n" - .'Month(默认):按月计费的价格单位。'."\n" - .'Day:按天计费的价格单位。', - 'description' => 'The billing cycle of the ENS instance. Valid values:'."\n" - ."\n" - .'* Month (default):'."\n" - .'* Day'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - 'enum' => [ - 'Month', - 'Day', - ], - ], + 'schema' => ['description' => 'The subscription duration.'."\n" + ."\n" + .'- If `PeriodUnit` is set to `Day`, `Period` can be set only to `3`.'."\n" + ."\n" + .'- If `PeriodUnit` is set to `Month`, `Period` can be set to `1` to `9`, or `12`.', 'type' => 'integer', 'format' => 'int64', 'example' => '1-9,12', 'title' => '', 'required' => false], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'PriceInfo' => [ - 'description' => 'The price information.'."\n", - 'type' => 'object', - 'properties' => [ - 'Price' => [ - 'description' => 'The price.'."\n", - 'type' => 'object', - 'properties' => [ - 'Currency' => [ - 'description' => 'The type of currency.'."\n" - ."\n" - .'* USD: US dollar'."\n" - .'* JPY: Japanese Yen'."\n", - 'type' => 'string', - 'example' => 'USD', - ], - 'DiscountPrice' => [ - 'description' => 'The discount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1', - ], - 'OriginalPrice' => [ - 'description' => 'The original price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '16125.00', - ], - 'TradePrice' => [ - 'description' => 'The final price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '126.75', - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '694EB8FF-446C-5B1E-8146-9629E492551F', - ], - ], - 'description' => '', - ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => ['description' => 'The maximum public bandwidth. If this value is greater than 0, a public IP address is automatically assigned to the instance.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The input parameter is Invalid.', - ], - [ - 'errorCode' => 'StockNotEnough', - 'errorMessage' => 'The specified configuration is unavailable. Reconfigure and try again.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + [ + 'name' => 'Amount', + 'in' => 'query', + 'schema' => ['description' => 'The number of instances to create. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'title' => '', 'example' => '1'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PriceInfo\\": {\\n \\"Price\\": {\\n \\"Currency\\": \\"USD\\",\\n \\"DiscountPrice\\": 1,\\n \\"OriginalPrice\\": 16125,\\n \\"TradePrice\\": 126.75\\n }\\n },\\n \\"RequestId\\": \\"694EB8FF-446C-5B1E-8146-9629E492551F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n USD\\n 1\\n 16125\\n 126.75\\n \\n \\n 694EB8FF-446C-5B1E-8146-9629E492551F\\n","errorExample":""}]', - 'title' => 'DescribePrice', - ], - 'ExportBillDetailData' => [ - 'summary' => 'Exports billing details within a specific time range.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'NetWorkId', + 'in' => 'query', + 'schema' => ['description' => 'The network ID.'."\n" + ."\n" + .'> This parameter is applicable only to node-level scheduling. An error is reported if you specify this parameter for regional scheduling. If you do not specify a vSwitch, the system validates the network ID, but instance creation in this network is not guaranteed.', 'type' => 'string', 'example' => 'net-id', 'title' => '', 'required' => false], ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '4380', - 'abilityTreeNodes' => [ - 'FEATUREens43DFLD', + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.'."\n" + ."\n" + .'> This parameter is applicable only to node-level scheduling. An error is reported if you specify this parameter for regional scheduling.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'vsw-5sagnw7m613oulalkd10n****'], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'StartDate', + 'name' => 'SecurityId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'sg-test'], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'test-HostName'], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => ['description' => 'The instance name. The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character and cannot start with `http://` or `https://`. It can contain Chinese characters, letters, digits, colons (:), underscores (\\_), periods (.), and hyphens (-).'."\n" + ."\n" + .'By default, this parameter is set to the `InstanceId` of the instance.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'TestName'], + ], + [ + 'name' => 'UniqueSuffix', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to append an ordered suffix to `HostName` and `InstanceName`. The suffix starts from 001 and increments up to 999.', 'type' => 'boolean', 'example' => 'True', 'title' => '', 'required' => false], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => ['description' => 'The user data for the instance. The data must be Base64-encoded and not exceed 16 KB in size.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'ZWtest'], + ], + [ + 'name' => 'AutoRenew', 'in' => 'query', - 'schema' => [ - 'title' => '开始时间,UTC格式', - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2020-06-01T00:00:00Z', - ], + 'schema' => ['description' => 'Specifies whether to enable auto-renewal. Valid values:'."\n" + ."\n" + .'- **true**: enables auto-renewal'."\n" + ."\n" + .'- **false** (default): disables auto-renewal'."\n" + ."\n" + .'> This parameter does not apply to pay-as-you-go instances.', 'type' => 'boolean', 'default' => 'false', 'title' => '', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'EndDate', + 'name' => 'SchedulingPriceStrategy', 'in' => 'query', 'schema' => [ - 'title' => '结束时间UTC格式', - 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'description' => 'The price-based scheduling strategy. Valid values:'."\n" + ."\n" + .'- **PriceHighPriority**: prioritizes nodes with higher prices'."\n" + ."\n" + .'- **PriceLowPriority**: prioritizes nodes with lower prices', 'type' => 'string', - 'required' => true, - 'example' => '2020-08-30T00:00:00Z', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'FilePath' => [ - 'title' => '文件下载地址', - 'description' => 'The download path of the exported file.'."\n", - 'type' => 'string', - 'example' => 'http://test-oss.com/image_01.jpeg', - ], - 'RequestId' => [ - 'title' => '请求ID,公共字段', - 'description' => 'The ID of the request. This parameter is a common parameter. Each request has a unique ID. You can use the ID to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'BEA05990-B90D-594F-8C8E-650AEEB94C5D', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + 'example' => 'PriceHighPriority', + 'default' => 'PriceLowPriority', + 'enum' => ['PriceHighPriority', 'PriceLowPriority'], + 'title' => '', + 'required' => false, ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"FilePath\\": \\"http://test-oss.com/image_01.jpeg\\",\\n \\"RequestId\\": \\"BEA05990-B90D-594F-8C8E-650AEEB94C5D\\"\\n}","type":"json"}]', - 'title' => 'ExportBillDetailData', - ], - 'ExportMeasurementData' => [ - 'summary' => 'Exports the metering data within a specific time range.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '1454', - 'abilityTreeNodes' => [ - 'FEATUREens43DFLD', + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => ['description' => 'Private IP address.'."\n" + ."\n" + .'> This parameter can be used only for node-level scheduling. Configuring this parameter for region-level scheduling causes an error.'."\n" + .'> If you specify a private IP, the number of instances can only be 1, and the private IP takes effect only when both the private IP and the VSwitch ID are specified.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => '', 'required' => false], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'StartDate', + 'name' => 'PeriodUnit', 'in' => 'query', 'schema' => [ - 'title' => '开始时间,UTC格式', - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-mm-ddthh:mm:ssz format. The time must be in UTC.'."\n", + 'description' => 'The unit of time for purchasing resources. Valid values:'."\n" + ."\n" + .'- **Month** (default): Purchase by month.'."\n" + ."\n" + .'- **Day**: Purchase by day.', 'type' => 'string', - 'required' => true, - 'example' => '2019-06-01T00:00:00Z', + 'enum' => ['Month', 'Day'], + 'title' => '', + 'required' => false, + 'example' => 'Month', ], ], [ - 'name' => 'EndDate', + 'name' => 'PublicIpIdentification', 'in' => 'query', - 'schema' => [ - 'title' => '结束时间,UTC格式', - 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-10-30T16:00:00Z', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'FilePath' => [ - 'title' => '文件下载地址', - 'description' => 'The download path of the exported file.'."\n", - 'type' => 'string', - 'example' => 'http://test-oss.com/image_01.jpeg', - ], - 'RequestId' => [ - 'title' => '请求ID,公共字段', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + 'schema' => ['description' => 'Specifies whether to assign a public IP address.'."\n" + .'Valid values:'."\n" + ."\n" + .'- **true** (default): assigns a public IP address.'."\n" + ."\n" + .'- **false**: does not assign a public IP address.', 'type' => 'boolean', 'default' => 'true', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"FilePath\\": \\"http://test-oss.com/image_01.jpeg\\",\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', - 'title' => 'ExportMeasurementData', - ], - 'DescribeHistoryEvents' => [ - 'summary' => 'Queries instance system events.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the preset password of the image. Valid values:'."\n" + ."\n" + .'- **true**: uses the preset password.'."\n" + ."\n" + .'- **false**: does not use the preset password.'."\n" + ."\n" + .'> You must specify at least one of the `Password`, `KeyPairName`, and `PasswordInherit` parameters.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '222214', - 'abilityTreeNodes' => [ - 'FEATUREensZ4NH23', + [ + 'name' => 'InstanceChargeStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The billing policy of the instance. Valid values:'."\n" + ."\n" + .'- **instance**: The instance is billed individually.'."\n" + ."\n" + .'- If you do not specify this parameter, the account-level billing policy is used by default.', 'type' => 'string', 'required' => false, 'example' => 'instance', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'PageNumber', + 'name' => 'BillingCycle', 'in' => 'query', 'schema' => [ - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The billing cycle for the computing resources of the instance. This parameter is applicable only to pay-as-you-go instances that are billed individually.'."\n" + .'Valid values:'."\n" + ."\n" + .'- **Day**: billed on a daily basis'."\n" + ."\n" + .'- **Month**: billed on a monthly basis', + 'enumValueTitles' => ['Month' => '', 'Day' => ''], + 'type' => 'string', + 'enum' => ['Month', 'Day', 'Hour'], + 'title' => '', 'required' => false, - 'example' => '1', - 'default' => '1', + 'example' => 'Day', ], ], [ - 'name' => 'PageSize', + 'name' => 'IpType', 'in' => 'query', 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The IP address type. Valid values:'."\n" + ."\n" + .'- **ipv4** (default): IPv4.'."\n" + ."\n" + .'- **ipv6**: IPv6.'."\n" + ."\n" + .'- **ipv4Andipv6**: IPv4 and IPv6 (single stack).'."\n" + ."\n" + .'- **ipv4Withipv6**: IPv4 and IPv6 (dual stack).', + 'type' => 'string', + 'enum' => ['ipv4', 'ipv6', 'ipv4Andipv6', 'ipv4Withipv6'], 'required' => false, - 'example' => '10', - 'default' => '10', + 'example' => 'ipv4', + 'title' => '', ], ], [ - 'name' => 'EventTypes', + 'name' => 'AutoUseCoupon', 'in' => 'query', - 'style' => 'simple', - 'schema' => [ - 'description' => 'The list of event types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The type of the event. Valid values:'."\n" - ."\n" - .'* Instance:SystemFailure.Redeploy: The instance is redeployed due to system issues.'."\n" - .'* Instance:SystemFailure.Reboot: The instance is restarted due to a system error.'."\n" - .'* Instance:RegionNetworkDown: The node network is interrupted.'."\n" - .'* Disk:Stalled: The disk performance is impaired.'."\n" - .'* EnsRegion:NetworkMigration: The instance is migrated due to a system error.'."\n" - .'* IP:SafeRisk: IP alerts.'."\n" - .'* IP:SafeBan: IP blocking.'."\n" - .'* Instance:SystemUpgrade.Migrate: The instance needs to be migrated due to underlying upgrades.'."\n" - .'* Instance:SystemMaintenance.Redeploy: The instance is redeployed due to system maintenance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Instance:SystemFailure.Reboot', - 'enum' => [ - 'Instance:SystemFailure.Redeploy', - 'Instance:SystemFailure.Reboot', - 'Disk:Stalled', - 'EnsRegion:NetworkMigration', - 'IP:SafeRisk', - 'IP:SafeBan', - 'Instance:RegionNetworkDown', - 'Instance:SystemUpgrade.Migrate', - 'Instance:SystemMaintenance.Redeploy', - 'Instance:SystemMaintenance.Reboot', - ], - ], - 'required' => true, - 'maxItems' => 100, - 'minItems' => 1, - ], + 'schema' => ['description' => 'Specifies whether to automatically use coupons. Default value: `true`.', 'type' => 'string', 'default' => 'true', 'title' => '', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'EventLevels', + 'name' => 'Tag', 'in' => 'query', - 'style' => 'simple', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The levels of the event-triggered alerts.'."\n", + 'description' => 'The tags to add to the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The level of the specific event. Valid values:'."\n" - ."\n" - .'* CRITICAL'."\n" - .'* WARN'."\n" - .'* INFO'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'WARN', - 'enum' => [ - 'CRITICAL', - 'WARN', - 'INFO', + 'description' => 'A tag, which is a key-value pair.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'team', 'title' => ''], + 'Value' => ['description' => 'The value of the tag. The value cannot exceed 128 characters in length, start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'tagValue', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceIds', + 'name' => 'AutoReleaseTime', 'in' => 'query', - 'style' => 'simple', - 'schema' => [ - 'description' => 'The IDs of resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-55qi8m11rr53c4i964md8a00l', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The time when the pay-as-you-go instance is automatically released. The time must be in the [ISO 8601](~~25696~~) standard in the `yyyy-MM-ddTHH:mm:ssZ` format and must be in UTC.'."\n" + ."\n" + .'- If the seconds part (`ss`) is not `00`, the time is automatically set to the beginning of the current minute (`mm`).'."\n" + ."\n" + .'- The release time must be at least one hour later than the current time.', 'type' => 'string', 'format' => 'iso8601', 'required' => false, 'example' => '2023-06-28T14:38:52Z', 'title' => ''], ], [ - 'name' => 'EventStatus', + 'name' => 'SpotStrategy', 'in' => 'query', - 'style' => 'simple', 'schema' => [ - 'description' => 'Event status list.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The status of the event. Valid values:'."\n" - ."\n" - .'* Inquiring'."\n" - .'* Scheduled'."\n" - .'* Executing'."\n" - .'* Executed'."\n" - .'* Failed'."\n" - .'* Canceled'."\n" - .'* Avoided'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Inquiring', - 'enum' => [ - 'Inquiring', - 'Scheduled', - 'Executing', - 'Executed', - 'Avoided', - 'Failed', - 'Canceled', - ], - ], + 'description' => 'The spot strategy for pay-as-you-go instances. Valid values:'."\n" + ."\n" + .'- NoSpot (default): a regular pay-as-you-go instance'."\n" + ."\n" + .'- SpotAsPriceGo: a preemptible instance for which the system automatically bids based on the real-time market price'."\n" + ."\n" + .'Default value: NoSpot.', + 'type' => 'string', + 'enum' => ['SpotAsPriceGo', 'NoSpot'], 'required' => false, + 'example' => 'SpotAsPriceGo', + 'title' => '', ], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '5359599C-F656-57BD-8A0D-329A2FD511A6', - ], - 'Events' => [ - 'description' => 'The queried events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The queried event.'."\n", - 'type' => 'object', - 'properties' => [ - 'EventId' => [ - 'description' => 'The ID of the event.'."\n", - 'type' => 'string', - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', - ], - 'EventStatus' => [ - 'description' => 'The status of the event. Valid values:'."\n" - ."\n" - .'* Inquiring'."\n" - .'* Scheduled'."\n" - .'* Executing'."\n" - .'* Executed'."\n" - .'* Failed'."\n" - .'* Canceled'."\n" - .'* Avoided'."\n", - 'type' => 'string', - 'example' => 'Inquiring', - ], - 'EventType' => [ - 'description' => 'The type of the event. Description:'."\n" - ."\n" - .'* Instance:SystemFailure.Redeploy: The instance is redeployed due to system issues.'."\n" - .'* Instance:SystemFailure.Reboot: The instance is restarted due to a system error.'."\n" - .'* Instance:RegionNetworkDown: The node network is interrupted.'."\n" - .'* Disk:Stalled: The disk performance is impaired.'."\n" - .'* EnsRegion:NetworkMigration: The instance is migrated due to a system error.'."\n" - .'* IP:SafeRisk: IP alerts.'."\n" - .'* IP:SafeBan: IP blocking.'."\n" - .'* Instance:SystemUpgrade.Migrate: The instance needs to be migrated due to underlying upgrades.'."\n" - .'* Instance:SystemMaintenance.Redeploy: The instance is redeployed due to system maintenance.'."\n", - 'type' => 'string', - 'example' => 'Instance:SystemFailure.Reboot', - ], - 'ResourceId' => [ - 'description' => 'The ID of the associated resources.'."\n", - 'type' => 'string', - 'example' => 'i-55qi8m11rr53c4i964md8a00l', - ], - 'EventLevel' => [ - 'description' => 'The level of the specific event. Valid values:'."\n" - ."\n" - .'* CRITICAL'."\n" - .'* WARN'."\n" - .'* INFO'."\n", - 'type' => 'string', - 'example' => 'WARN', - ], - 'PublishTime' => [ - 'description' => 'The release time in milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1715578245000', - ], - 'ExtendedAttribute' => [ - 'description' => 'The extended attributes.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'Reason' => [ - 'description' => 'The event cause.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'NotBefore' => [ - 'description' => 'The scheduled execution time of the event in milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1715578245000', - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - ], - ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => ['description' => 'The protection period of the preemptible instance.'."\n" + ."\n" + .'Unit: hours.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of randomly generated IPv6 addresses to assign to the primary private ENI.', 'type' => 'integer', 'format' => 'int64', 'maximum' => '10', 'minimum' => '1', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable release protection for the instance to prevent it from being accidentally released from the console or by calling an API operation. Valid values:'."\n" + ."\n" + .'- true: enables release protection.'."\n" + ."\n" + .'- false: disables release protection.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> This parameter is applicable only to pay-as-you-go instances and protects them only from manual releases. It does not protect them from system-initiated releases.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The ID of the launch template.', 'type' => 'string', 'example' => 'lt-test', 'required' => false], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The name of the launch template.', 'type' => 'string', 'example' => 'lt-test', 'required' => false], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5359599C-F656-57BD-8A0D-329A2FD511A6\\",\\n \\"Events\\": [\\n {\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"EventStatus\\": \\"Inquiring\\",\\n \\"EventType\\": \\"Instance:SystemFailure.Reboot\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\",\\n \\"EventLevel\\": \\"WARN\\",\\n \\"PublishTime\\": 1715578245000,\\n \\"ExtendedAttribute\\": \\"{}\\",\\n \\"Reason\\": \\"目前系统策略额度不够\\",\\n \\"NotBefore\\": 1715578245000\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 30\\n}","type":"json"}]', - 'title' => 'DescribeHistoryEvents', - 'description' => '* You must specify an event type to query. You can query multiple event types at the same time.'."\n", - ], - 'BatchEventRebootInstance' => [ - 'summary' => 'The event that is used to immediately redeploy specified resources in batches or by appointment', - 'description' => '* This O\\&M operation supports only the following event types: Instance:SystemMaintenance.Reboot (instance reboot due to system problems)'."\n", - 'path' => '/', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The version of the launch template.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'required' => false], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensVRRV1Q', + [ + 'name' => 'VpdId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'EventInfos', + 'name' => 'VpdVSwitchIds', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The details of events.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The event.'."\n", - 'type' => 'object', - 'properties' => [ - 'EventId' => [ - 'description' => 'The ID of the system event.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'e-4452cec5a8f8eb9b2879a054207687d6', - ], - 'ResourceId' => [ - 'description' => 'A client ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-54hi3ffi63zrjt4wzx9mepeyh', - ], - 'PlanTime' => [ - 'description' => 'The execution time of the reservation. The timestamp is measured in milliseconds. If the OpsType parameter is set to scheduled, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1742452232000', - ], - 'OpsType' => [ - 'description' => 'The type of the O\\&M task.'."\n" - ."\n" - .'* immediate'."\n" - .'* scheduled'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'immediate', - ], - ], - 'required' => false, - ], + 'items' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', 'required' => false, ], ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'Results' => [ - 'description' => 'The result.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91E4AFBE-4E35-5D2A-A886-BB477C9953D2', 'title' => ''], + 'InstanceIds' => [ + 'description' => 'The IDs of the instances created by this request.', 'type' => 'array', - 'items' => [ - 'description' => 'The result.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'EventId' => [ - 'description' => 'The ID of the system event.'."\n", - 'type' => 'string', - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', - ], - 'Message' => [ - 'description' => 'The message of the operation. If the value of the Code parameter is 200, the value of this parameter is successful.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ResourceId' => [ - 'description' => 'The resource IDs.'."\n", - 'type' => 'string', - 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", - ], - ], - ], + 'items' => ['description' => 'The ID of a created instance.', 'type' => 'string', 'example' => '[\'i-5xxxx26dix05koz15l5413j25o\', \'i-5sdmxxxx\']', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'OrderId' => ['description' => 'The ID of the order generated for this request.', 'type' => 'string', 'example' => '213177957850399', 'title' => ''], ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"Message\\": \\"success\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'BatchEventRebootInstance', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'SaleControlVerificationFailedInstanceDistrict', 'errorMessage' => 'The regional sales constraint verification failed, please re-match or contact the product.', 'description' => 'Regional sales constraint verification failed, please re-match'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'OrderFailed', 'errorMessage' => 'Order failed, please try again.', 'description' => 'Order failed, please try again'], + ['errorCode' => 'SystemUseCouponFailed', 'errorMessage' => 'Failed to use coupon.', 'description' => 'Failed to use coupon'], + ['errorCode' => 'SystemUseStoredCardFailed', 'errorMessage' => 'Failed to use stored value card.', 'description' => 'Failed to use stored value card'], + ['errorCode' => 'System.SystemError', 'errorMessage' => 'system error.', 'description' => 'system error.'], + ['errorCode' => 'SystemCanRefundCheckFailed', 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['errorCode' => 'SystemOtsSystem', 'errorMessage' => 'ots storage error.', 'description' => 'ots storage error.'], + ['errorCode' => 'SystemQueryImmortalError', 'errorMessage' => 'Failed to call Juxiange.', 'description' => 'Failed to call Juxiange.'], + ['errorCode' => 'SystemQueryInstanceInfoFailed', 'errorMessage' => 'Failed to find instance information.', 'description' => 'Failed to find instance information'], + ['errorCode' => 'SystemResellerPayCalRefundUnitError', 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['errorCode' => 'SystemSaleValidateFailed', 'errorMessage' => 'Sales Expression Validation System Error.', 'description' => 'Sales Expression Validation System Error'], + ['errorCode' => 'SystemTransferDeleteOldResourceFailed', 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['errorCode' => 'SystemUnSupportOperationType', 'errorMessage' => 'Unsupported operation type.', 'description' => 'Unsupported operation type.'], + ['errorCode' => 'RiskRiskControlRejection', 'errorMessage' => 'Risk Control Rejection.', 'description' => 'Risk Control Rejection.'], + ['errorCode' => 'AuthRamAuthFailed', 'errorMessage' => 'ram sub-account authentication failed.', 'description' => ''], + ['errorCode' => 'CommodityInvalidComponent', 'errorMessage' => 'The module you purchased is illegal, please re-select.', 'description' => 'The module you purchased is illegal, please re-select.'], + ['errorCode' => 'CommodityInvalidItemCode', 'errorMessage' => 'Specification code illegal.', 'description' => 'Specification code illegal.'], + ['errorCode' => 'PriceHsfTimeoutError', 'errorMessage' => 'Time out when calling the request for quotation interface.', 'description' => 'Time out when calling the request for quotation interface.'], + ['errorCode' => 'PricePatingConfigError', 'errorMessage' => 'Inquiry related goods configuration error.', 'description' => 'Inquiry related goods configuration error.'], + ['errorCode' => 'PricePricingPlanResultNotFound', 'errorMessage' => 'Pricing plan price result not found.', 'description' => 'Pricing plan price result not found.'], + ['errorCode' => 'PriceRatingGetRatingpricingPlan', 'errorMessage' => 'Obtain a valid pricing plan exception.', 'description' => 'Obtain a valid pricing plan exception.'], + ['errorCode' => 'OrderAbnormalResourceStatusForRenew', 'errorMessage' => 'Invalid resource status for renewal.', 'description' => 'Invalid resource status for renewal.'], + ['errorCode' => 'OrderAccountStatusIllegal', 'errorMessage' => 'Illegal account status.', 'description' => 'Illegal account status.'], + ['errorCode' => 'OrderArrearage', 'errorMessage' => 'User Arrears.', 'description' => 'User Arrears.'], + ['errorCode' => 'OrderBidUserOrderForbidden', 'errorMessage' => 'Bid users cannot buy on the official website.', 'description' => 'Bid users cannot buy on the official website.'], + ['errorCode' => 'OrderCaptureFailed', 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['errorCode' => 'OrderExistsReleasedInstances', 'errorMessage' => 'There are already released instances.', 'description' => 'There are already released instances.'], + ['errorCode' => 'OrderGroupOrderSizeOverflow', 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['errorCode' => 'OrderHomeCurrencyCanNotDowngrade', 'errorMessage' => 'Users in current currency cannot downgrade.', 'description' => 'Users in current currency cannot downgrade.'], + ['errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['errorCode' => 'OrderInstanceHasInactiveChange', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'OrderInstHasUnpaidOrder', 'errorMessage' => 'The instance has an unpaid order.', 'description' => 'The instance has an unpaid order.'], + ['errorCode' => 'OrderInstHasUnsettledBills', 'errorMessage' => 'The instance has an unsettled bill.', 'description' => 'The instance has an unsettled bill.'], + ['errorCode' => 'OrderLatestOrderIsHandling', 'errorMessage' => 'Recent order is being processed, please try again later.', 'description' => 'Recent order is being processed, please try again later.'], + ['errorCode' => 'OrderMainOrderSizeOverflow', 'errorMessage' => 'The quantity of the main order exceeds the limit.', 'description' => 'The quantity of the main order exceeds the limit.'], + ['errorCode' => 'OrderMissingModuleInfoError', 'errorMessage' => 'Module parameter not specified.', 'description' => 'Module parameter not specified.'], + ['errorCode' => 'OrderNoRealNameAuthentication', 'errorMessage' => 'No real-name authentication.', 'description' => 'No real-name authentication.'], + ['errorCode' => 'OrderNotFound', 'errorMessage' => 'The specified order information is not found.', 'description' => 'The specified order information is not found.'], + ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have activated this product.', 'description' => 'You have activated this product.'], + ['errorCode' => 'OrderPeriodInvalid', 'errorMessage' => 'Illegal order cycle.', 'description' => 'Illegal order cycle.'], + ['errorCode' => 'OrderQuantityInvalid', 'errorMessage' => 'Illegal quantity ordered.', 'description' => 'Illegal quantity ordered.'], + ['errorCode' => 'OrderQueryInstanceError', 'errorMessage' => 'Query instance error.', 'description' => 'Query instance error.'], + ['errorCode' => 'OrderQueryInstanceNotExists', 'errorMessage' => 'Instance data does not exist.', 'description' => 'Instance data does not exist.'], + ['errorCode' => 'OrderQueryOrderExchangeRateFail', 'errorMessage' => 'Failed to query order exchange rate information.', 'description' => 'Failed to query order exchange rate information.'], + ['errorCode' => 'OrderQueryUserSettleInfoFail', 'errorMessage' => 'Failed to query user settlement information.', 'description' => 'Failed to query user settlement information.'], + ['errorCode' => 'OrderQuotaExceeded', 'errorMessage' => 'Quantity exceeds limit.', 'description' => 'Quantity exceeds limit.'], + ['errorCode' => 'OrderSysConstraintInvalid', 'errorMessage' => 'System constraint check failed.', 'description' => 'System constraint check failed.'], + ['errorCode' => 'OrderTradeCompleteSettleInfoFail', 'errorMessage' => 'Failed to complete the order settlement currency amount information.', 'description' => 'Failed to complete the order settlement currency amount information.'], + ['errorCode' => 'TradeTradeOrderAfterPayCheckError', 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['errorCode' => 'PurchaseExistRenewchangeProd', 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['errorCode' => 'PurchaseExistToBeValidProdRuleError', 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['errorCode' => 'PurchaseExistValidProdRuleError', 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['errorCode' => 'ProductInstanceReleased', 'errorMessage' => 'Instance released.', 'description' => 'Instance released.'], + ['errorCode' => 'ProductInstanceTypeNotSupported', 'errorMessage' => 'The instance type is not supported.', 'description' => 'The instance type is not supported.'], + ['errorCode' => 'PatRiskRejectForTradeData', 'errorMessage' => 'Payment order problem leads to risk control rejection.', 'description' => 'Payment order problem leads to risk control rejection.'], + ['errorCode' => 'PayAccountBookNotExist', 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['errorCode' => 'PayAmountLimitExceeded', 'errorMessage' => 'Payment limit exceeded, please resubmit.', 'description' => 'Payment limit exceeded, please resubmit.'], + ['errorCode' => 'PayBeforePayRiskRuleValidateFailed', 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['errorCode' => 'PayCounponNotExist', 'errorMessage' => 'Counpon does not exist.', 'description' => 'Counpon does not exist.'], + ['errorCode' => 'PayCouponAmountNotEnough', 'errorMessage' => 'Insufficient voucher balance or expired.', 'description' => 'Insufficient voucher balance or expired.'], + ['errorCode' => 'PayCouponNotMeetConsumptionRule', 'errorMessage' => 'The coupon does not meet the conditions for use.', 'description' => 'The coupon does not meet the conditions for use.'], + ['errorCode' => 'PayCurrencyInconsistency', 'errorMessage' => 'Currency mismatch.', 'description' => 'Currency mismatch.'], + ['errorCode' => 'PayCurrencyNotSupported', 'errorMessage' => 'Currency not supported.', 'description' => 'Currency not supported.'], + ['errorCode' => 'PayForbiddenNoReasonFefund', 'errorMessage' => 'Banned five days no reason refund.', 'description' => 'Banned five days no reason refund.'], + ['errorCode' => 'PayHsfTimeoutError', 'errorMessage' => 'Call payment system timeout.', 'description' => 'Call payment system timeout.'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['errorCode' => 'PayInvalidCreditCard', 'errorMessage' => 'Invalid credit card.', 'description' => 'Invalid credit card.'], + ['errorCode' => 'PayInvalidPayMethod', 'errorMessage' => 'Illegal payment method.', 'description' => 'Illegal payment method.'], + ['errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['errorCode' => 'PayNoCreditCard', 'errorMessage' => 'No valid payment method, please check the payment method and try again.', 'description' => 'No valid payment method, please check the payment method and try again.'], + ['errorCode' => 'PayOrderPayTimeInvalid', 'errorMessage' => 'Order effective time is invalid.', 'description' => 'Order effective time is invalid.'], + ['errorCode' => 'PayPartRefundNotSupport', 'errorMessage' => 'Not Capture, no partial refund.', 'description' => 'Not Capture, no partial refund.'], + ['errorCode' => 'PayPayChannelPayOrderInvalidStatus', 'errorMessage' => 'Illegal status of payment order in payment channel.', 'description' => 'Illegal status of payment order in payment channel.'], + ['errorCode' => 'PayPayChannelPayOrderNotExist', 'errorMessage' => 'Payment channel payment order does not exist.', 'description' => 'Payment channel payment order does not exist.'], + ['errorCode' => 'PayPayerAccountIllegal', 'errorMessage' => 'Illegal payment account.', 'description' => 'Illegal payment account.'], + ['errorCode' => 'PayPayFailedParentRelationchanged', 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['errorCode' => 'PayPayForbidUserCoupon', 'errorMessage' => 'Coupon prohibited for orders.', 'description' => 'Coupon prohibited for orders.'], + ['errorCode' => 'PayQueryAvailableAmountFailed', 'errorMessage' => 'Failed to query user availability, please try again later.', 'description' => 'Failed to query user availability, please try again later.'], + ['errorCode' => 'PayQueryAvailableEnduserAmountFailed', 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['errorCode' => 'PayQueryParentRelationshipFailed', 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['errorCode' => 'PayQueryPayChangeChannelNotEqual', 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['errorCode' => 'PayRefundFailed', 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['errorCode' => 'PayResellerPayGetUrlError', 'errorMessage' => 'Order payment failed, please try again later.', 'description' => 'Order payment failed, please try again later.'], + ['errorCode' => 'PayRiskRejectForPayerAccount', 'errorMessage' => 'Payment account problem leads to risk control rejection.', 'description' => 'Payment account problem leads to risk control rejection.'], + ['errorCode' => 'PayStoredCardNotExist', 'errorMessage' => 'Stored value card does not exist.', 'description' => 'Stored value card does not exist.'], + ['errorCode' => 'PaySystemError', 'errorMessage' => 'Error calling payment system.', 'description' => 'Error calling payment system'], + ['errorCode' => 'PayTaxCalcFailed', 'errorMessage' => 'Failed to get user tax address.', 'description' => 'Failed to get user tax address.'], + ['errorCode' => 'PayWithholdingAgreementIllegal', 'errorMessage' => 'Withholding Agreement Status Illegal.', 'description' => 'Withholding Agreement Status Illegal.'], + ['errorCode' => 'AccountAliyunAccountFrozen', 'errorMessage' => 'Alibaba Cloud account is frozen.', 'description' => 'Alibaba Cloud account is frozen.'], + ['errorCode' => 'AccountAliyunAccountNotExist', 'errorMessage' => 'Alibaba Cloud account does not exist.', 'description' => 'Alibaba Cloud account does not exist.'], + ['errorCode' => 'RefundRefundInstanceNotFound', 'errorMessage' => 'Unable to find instance information.', 'description' => 'Unable to find instance information.'], + ['errorCode' => 'RefundRefundNoValidProd', 'errorMessage' => 'Refund is not available to unsubscribe.', 'description' => 'Refund is not available to unsubscribe.'], + ['errorCode' => 'RefundRefundParamInvalid', 'errorMessage' => 'Abnormal refund parameter.', 'description' => 'Abnormal refund parameter.'], + ['errorCode' => 'RefundRefundQueryOrderFail', 'errorMessage' => 'Failed to query order for refund field.', 'description' => 'Failed to query order for refund field.'], + ['errorCode' => 'SystemConcurrentOperate', 'errorMessage' => 'Concurrent operation causes failure.', 'description' => 'Concurrent operation causes failure.'], + ['errorCode' => 'PricePricingPlanNotFound', 'errorMessage' => 'Pricing plan tree not found.', 'description' => 'Pricing plan tree not found.'], + ['errorCode' => 'OrderInstanceHasTempUpgrade', 'errorMessage' => 'Instances exist temporary upgrade.', 'description' => 'Instances exist temporary upgrade.'], + ['errorCode' => 'PayQueryParentRelationchangedFailed', 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['errorCode' => 'PayforCreditPayInsufficientBalance', 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['errorCode' => 'PayforAccountMoneyValidateError', 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['errorCode' => 'BasicInfoUncompleted', 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['errorCode' => 'SaleControlVerificationFailedStock', 'errorMessage' => 'Inventory sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Inventory sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceSpec', 'errorMessage' => 'Instance specification sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Instance specification sales constraint verification failed, please re-match'], + ['errorCode' => 'SaleControlVerificationFailedInstanceNetLevel', 'errorMessage' => 'The network-level sales constraint verification failed, please re-match or contact the product.', 'description' => 'Network level sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceCpuCore', 'errorMessage' => 'cpu core sales constraint verification failed, please re-match, or contact the product.', 'description' => 'cpu core sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceBandwidthValue', 'errorMessage' => 'The bandwidth speed limit value sales constraint verification failed, please re-match or contact the product.', 'description' => 'The bandwidth speed limit value sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceBandwidthType', 'errorMessage' => 'Bandwidth type sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Bandwidth billing method sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceSystemDiskSpec', 'errorMessage' => 'The system disk capacity sales constraint verification failed, please re-match or contact the product.', 'description' => 'The system disk capacity sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceDataDiskType', 'errorMessage' => 'Data disk type sales constraint verification failed, please re-select, or contact the product.', 'description' => 'Cloud disk type sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedInstanceDataDiskSpec', 'errorMessage' => 'Data disk capacity sales constraint verification failed, please re-match, or contact the product.', 'description' => 'Cloud disk capacity sales constraint verification failed, please re-match'], + ['errorCode' => 'SaleControlVerificationFailedInstanceDataDiskBlock', 'errorMessage' => 'The sales constraint verification of the number of data disks failed, please re-match or contact the product.', 'description' => 'Cloud disk quantity sales constraint verification failed, please re-match'], + ['errorCode' => 'SaleControlVerificationFailedRegion', 'errorMessage' => 'The node sales constraint verification failed, please re-select or contact the product.', 'description' => 'Node sales constraint verification failed, please re-select'], + ['errorCode' => 'SaleControlVerificationFailedCarrier', 'errorMessage' => 'The isp failed to verify the sales restriction. Please re-select or contact the product.', 'description' => 'Operator sales constraint verification failed, please re-select'], + ['errorCode' => 'EnsAreaCountIllegal', 'errorMessage' => 'The number of instances in the region is all 0, please re-select or contact the product.', 'description' => 'The number of instances with regions is all 0, please re-select'], + ['errorCode' => 'EnsAreaInsufficientInventory', 'errorMessage' => 'Regional inventory is insufficient, please re-match, or contact the product.', 'description' => 'Insufficient regional inventory, please re-match'], + ['errorCode' => 'EnsEnsRegionInsufficientInventory', 'errorMessage' => 'The node inventory is insufficient, please re-select or contact the product.', 'description' => 'Insufficient node inventory, please re-select'], + ['errorCode' => 'EnsRegionCountExceeded', 'errorMessage' => 'Purchase quantity exceeds the single default limit, please re-match, or contact the product.', 'description' => 'The maximum number of nodes or regions purchased at a time is 10, the maximum number of single-node instances scheduled for a node is 100, and the maximum number of total instances is 1000, and the total number of instances scheduled for a region is 100 or less'], + ['errorCode' => 'EnsServiceArrearage', 'errorMessage' => 'The user is in arrears or the status is abnormal, please contact the product.', 'description' => 'The user is overdue or in abnormal status, please recharge'], + ['errorCode' => 'EnsServiceConsumerNotExists', 'errorMessage' => 'The user has not opened the edge service to pay by volume, please contact the product consultation.', 'description' => 'The user has not activated the edge service to pay by volume, please activate and use it again.'], + ['errorCode' => 'GenerateDataKeyFailure', 'errorMessage' => 'Failed to generate key information, please contact the product.', 'description' => 'Failed to generate key information, please try again'], + ['errorCode' => 'InvalidDataDiskCountValueNotSupported', 'errorMessage' => 'The maximum number of dataDiskCount is exceeded,please re-match, or contact the product.', 'description' => 'The number of cloud disks is too large, not more than 15, please re-select'], + ['errorCode' => 'SystemError', 'errorMessage' => 'Interface call error, please re-match, or contact the product.', 'description' => 'Interface call error, please re-select'], + ['errorCode' => 'InvalidParameterCategoryNotSupported', 'errorMessage' => 'This disk category is not support kms,please re-select, or contact the product.', 'description' => 'Cloud disk type does not support encryption, please re-select'], + ['errorCode' => 'InvalidParameterKMSKeyIdCMKNotEnabled', 'errorMessage' => 'The CMK needs to be enabled, please re-select, or contact the product.', 'description' => 'The key status is incorrect, please go to the key management console to enable the key status.'], + ['errorCode' => 'InvalidImageIdSpec', 'errorMessage' => 'The image does not match the specification cluster information, please re-match.', 'description' => 'The image does not match the specification cluster information, please re-match'], + ['errorCode' => 'InvalidParameterInstanceType', 'errorMessage' => 'Failed to obtain specification information, please try to place the order again.', 'description' => 'Failed to obtain specification information, please try to place the order again'], + ['errorCode' => 'InvalidSpecPostPaid', 'errorMessage' => 'This specification is not supported for a Pay-As-You-Go instance.', 'description' => 'This specification is not supported for a Pay-As-You-Go instance.'], + ['errorCode' => 'InvalidSpecNetlevel', 'errorMessage' => 'The current network level does not support configuring this specification.', 'description' => 'The current network level does not support configuring this specification.'], + ['errorCode' => 'SuperfluousDataDiskInstanceSpec', 'errorMessage' => 'Data disk properties cannot be configured for the current specification.', 'description' => 'Data disk properties cannot be configured for the current specification'], + ['errorCode' => 'SuperfluousImageIdInstanceSpec', 'errorMessage' => 'Image properties cannot be configured for the current specification.', 'description' => 'Image properties cannot be configured for the current specification'], + ['errorCode' => 'SuperfluousPublicIpIdentificationInstanceSpec', 'errorMessage' => 'The current specification cannot create a public network card.', 'description' => 'The current specification cannot create a public network card.'], + ['errorCode' => 'SuperfluousSystemDiskInstanceSpec', 'errorMessage' => 'System disk properties cannot be configured for the current specification.', 'description' => 'System disk properties cannot be configured for the current specification'], + ['errorCode' => 'LackImageIdInstanceSpec', 'errorMessage' => 'Image properties must be configured for the current specification.', 'description' => 'Image properties must be configured for the current specification'], + ['errorCode' => 'LackSystemDiskInstanceSpec', 'errorMessage' => 'System disk properties must be configured for the current specification.', 'description' => 'System disk properties must be configured for the current specification'], + ['errorCode' => 'LackPublicIpIdentificationInstanceSpec', 'errorMessage' => 'The current specification must create a public network card.', 'description' => 'The current specification must create a public network card.'], + ['errorCode' => 'LackLabelImageIdEnsRegionId', 'errorMessage' => 'The instance created by using this image on this node lacks the necessary label, please contact the product or operation classmate.', 'description' => 'The required tag for creating an instance using this image on this node is missing'], + ['errorCode' => 'InvalidImageIdSystemDisk', 'errorMessage' => 'The system disk size does not match the image size, please re-select.', 'description' => 'The system disk size does not match the image size, please re-select'], + ['errorCode' => 'SaleNetIpType', 'errorMessage' => 'There is a conflict between the input parameters related to the double stack.', 'description' => 'There is a conflict between the input parameters related to the double stack.'], + ['errorCode' => 'InvalidSKUStatus', 'errorMessage' => 'Inventory storage unit(SKU) background status is illegal, please submit work order in time.', 'description' => 'Inventory storage unit(SKU) background status is illegal, please submit work order in time.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'EnsPostOpenError', 'errorMessage' => 'Commodity opening failed.', 'description' => 'Commodity opening failed.'], + ['errorCode' => 'VswitchNotMatchIpv6', 'errorMessage' => 'The specified switch does not support ipv6.', 'description' => 'The specified switch does not support ipv6.'], + ['errorCode' => 'SwitchNotSupportIpv6', 'errorMessage' => 'The specified switch does not support ipv6.', 'description' => 'The specified switch does not support ipv6.'], + ['errorCode' => 'InvalidNetlevelDeploymentsetid', 'errorMessage' => 'Deployment sets only support node-level network hierarchies.', 'description' => 'Deployment sets only support node-level network hierarchies.'], + ['errorCode' => 'InvalidSpecDeploymentsetid', 'errorMessage' => 'Deployment sets only support x86 compute instance types.', 'description' => 'Deployment sets only support x86 compute instance types.'], + ['errorCode' => 'DEPLOYMENTSETID_RESTRICTIONS', 'errorMessage' => 'Scheduling failed due to deployment set policy restrictions.', 'description' => 'Scheduling failed due to deployment set policy restrictions'], + ], + ], + 'title' => 'Batch Create Instances', + 'changeSet' => [ + ['createdAt' => '2025-05-08T11:11:27.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-09-12T11:44:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-27T11:01:18.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-08-20T03:17:51.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-08-19T11:59:12.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-28T06:18:30.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-04-09T11:20:46.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-01-25T06:34:44.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-11-07T05:32:16.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-10-19T07:40:18.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-10-17T07:58:53.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-27T11:35:56.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-27T08:05:47.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-13T05:28:24.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-08T01:27:48.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-05-10T05:39:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-01-05T05:35:40.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-08-04T03:07:50.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-06-07T03:21:49.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-12-21T08:27:12.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-12-21T08:27:12.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-12-21T08:27:12.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RunInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:RunInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91E4AFBE-4E35-5D2A-A886-BB477C9953D2\\",\\n \\"InstanceIds\\": [\\n \\"[\'i-5xxxx26dix05koz15l5413j25o\', \'i-5sdmxxxx\']\\"\\n ],\\n \\"OrderId\\": \\"213177957850399\\"\\n}","type":"json"}]', + 'translator' => 'machine', ], - 'EventRebootInstance' => [ - 'summary' => 'Restart the instance across nodes after an O\\\\\\&M event occurs on an instance.', - 'description' => '* This O\\&M operation supports only the Instance:SystemMaintenance.Reboot event'."\n", - 'path' => '/', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'RunServiceSchedule' => [ + 'summary' => 'Schedules the nearest idle resources including instances and pods for your device based on the user ID and IP address and initializes the virtual environment.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensVRRV1Q', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '1776', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'EventId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the system event.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e-9d992570200d86b9126d78aa8c37b54b', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '474bdef0-d149-4695-abfb-52912d9143f0', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'Uuid', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5****', - ], + 'schema' => ['description' => 'The UUID of the device.', 'type' => 'string', 'required' => true, 'example' => 'hdm_d4f1059a8e1afc0956bd71b497faa433', 'title' => ''], ], [ - 'name' => 'OpsType', + 'name' => 'ClientIp', + 'in' => 'query', + 'schema' => ['description' => 'The IP address of the client.', 'type' => 'string', 'required' => true, 'example' => '180.166.45.146', 'title' => ''], + ], + [ + 'name' => 'ServiceAction', 'in' => 'query', 'schema' => [ - 'description' => 'The type of the O\\&M task. Valid values:'."\n" + 'description' => 'The scheduling operation. The value must be of the enumeration type. Valid values:'."\n" + ."\n" + .'Container scenario:'."\n" + ."\n" + .'- Start: selects and activates an idle cloud device.'."\n" + ."\n" + .'- Stop: stops and releases the cloud device.'."\n" + ."\n" + .'- Console: performs the scheduling operation when the device is in the scheduling state.'."\n" + ."\n" + .'Bare metal instance or virtual machine scenario:'."\n" ."\n" - .'* immediate'."\n" - .'* scheduled'."\n", + .'- PreSchedule: locks a virtual machine instance for scheduling.'."\n" + ."\n" + .'- Confirm: confirms the scheduling operation.'."\n" + ."\n" + .'- Cancel: cancels the scheduling operation.'."\n" + ."\n" + .'- Console: performs the scheduling operation when the device is in the scheduling state.', + 'enumValueTitles' => ['Start' => '', 'Stop' => '', 'Cancel' => '', 'PreSchedule' => '', 'Console' => '', 'Confirm' => ''], 'type' => 'string', 'required' => true, - 'example' => 'immediate', - 'enum' => [ - 'immediate', - 'scheduled', - ], + 'example' => 'Start', + 'title' => '', ], ], [ - 'name' => 'PlanTime', + 'name' => 'PodConfigName', 'in' => 'query', - 'schema' => [ - 'description' => 'The execution time of the reservation. The timestamp is measured in milliseconds. If the OpsType parameter is set to scheduled, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1742452232000', - ], + 'schema' => ['description' => 'The parameter does not take effect.', 'type' => 'string', 'required' => false, 'example' => 'android', 'title' => ''], + ], + [ + 'name' => 'PreLockedTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The maximum duration for locking an idle device. Unit: seconds. This parameter takes effect only if you set ServiceAction to PreSchedule. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'Directorys', + 'in' => 'query', + 'schema' => ['description' => 'The directory to which the data file is mounted. The value must be a full path and cannot be \'/../\'. Example: \\["/data/app01", "/data/user"]. Specify the relative path of the virtual device for this parameter. For example, specify /data for this parameter when the actual path of the virtual device is /data/{input path}.', 'type' => 'string', 'required' => false, 'example' => '[\\"/data/app01\\", \\"/data/user\\"]', 'title' => ''], + ], + [ + 'name' => 'ServiceCommands', + 'in' => 'query', + 'schema' => ['description' => 'The service commands. The value must be a JSON string.', 'type' => 'string', 'required' => false, 'example' => '[{\\"containerName\\": \\"android\\", \\"commands\\":[\\"cat /tmp/token.json\\"] }, { \\"commands\\":[\\"ls -l /data/data\\"] }]', 'title' => ''], + ], + [ + 'name' => 'ScheduleStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling policy of the device. The value must be a JSON string.', 'type' => 'string', 'required' => false, 'example' => '{\\"selectLevel\\": \\"RegionId\\", \\"values\\": [\\"cn-chengdu-telecom-2\\"] }', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '成功响应', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', + 'CommandResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CommandResult' => [ + 'description' => 'The execution results of the commands.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Command' => ['description' => 'The command.', 'type' => 'string', 'example' => 'ls -l /data', 'title' => ''], + 'ContainerName' => ['description' => 'The name of the container.', 'type' => 'string', 'example' => 'android', 'title' => ''], + 'ResultMsg' => ['description' => 'The execution result of the command.', 'type' => 'string', 'example' => 'success', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'Index' => ['description' => 'The index number of the scheduled virtual device (pod).', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the scheduled instance.', 'type' => 'string', 'example' => 'i-5qvji3mom4ec013dyygmtxlkj', 'title' => ''], + 'InstanceIp' => ['description' => 'The IP address of the scheduled instance.', 'type' => 'string', 'example' => '172.16.246.11', 'title' => ''], + 'InstancePort' => ['description' => 'The start port of the scheduled instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'RequestRepeated' => ['description' => 'Indicates whether the request is repeated. This parameter is not returned if ServcieAction is set to Console.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'TcpPorts' => ['description' => 'The TCP port range of the scheduled instance or container. The value is in the ${from}-$-{to} format. Example: 80-88.', 'type' => 'boolean', 'example' => '"80-88"', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'LimitExceeded.SecurityGroup', 'errorMessage' => 'The number of securityGroup exceeds the limit.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'RunServiceSchedule', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:51.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', - 'title' => 'EventRebootInstance', - ], - 'EventMigrateInstance' => [ - 'summary' => 'Migrates the instance across nodes after an O\\\\\\&M event occurs on an instance.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RunServiceSchedule'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RunServiceSchedule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CommandResults\\": {\\n \\"CommandResult\\": [\\n {\\n \\"Command\\": \\"ls -l /data\\",\\n \\"ContainerName\\": \\"android\\",\\n \\"ResultMsg\\": \\"success\\"\\n }\\n ]\\n },\\n \\"Index\\": 1,\\n \\"InstanceId\\": \\"i-5qvji3mom4ec013dyygmtxlkj\\",\\n \\"InstanceIp\\": \\"172.16.246.11\\",\\n \\"InstancePort\\": 1024,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RequestRepeated\\": \\"false\\",\\n \\"TcpPorts\\": true\\n}","type":"json"}]', + ], + 'SaveSDG' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '259537', - 'abilityTreeNodes' => [ - 'FEATUREensZ4NH23', - ], - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'EventId', + 'name' => 'SDGId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the system event.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468'."\n", - ], + 'schema' => ['description' => 'The ID of the SDG to be saved.', 'type' => 'string', 'required' => false, 'example' => 'sdg-xxxx', 'title' => ''], ], - [ - 'name' => 'ResourceId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-55qi8m11rr53c4i964md8a00l', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'SaveSDG', + 'summary' => 'Saves the disk of a specific device as a shared data group (SDG).', + 'changeSet' => [ + ['createdAt' => '2024-03-22T07:11:26.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SaveSDG'], + ], + ], + 'ramActions' => [ [ - 'name' => 'OpsType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the O\\&M task. Valid values:'."\n" - ."\n" - .'* immediate'."\n" - .'* scheduled'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'immediate', - 'enum' => [ - 'immediate', - 'scheduled', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:SaveSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'ScaleClusterNodePool' => [ + 'summary' => 'Call the ScaleClusterNodePool operation to scale out a node pool, which adds more nodes to support your workloads. The count parameter must be greater than the current number of nodes in the pool. If a node pool contains failed nodes, first call the DeleteClusterNodes operation to remove them before scaling out the pool. A scale-out operation typically completes in 5 to 10 minutes. If the operation takes longer than one hour, it has failed. Contact technical support.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensWT1XPU', 'FEATUREensPHDAAN'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'PlanTime', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The execution time of the reservation. The timestamp is measured in milliseconds. If the OpsType parameter is set to scheduled, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1742452232000', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eck-xxxxxxxx'], ], [ - 'name' => 'DataPolicy', + 'name' => 'NodepoolId', 'in' => 'query', - 'schema' => [ - 'description' => 'The data migration policy. Valid values:'."\n" - ."\n" - .'* abandon: does not migrate data. This is the default value.'."\n" - .'* force_transfer: forcibly migrates data.'."\n" - .'* try_transfer: Migrate data as much as possible.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abandon', - 'default' => 'abandon', - 'enum' => [ - 'abandon', - 'force_transfer', - 'try_transfer', - ], - ], + 'schema' => ['description' => 'The ID of the node pool.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'np2201da356f5245cf8faa522a8a4c8224'], ], [ - 'name' => 'Password', + 'name' => 'Body', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The password of the instance. This parameter is optional. If you do not specify this parameter, a random password is used.'."\n" - ."\n" - .'The password must be 8 to 30 characters in length. The password must contain uppercase letters, lowercase letters, digits, and special characters.'."\n" - ."\n" - .'Note that you cannot enter a password for scheduled execution.'."\n", - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'Count' => ['description' => 'The desired instance count.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'title' => '', 'example' => '0'], + ], 'required' => false, - 'example' => 'AAaa1234', - 'maxLength' => 30, - 'minLength' => 8, + 'description' => 'The request body.', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', 'title' => ''], ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'ScaleClusterNodePool', + 'description' => '- Each user is limited to 10 calls per second.'."\n" + ."\n" + .'- Scaling out a node pool is an asynchronous operation that typically completes in 5 to 10 minutes.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ScaleClusterNodePool'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ScaleClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', - 'title' => 'EventMigrateInstance', - 'description' => '* This O\\&M operation is supported only by the Instance:SystemUpgrade.Migrate event.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', ], - 'BatchEventMigrateInstance' => [ - 'summary' => 'Migrates multiple instances in a specified event at a time. You can execute the task immediately or schedule the task execution.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'SetBackendServers' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '259539', - 'abilityTreeNodes' => [ - 'FEATUREensZ4NH23', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '19478', + 'abilityTreeNodes' => ['FEATUREensWDN2MU'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EventInfos', + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Load Balancer (ELB) instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5s7crik3yo3bp03gqrbp5****', 'title' => ''], + ], + [ + 'name' => 'BackendServers', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The details of events.'."\n", + 'description' => 'The list of backend servers that you added. You can modify the weights of up to 20 backend servers in each request.', 'type' => 'array', 'items' => [ - 'description' => 'The details of each event.'."\n", + 'description' => 'The list of backend servers.', 'type' => 'object', 'properties' => [ - 'EventId' => [ - 'description' => 'Event ID e-\\*.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468'."\n", - ], - 'ResourceId' => [ - 'description' => 'Resource ID i-\\*.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", - ], - 'PlanTime' => [ - 'description' => 'The execution time of the reservation. The timestamp is measured in milliseconds. If the OpsType parameter is set to scheduled, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1742452232000', - ], - 'OpsType' => [ - 'description' => 'The type of the O\\&M task. Valid values:'."\n" - ."\n" - .'* immediate'."\n" - .'* scheduled'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'immediate', - 'default' => 'immediate', - 'enum' => [ - 'immediate', - 'scheduled', - ], - ], - 'DataPolicy' => [ - 'description' => 'The data migration policy. Valid values:'."\n" - ."\n" - .'* abandon: does not migrate data. This is the default value.'."\n" - .'* force_transfer: forcibly migrates data.'."\n" - .'* try_transfer: Migrate data as much as possible.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abandon', - 'default' => 'abandon', - 'enum' => [ - 'abandon', - 'force_transfer', - 'try_transfer', - ], - ], - 'Password' => [ - 'description' => 'The password of the instance. This parameter is optional. If you do not specify this parameter, a random password is used.'."\n" + 'ServerId' => ['description' => 'The ID of the instance that you use as the backend server.', 'type' => 'string', 'required' => true, 'example' => 'i-5ze0o05xccvbljtn****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" + ."\n" + .'> The value 0 indicates that requests are not forwarded to the backend server.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '0', 'title' => '', 'example' => '20'], + 'Type' => [ + 'description' => 'The type of the backend server. Valid values:'."\n" ."\n" - .'The password must be 8 to 30 characters in length. The password must contain uppercase letters, lowercase letters, digits, and special characters.'."\n" + .'- **ens**: ENS instance'."\n" ."\n" - .'Note that you cannot enter a password for scheduled execution.'."\n", + .'- **eni**: elastic network interface (ENI)', 'type' => 'string', + 'enum' => ['ens', 'eni'], + 'title' => '', 'required' => false, - 'example' => 'AAaa1234', - 'maxLength' => 30, - 'minLength' => 8, + 'example' => 'ens', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, + 'required' => true, + 'title' => '', + 'example' => '', ], ], ], @@ -52494,142 +39101,285 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => 'FF53E96D-3F1A-42F0-8373-1C2B39D72D44', - ], - 'Results' => [ - 'description' => 'The results.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The result.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The error code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'EventId' => [ - 'description' => 'The ID of the event.'."\n", - 'type' => 'string', - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', - ], - 'Message' => [ - 'description' => 'When Code!=200, it indicates the specific error message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ResourceId' => [ - 'description' => 'The resource IDs.'."\n", - 'type' => 'string', - 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => 'The backend servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ServerId' => ['description' => 'The ID of the instance that you want to use as the backend server.', 'type' => 'string', 'example' => 'i-5uf6hj58zvml4ali8****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server. Default value: 100. Valid values: **0** to **100**.'."\n" + ."\n" + .'> The value 0 indicates that requests are not forwarded to the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Type' => ['description' => 'The type of the backend server. Valid values:'."\n" + ."\n" + .'- **ens**: ENS instance.'."\n" + ."\n" + .'- **eni**: ENI instance.', 'type' => 'string', 'example' => 'ens', 'title' => ''], + 'Ip' => ['description' => 'The IP address of the backend server.', 'type' => 'string', 'example' => '192.168.0.1', 'title' => ''], + 'Port' => ['description' => 'The backend port that is used by the ELB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found. ', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'BackendServerNotFound', 'errorMessage' => 'The input parameter serverId that is not found.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instanceId that is not found.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'SetBackendServers', + 'summary' => 'Sets the weights of backend servers.', + 'changeSet' => [ + ['createdAt' => '2023-09-21T02:54:28.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FF53E96D-3F1A-42F0-8373-1C2B39D72D44\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"Message\\": \\"success\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'BatchEventMigrateInstance', - 'description' => '## [](#)Request description'."\n" - ."\n" - .'* This O\\&M operation is supported only by the Instance:SystemUpgrade.Migrate event.'."\n", - ], - 'EventRedeployInstance' => [ - 'summary' => 'The event that is used to immediately redeploy a specified resource or by appointment', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetBackendServers'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"ServerId\\": \\"i-5uf6hj58zvml4ali8****\\",\\n \\"Weight\\": 100,\\n \\"Type\\": \\"ens\\",\\n \\"Ip\\": \\"192.168.0.1\\",\\n \\"Port\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]', + 'description' => '- Rate limit: 100 requests per second.'."\n" + ."\n" + .'- up to 10 times per second per account.', + ], + 'SetLoadBalancerHTTPListenerAttribute' => [ + 'summary' => 'Modifies an HTTP listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensVRRV1Q', - ], + 'abilityTreeCode' => '15900', + 'abilityTreeNodes' => ['FEATUREens6XC4W4'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EventId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the system event.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', - ], + 'schema' => ['description' => 'The ID of the Edge Load Balancer (ELB) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5snthcyu1x10g7tywj7iu****'], ], [ - 'name' => 'ResourceId', + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port whose attributes are to be modified. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '8080'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" + ."\n" + .'> The value cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'Listener description', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false], + ], + [ + 'name' => 'Scheduler', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the resource.'."\n", + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" + ."\n" + .'- **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.', 'type' => 'string', - 'required' => true, - 'example' => 'i-55qi8m11rr53c4i964md8a00l', + 'enum' => ['wrr', 'wlc', 'rr'], + 'title' => '', + 'required' => false, + 'example' => 'wrr', ], ], [ - 'name' => 'OpsType', + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'on'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name that is used for health checks.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'www.aliyundoc.com'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => '/checkpreload.htm'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails to pass the health check.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" + ."\n" + .'- If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '5'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '65500'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status code for a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default)'."\n" + ."\n" + .'- **http\\_3xx**.'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'example' => 'http_2xx', 'title' => '', 'required' => false], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" + ."\n" + .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, CLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '60', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '15'], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" + ."\n" + .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '180', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'HealthCheckMethod', 'in' => 'query', 'schema' => [ - 'description' => 'The type of the O\\&M task. Valid values:'."\n" + 'description' => 'The HTTP request method for health checks. Valid values:'."\n" ."\n" - .'* immediate'."\n" - .'* scheduled'."\n", + .'- **head**'."\n" + ."\n" + .'- **get**'."\n" + ."\n" + .'> This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', - 'required' => true, - 'example' => 'immediate', - 'enum' => [ - 'immediate', - 'scheduled', - ], + 'enum' => ['head', 'get'], + 'required' => false, + 'example' => 'head', + 'title' => '', ], ], [ - 'name' => 'PlanTime', + 'name' => 'XForwardedFor', 'in' => 'query', 'schema' => [ - 'description' => 'The execution time of the reservation. The timestamp is measured in milliseconds. If the OpsType parameter is set to scheduled, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'Specifies whether to use the X-Forwarded-For header to obtain the real IP address of the client. Valid values:'."\n" + ."\n" + .'- **on** (default)'."\n" + ."\n" + .'- **off**', + 'type' => 'string', + 'enum' => ['on', 'off'], 'required' => false, - 'example' => '1742452232000', + 'example' => 'on', + 'title' => '', ], ], ], @@ -52637,377 +39387,294 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'The input parameter listener that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectListenerStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The listener status is incorrect.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'SetLoadBalancerHTTPListenerAttribute', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2024-06-04T06:40:34.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', - 'title' => 'EventRedeployInstance', - 'description' => '* This O\\&M operation supports only the following event types: Instance:SystemFailure.Redeploy (instance redeployment due to system problems) and Instance:SystemMaintenance.Redeploy (instance redeployment due to system maintenance).'."\n", - ], - 'BatchEventRedeployInstance' => [ - 'summary' => 'Batch redeployment', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'SetLoadBalancerHTTPSListenerAttribute' => [ + 'summary' => 'Modifies an HTTPS listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'EventInfos', + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Edge Load Balancer (ELB) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5snthcyu1x10g7tywj7iu****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port whose attributes are to be modified. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '10002'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener. The value must be **1** to **80** characters in length.'."\n" + ."\n" + .'> The value cannot start with `http://` or `https://`.', 'type' => 'string', 'example' => 'Listener description', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false], + ], + [ + 'name' => 'Scheduler', 'in' => 'query', - 'style' => 'json', 'schema' => [ - 'description' => 'List of events.', - 'type' => 'array', - 'items' => [ - 'description' => 'Event.', - 'type' => 'object', - 'properties' => [ - 'EventId' => [ - 'description' => 'System event ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', - ], - 'ResourceId' => [ - 'description' => 'Resource ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", - ], - 'PlanTime' => [ - 'description' => 'Scheduled execution time, in timestamp, unit is milliseconds. This field is required when OpsType=scheduled.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'enumValueTitles' => [ - 'immediate' => 'immediate', - 'scheduled' => 'scheduled', - ], - 'example' => 'immediate', - ], - 'OpsType' => [ - 'description' => 'Operation type, value range:'."\n" - ."\n" - .'- immediate: Execute immediately.'."\n" - .'- scheduled: Scheduled execution.', - 'type' => 'string', - 'required' => false, - 'example' => '1742452232000', - ], - ], - 'required' => false, - ], + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **wlc**: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.'."\n" + ."\n" + .'- **iqch**: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.', + 'type' => 'string', + 'enum' => ['wrr', 'wlc', 'rr'], + 'title' => '', 'required' => false, + 'example' => 'wrr', ], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Return value.', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - 'Results' => [ - 'description' => 'List of results.', - 'type' => 'array', - 'items' => [ - 'description' => 'Result.', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'Status code.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'EventId' => [ - 'description' => 'System event ID.', - 'type' => 'string', - 'example' => 'e-d71ff150945b9c02eb6ebc0016328468', - ], - 'Message' => [ - 'description' => 'Operational message, when code=200, the message is \'successful\'.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResourceId' => [ - 'description' => 'Resource ID.', - 'type' => 'string', - 'example' => 'i-55qi8m11rr53c4i964md8a00l'."\n", - ], - ], - ], - ], - ], - ], + [ + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'on'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name that you want to use for health checks.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'www.example.com'], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": 200,\\n \\"EventId\\": \\"e-d71ff150945b9c02eb6ebc0016328468\\",\\n \\"Message\\": \\"success\\",\\n \\"ResourceId\\": \\"i-55qi8m11rr53c4i964md8a00l\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Batch Deploy Instances', - 'description' => '- This operation currently only supports event types: Instance:SystemFailure.Redeploy (redeploy instance due to system issues), Instance:SystemMaintenance.Redeploy (redeploy instance due to system maintenance)', - 'translator' => 'machine', - ], - 'ReleaseInstance' => [ - 'summary' => 'Releases an instance. You can call this operation to release only Elastic IP Addresses (EIPs), Edge Load Balancer (ELB) instances, and cloud disk-based instances. We recommend that you call service-specific operations to release or unsubscribe from instances.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- A URL must start with a forward slash (`/`) but cannot contain only forward slashes (`/`).'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => '/checkpreload.htm'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '25981', - 'abilityTreeNodes' => [ - 'FEATUREens43DFLD', + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'title' => '实例id', - 'description' => 'The ID of the EIP.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eip-****', - ], + 'schema' => ['description' => 'The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '3'], ], - ], - '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', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* instance'."\n" - .'* eip'."\n" - .'* disk'."\n" - .'* network'."\n" - .'* natgateway'."\n" - .'* vswitch'."\n", - 'type' => 'string', - 'example' => 'eip', - ], - ], - ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a health check response. If the backend ENS does not respond within the specified time, the health check fails.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'>'."\n" + ."\n" + .'- This parameter takes effect only if the HealthCheck parameter is set to on.'."\n" + ."\n" + .'- If the value of the HealthCheckTimeout property is smaller than the value of the HealthCheckInterval property, the timeout period specified by the HealthCheckTimeout property becomes invalid and the value of the HealthCheckInterval property is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '9'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If you leave this parameter empty, the port specified by BackendServerPort is used for health checks.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '7001'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\",\\n \\"ResourceType\\": \\"eip\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n4EC47282-1B74-4534-BD0E-403F3EE64CAF\\r\\n","errorExample":""}]', - 'title' => 'ReleaseInstance', - 'description' => '* You can call this operation up to 10,000 times per second per account.'."\n" - .'* The maximum number of times that each user can call this operation per second is 50.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateEnsService' => [ - 'summary' => 'Creates an edge service.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval at which health checks are performed. Valid values: **1** to **50**. Unit: seconds.'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '2'], ], - ], - 'systemTags' => [ - 'operationType' => 'create', - ], - 'parameters' => [ [ - 'name' => 'EnsServiceId', + 'name' => 'HealthCheckHttpCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource that you want to obtain. You can specify only one ID in a request.', - 'type' => 'string', - 'required' => true, - 'example' => 'ens-20190806****', - ], + 'schema' => ['description' => 'The HTTP status code for a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default)'."\n" + ."\n" + .'- **http\\_3xx**.'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**'."\n" + ."\n" + .'> This parameter takes effect only if you set HealthCheck to on.', 'type' => 'string', 'example' => 'http_2xx', 'title' => '', 'required' => false], ], [ - 'name' => 'OrderType', + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for idle connections. Default value: 15. Valid values: **1** to **60**. Unit: seconds.'."\n" + ."\n" + .'> If no request is received within the specified timeout period, ELB closes the connection. When another request is received, ELB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '60', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '15'], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of requests. Default value: 60. Valid values: **1** to **180**. Unit: seconds.'."\n" + ."\n" + .'> If no response is received from the backend server within the specified timeout period, ELB returns an HTTP 504 error code to the client.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '180', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'ServerCertificateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '6027667'], + ], + [ + 'name' => 'HealthCheckMethod', 'in' => 'query', 'schema' => [ - 'description' => 'The operation to perform after you preview the created edge service. Valid values:'."\n" + 'description' => 'The HTTP request method for health checks. Valid values:'."\n" + ."\n" + .'- **head** (default): requests the head of the page.'."\n" ."\n" - .'* **Buy**: create'."\n" - .'* **Upgrade**: change'."\n", + .'- **get**: requests the specified part of the page and returns the entity body.'."\n" + ."\n" + .'> This parameter takes effect only if the HealthCheck parameter is set to on.', 'type' => 'string', - 'required' => true, - 'example' => 'Buy', - 'enum' => [ - 'Buy', - 'Upgrade', - ], + 'enum' => ['head', 'get'], + 'required' => false, + 'example' => 'get', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The service code. 0 is returned for a successful request. An error code is returned for a failed request.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9AF02B43-2D08-49D3-8AAF-65B9C792ED14', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'The input parameter listener that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectListenerStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The listener status is incorrect.'], + ['errorCode' => 'ServerCertificateNotFound', 'errorMessage' => 'The input parameter serverCertificateId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'SetLoadBalancerHTTPSListenerAttribute', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"9AF02B43-2D08-49D3-8AAF-65B9C792ED14\\"\\n}","errorExample":""},{"type":"xml","example":"\\n9AF02B43-2D08-49D3-8AAF-65B9C792ED14\\n0\\n","errorExample":""}]', - 'title' => 'CreateEnsService', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'translator' => 'manual', ], - 'DescribeNASAvailableResourceInfo' => [ - 'summary' => 'Queries the specifications of resources that you can purchase when you create a NAS.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetLoadBalancerStatus' => [ + 'summary' => 'Modifies the status of an Edge Load Balancer (ELB) instance.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -53015,696 +39682,661 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '16809', + 'abilityTreeNodes' => ['FEATUREensU6BJRP'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5t18quoohsrc3xkf86sp*****', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new instance status. Valid values:'."\n" + ."\n" + .'- **Active**'."\n" + ."\n" + .'- **InActive**', + 'type' => 'string', + 'required' => true, + 'example' => 'Active', + 'enum' => ['InActive', 'Active'], + 'title' => '', + ], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'you are not authorized to this workspace, or workspace not exists.', - ], - 'NasAvailableResourceInfo' => [ - 'description' => 'The information of available NAS resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The array of available NAS resource information.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'example' => 'cn-chenzhou-telecom_unicom_cmcc', - ], - 'NasAvailableAmount' => [ - 'description' => 'the number of available NAS resources.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NasAvailableStorgeType' => [ - 'description' => 'The types of available NAS resources.'."\n", - 'type' => 'string', - 'example' => 'capacity', - ], - 'EnsRegionName' => [ - 'description' => 'The name of the ENS node.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Area' => [ - 'description' => 'The region to which the ENS node belongs.'."\n", - 'type' => 'string', - 'example' => 'SouthWestChina', - ], - 'EnName' => [ - 'description' => 'The English name.'."\n", - 'type' => 'string', - 'example' => 'cn-chenzhou-telecom_unicom_cmcc', - ], - 'Province' => [ - 'description' => 'The province to which the ENS node belongs.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Ability' => [ - 'description' => 'The product supported by the edge node.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The product supported by the edge node.'."\n", - 'type' => 'string', - 'example' => 'nas', - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], + '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.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'title' => 'SetLoadBalancerStatus', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:22:59.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\",\\n \\"Code\\": \\"0\\",\\n \\"Message\\": \\"you are not authorized to this workspace, or workspace not exists.\\",\\n \\"NasAvailableResourceInfo\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chenzhou-telecom_unicom_cmcc\\",\\n \\"NasAvailableAmount\\": 1,\\n \\"NasAvailableStorgeType\\": \\"capacity\\",\\n \\"EnsRegionName\\": \\"中国杭州36\\",\\n \\"Area\\": \\"SouthWestChina\\",\\n \\"EnName\\": \\"cn-chenzhou-telecom_unicom_cmcc\\",\\n \\"Province\\": \\"湖北省\\",\\n \\"Ability\\": [\\n \\"nas\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeNASAvailableResourceInfo', - ], - 'CreateEpnInstance' => [ - 'summary' => 'Creates an edge private network (EPN) instance.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerStatus'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'SetLoadBalancerTCPListenerAttribute' => [ + 'summary' => 'Call SetLoadBalancerTCPListenerAttribute to modify the attributes of a TCP listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '1136', - 'abilityTreeNodes' => [ - 'FEATUREensI1ZRKE', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '15899', + 'abilityTreeNodes' => ['FEATUREens6XC4W4'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EPNInstanceType', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the EPN instance. Set the value to **EdgeToEdge**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'EdgeToEdge', - ], + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5snthcyu1x10g7tywj7iu****'], ], [ - 'name' => 'EPNInstanceName', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the EPN instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test EPNInstanceName', - ], + 'schema' => ['description' => 'The listener port to modify. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '80'], ], [ - 'name' => 'InternetChargeType', + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the listener. The description must be **1** to **80** characters long.'."\n" + ."\n" + .'> The description cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'example'], + ], + [ + 'name' => 'Scheduler', 'in' => 'query', 'schema' => [ - 'description' => 'The billing method for network usage. Valid values:'."\n" + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (Weighted Round Robin): Backend servers with higher weights receive more requests.'."\n" ."\n" - .'* **BandwidthByDay**: Pay by daily peak bandwidth.'."\n" - .'* **95BandwidthByMonth**: Pay by monthly 95th percentile bandwidth.'."\n" - .'* **PayByBandwidth4thMonth**: Pay by monthly fourth peak bandwidth.'."\n" - .'* **PayByBandwidth**: Pay by fixed bandwidth.'."\n" + .'- **wlc** (Weighted Least Connections): In addition to the weight of each backend server, this algorithm considers the number of connections to each server. If multiple servers have the same weight, the server with the fewest connections receives the next request.'."\n" ."\n" - .'You can specify only one metering method for network usage and cannot overwrite the existing metering method.'."\n", + .'- **rr** (Round Robin): Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch** (Source-based Consistent Hashing): Requests from the same source IP address are routed to the same backend server.'."\n" + ."\n" + .'- **tch** (Four-tuple-based Consistent Hashing): Requests from the same flow, identified by source IP, destination IP, source port, and destination port, are routed to the same backend server.', 'type' => 'string', - 'required' => true, - 'example' => 'BandwidthByDay', - 'enum' => [ - 'BandwidthByDay', - '95BandwidthByMonth', - 'PayByBandwidth4thMonth', - 'PayByBandwidth', - 'FlowoutByDay', - ], + 'enum' => ['wrr', 'wlc', 'rr', 'sch', 'tch'], + 'title' => '', + 'required' => false, + 'example' => 'wrr', ], ], [ - 'name' => 'NetworkingModel', + 'name' => 'PersistenceTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The networking mode. Valid values:'."\n" - ."\n" - .'* **SpeedUp**: intelligent acceleration network (Internet)'."\n" - .'* **Connection**: internal network'."\n" - .'* **SpeedUpAndConnection**: intelligent acceleration network and internal network'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'SpeedUp', - 'enum' => [ - 'SpeedUp', - 'Connection', - 'SpeedUpAndConnection', - ], - ], + 'schema' => ['description' => 'The session persistence timeout.'."\n" + ."\n" + .'- Default value: 0, which disables session persistence.'."\n" + ."\n" + .'- Valid values: **0** to **3600**.'."\n" + ."\n" + .'- Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '3600', 'minimum' => '0', 'title' => '', 'required' => false, 'example' => '0'], ], [ - 'name' => 'InternetMaxBandwidthOut', + 'name' => 'EstablishedTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The connection timeout, in seconds. Valid values: **10** to **900**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '900', 'minimum' => '10', 'title' => '', 'required' => false, 'example' => '500'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'EPNInstanceId' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', - 'example' => 'epn-xxxxx', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - 'description' => '', - ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks required to mark an unhealthy backend server as healthy. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'StockNotEnough', - 'errorMessage' => 'The specified instance type has insufficient resource.', - ], - [ - 'errorCode' => 'UserNotExist', - 'errorMessage' => 'The specified user is not authroized to perform this operation.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The input parameter is Invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidDiskSize.ValueNotSupported', - 'errorMessage' => 'The specified disk capacity is invalid. Specify another capacity and try again.', - ], - [ - 'errorCode' => 'InvalidParameter.Bandwidth', - 'errorMessage' => 'The specified parameter InternetChargeType is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.Image', - 'errorMessage' => 'The specified image does not support.', - ], - [ - 'errorCode' => 'InvalidParameter.InstanceType', - 'errorMessage' => 'The specified parameter InstanceType is not valid.', - ], - [ - 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', - 'errorMessage' => 'Your account does not have enough balance.', - ], - [ - 'errorCode' => 'unsupported_Ipv6Feature', - 'errorMessage' => 'This ensregion does not support creating instance of the IPv6 type. Select another type.', - ], - [ - 'errorCode' => 'Forbidden.CreateInstance', - 'errorMessage' => 'The user is not in the Goods whitelist of creating instance interface.', - ], - [ - 'errorCode' => 'ENS_OperationUnsupported_KeyPairName', - 'errorMessage' => 'The KeyPairNameis not available or image not support ssh key.', - ], - [ - 'errorCode' => 'ENS_DependencyViolation_WindowsInstance', - 'errorMessage' => 'The instance creating is window, only user password to login.', - ], - [ - 'errorCode' => 'ENS_PASSWORDORKEYPAIRNAME_MODULE_NOT_CHOOSEN', - 'errorMessage' => 'The required module pwd or keyPairName is not inputed', - ], - [ - 'errorCode' => 'InvalidPrivateIpAddress', - 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'Specified virtual switch does not exist.', - ], - [ - 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', - 'errorMessage' => 'Specified private IP address is duplicated.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks required to mark a healthy backend server as unhealthy. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EPNInstanceId\\": \\"epn-xxxxx\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\nepn-bp1fg655nh68xyz9i***\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'CreateEpnInstance', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteEpnInstance' => [ - 'summary' => 'Deletes an edge private network (EPN) instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The response timeout for a health check. If a backend ENS instance does not respond within this period, the health check fails.'."\n" + ."\n" + .'- Default value: 5.'."\n" + ."\n" + .'- Valid values: **1** to **300**.'."\n" + ."\n" + .'- Unit: seconds.'."\n" + ."\n" + .'> If the value of HealthCheckConnectTimeout is less than that of HealthCheckInterval, the HealthCheckConnectTimeout setting is ignored and the HealthCheckInterval value is used as the timeout.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '100'], ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '4363', - 'abilityTreeNodes' => [ - 'FEATUREensI1ZRKE', + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. If omitted, the backend service port (BackendServerPort) is used.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '8000'], ], - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between health checks, in seconds. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '5'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name used for health checks.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'www.aliyundoc.com'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI for health checks. The URI must be **1** to **80** characters long.'."\n" + ."\n" + .'> The URI must start with `/` and must not consist solely of `/`.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => '/aliyundoc/index.html'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status code that indicates a successful health check. Valid values:'."\n" + ."\n" + .'- **http\\_2xx** (default).'."\n" + ."\n" + .'- **http\\_3xx**.'."\n" + ."\n" + .'- **http\\_4xx**.'."\n" + ."\n" + .'- **http\\_5xx**.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'http_2xx'], + ], + [ + 'name' => 'HealthCheckType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", + 'description' => 'The health check type. Valid values:'."\n" + ."\n" + .'- **tcp** (default).'."\n" + ."\n" + .'- **http**.', 'type' => 'string', - 'required' => true, - 'example' => 'epn-****', + 'enum' => ['tcp', 'http'], + 'title' => '', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'EipTransmit', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable EIP passthrough. Valid values:'."\n" + ."\n" + .'- **on**: Enables EIP passthrough.'."\n" + ."\n" + .'- **off** (default): Disables EIP passthrough.', + 'type' => 'string', + 'enum' => ['on', 'off'], + 'required' => false, + 'example' => 'on', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'title' => 'Schema of Response', + 'description' => 'The response schema.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'The input parameter listener that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectListenerStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The listener status is incorrect.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'DeleteEpnInstance', - 'description' => 'You can delete an EPN instance only when the instance group information is empty.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeEnsNetDistrict' => [ - 'summary' => 'Queries regions in which ENS resources can be created.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","type":"json"}]', + 'title' => 'SetLoadBalancerTCPListenerAttribute', + 'description' => '- API call rate: 100 calls per second.'."\n" + ."\n" + .'- Single-user call rate: 10 calls per second.', + 'changeSet' => [ + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerTCPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'SetLoadBalancerUDPListenerAttribute' => [ + 'summary' => 'Call `SetLoadBalancerUDPListenerAttribute` to modify a UDP listener.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensRIM251', - ], + 'abilityTreeCode' => '15896', + 'abilityTreeNodes' => ['FEATUREensKQ0M0M'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'NetLevelCode', + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'lb-5pzipr2fszqtl2xf64uy5****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The listener port to modify. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'example' => '80'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener. The name must be **1** to **80** characters long.'."\n" + ."\n" + .'> The name cannot start with `http://` or `https://`.', 'type' => 'string', 'maxLength' => 80, 'minLength' => 1, 'title' => '', 'required' => false, 'example' => 'example'], + ], + [ + 'name' => 'Scheduler', 'in' => 'query', 'schema' => [ - 'description' => 'The level of the region.'."\n" + 'description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Weighted Round Robin. Backend servers with higher weights receive a larger proportion of requests.'."\n" + ."\n" + .'- **wlc**: Weighted Least Connections. Requests are distributed based on both the weights and the number of active connections of backend servers. If servers have the same weight, the server with the fewest active connections receives more requests.'."\n" + ."\n" + .'- **rr**: Round Robin. Requests are distributed to backend servers in sequence.'."\n" ."\n" - .'* **Big**: area'."\n" - .'* **Middle**: province'."\n" - .'* **Small**: city'."\n", + .'- **sch**: Source IP Hash. A consistent hash based on the source IP address. Requests from the same source IP address are routed to the same backend server.'."\n" + ."\n" + .'- **tch**: 4-Tuple Hash. A consistent hash based on the 4-tuple (source IP, destination IP, source port, and destination port). Flows with the same 4-tuple are routed to the same backend server.'."\n" + ."\n" + .'- **qch**: QUIC Connection ID Hash. A consistent hash based on the QUIC Connection ID. Requests with the same QUIC Connection ID are routed to the same backend server.'."\n" + ."\n" + .'- **iqch**: iQUIC CID Hash. A consistent hash based on three specific bytes (from the second to the fourth byte) of the iQUIC CID. Requests with identical values in these three bytes are routed to the same backend server.', 'type' => 'string', - 'required' => true, - 'example' => 'Big', + 'enum' => ['wrr', 'wlc', 'rr', 'sch', 'qch', 'iqch', 'tch'], + 'title' => '', + 'required' => false, + 'example' => 'wrr', ], ], [ - 'name' => 'NetDistrictCode', + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks required to mark an unhealthy backend server as healthy. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks required to mark a healthy backend server as unhealthy. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '10', 'minimum' => '2', 'title' => '', 'required' => false, 'example' => '4'], + ], + [ + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout for a health check response. If a backend ENS instance does not respond within this timeout period, the health check fails.'."\n" + ."\n" + .'- Default value: 5'."\n" + ."\n" + .'- Valid values: **1** to **300**'."\n" + ."\n" + .'- Unit: seconds'."\n" + ."\n" + .'> If the value of `HealthCheckConnectTimeout` is less than the value of `HealthCheckInterval`, the system ignores `HealthCheckConnectTimeout` and uses the value of `HealthCheckInterval` as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '300', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval, in seconds, between consecutive health checks. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '5'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. Defaults to the backend server port (`BackendServerPort`) if not specified.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '1', 'title' => '', 'required' => false, 'example' => '8080'], + ], + [ + 'name' => 'HealthCheckReq', + 'in' => 'query', + 'schema' => ['description' => 'The request string for a UDP listener health check. The string can contain only letters and digits and must be at most 64 characters long.', 'type' => 'string', 'maxLength' => 64, 'title' => '', 'required' => false, 'example' => 'hello'], + ], + [ + 'name' => 'HealthCheckExp', + 'in' => 'query', + 'schema' => ['description' => 'The expected response string for a UDP listener health check. The string can contain only letters and digits and must be at most 64 characters long.', 'type' => 'string', 'maxLength' => 64, 'title' => '', 'required' => false, 'example' => 'ok'], + ], + [ + 'name' => 'EipTransmit', 'in' => 'query', 'schema' => [ - 'description' => 'The code of the region.'."\n" + 'description' => 'Specifies whether to enable EIP passthrough. Valid values:'."\n" ."\n" - .'If you do not specify this parameter, only nodes in the regions of the level that is specified by the NetLevelCode parameter are queried.'."\n" + .'- **on**: Enables EIP passthrough.'."\n" ."\n" - .'If you specify this parameter, only nodes in the regions of the level that is specified by this parameter are queried.'."\n", + .'- **off** (default): Disables EIP passthrough.', 'type' => 'string', + 'enum' => ['on', 'off'], 'required' => false, - 'example' => '100106', + 'example' => 'on', + 'title' => '', ], ], [ - 'name' => 'NetDistrictCodeNode', + 'name' => 'EstablishedTimeout', 'in' => 'query', - 'schema' => [ - 'title' => '地区代码', - 'type' => 'boolean', - 'default' => 'false', - ], + 'schema' => ['description' => 'The timeout for established connections, in seconds. The value must be an integer from **10** to **900**. The default value is **900**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '900', 'minimum' => '10', 'required' => false, 'example' => '500', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response schema', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The returned service code. A value of 0 indicates that the operation was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'EnsNetDistricts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnsNetDistrict' => [ - 'description' => 'The information about the regions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the ISPs in the area.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnsRegionIdCount' => [ - 'description' => 'The number of nodes in the region.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'NetDistrictCode' => [ - 'description' => 'The code of the region.'."\n", - 'type' => 'string', - 'example' => '100106', - ], - 'NetDistrictEnName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'southWest', - ], - 'NetDistrictFatherCode' => [ - 'description' => 'The parent code of the region.'."\n", - 'type' => 'string', - 'example' => '100000', - ], - 'NetDistrictLevel' => [ - 'description' => 'The level of the region.'."\n" - ."\n" - .'* **Big**: area'."\n" - .'* **Middle**: province'."\n" - .'* **Small**: city'."\n", - 'type' => 'string', - 'example' => 'Big', - ], - 'NetDistrictName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'southwest China'."\n", - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75456'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter domainName that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter LoadBalancerId that is not found.', 'description' => 'The load balancing instance does not exist.'], + ['errorCode' => 'IncorrectListenerStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The listener status is incorrect.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'Listener is not found.', 'description' => 'Listener does not exist'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75456\\"\\n}","type":"json"}]', + 'title' => 'SetLoadBalancerUDPListenerAttribute', + 'description' => '- API call rate limit: 100 requests/second.'."\n" + ."\n" + .'- Per-user rate limit: 10 requests/second.', + 'changeSet' => [ + ['createdAt' => '2024-08-20T07:26:21.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 0,\\n \\"EnsNetDistricts\\": {\\n \\"EnsNetDistrict\\": [\\n {\\n \\"EnsRegionIdCount\\": \\"2\\",\\n \\"NetDistrictCode\\": \\"100106\\",\\n \\"NetDistrictEnName\\": \\"southWest\\",\\n \\"NetDistrictFatherCode\\": \\"100000\\",\\n \\"NetDistrictLevel\\": \\"Big\\",\\n \\"NetDistrictName\\": \\"西南\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","errorExample":""},{"type":"xml","example":"\\n \\n 100106\\n Big\\n 100000\\n southWest\\n \\n 1\\n 电信\\n telecom\\n cn\\n \\n \\n 1\\n 联通\\n unicom\\n cn\\n \\n \\n 1\\n 移动\\n cmcc\\n cn\\n \\n \\n 1\\n 多线\\n multiCarrier\\n cn\\n \\n 西南\\n \\n\\nF3B261DD-3858-4D3C-877D-303ADF374600\\n0","errorExample":""}]', - 'title' => 'DescribeEnsNetDistrict', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeEpnBandWidthData' => [ - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerUDPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ShareAICImage' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'EnsRegionId', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-cmcc', - ], + 'schema' => ['description' => 'The image name.', 'type' => 'string', 'required' => true, 'example' => 'mykey', 'maxLength' => 128, 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'Users', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5sg1owx0g4ojy66ab2tez77r2', + 'title' => '', + 'description' => 'The user groups.', + 'type' => 'array', + 'items' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '14134343', 'title' => '', 'required' => false], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + 'example' => '', ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-12-15T16:00:00Z', + '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' => 'AAE90880-4970-4D81-A534-A6C0F3631F74'], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ShareAICImage', + 'summary' => 'Share the specified AIC image to other users.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ShareAICImage'], + ], + ], + 'ramActions' => [ [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-12-16T16:00:00Z', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ShareAICImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', + ], + 'StartEpnInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The precision of the monitoring data that you want to obtain. Valid values: 300, 1200, 3600, and 14400. Default value: 300. Unit: seconds.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '300', - ], + 'AK' => [], ], + ], + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ - 'name' => 'Isp', + 'name' => 'EPNInstanceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The Internet service provider (ISP). Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile'."\n" - .'* telecom: China Telecom'."\n" - .'* unicom: China Unicom'."\n" - .'* multiCarrier: multi-line ISP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cmcc', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'StartEpnInstance', + 'summary' => 'Starts an edge network instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:54.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartEpnInstance'], + ], + ], + 'ramActions' => [ [ - 'name' => 'NetworkingModel', - 'in' => 'query', - 'schema' => [ - 'description' => 'The networking mode. Valid values:'."\n" - ."\n" - .'* **SpeedUp**: intelligent acceleration network (Internet)'."\n" - .'* **Connection**: internal network'."\n" - .'* **SpeedUpAndConnection**: intelligent acceleration network and internal network'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpeedUp', - 'enum' => [ - 'SpeedUp', - 'Connection', - 'SpeedUpAndConnection', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StartEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StartInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensI1ZRKE'], + ], + 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'epn-20200825134537VyK81T', - ], + 'schema' => ['description' => 'The ID of the instance. You can start only one instance.', 'type' => 'string', 'required' => true, 'example' => 'i-instance****', 'title' => ''], ], ], 'responses' => [ @@ -53712,509 +40344,329 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'MonitorData' => [ - 'description' => 'The monitoring data of the instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'BandWidthMonitorData' => [ - 'description' => 'The bandwidth data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DownBandWidth' => [ - 'description' => 'The outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'InternetRX' => [ - 'description' => 'The Internet traffic to the instance. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'InternetTX' => [ - 'description' => 'The Internet traffic from the instance. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp when the monitoring data was queried. 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' => '2019-10-12T05:45:00Z', - ], - 'UpBandWidth' => [ - 'description' => 'The inbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - ], - 'MaxDownBandWidth' => [ - 'description' => 'The maximum outbound bandwidth within the queried time range. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16817468', - ], - 'MaxUpBandWidth' => [ - 'description' => 'The maximum inbound bandwidth within the queried time range. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '231008', - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1D289DAA-F6DA-5FC4-AE47-F5C8B6277BFC', - ], + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'USERNOTFOUND', - 'errorMessage' => 'The user is not in ens-controller.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the instance does not support this operation.', 'description' => 'The instance is in a state that does not support the current operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MonitorData\\": {\\n \\"BandWidthMonitorData\\": [\\n {\\n \\"DownBandWidth\\": 0,\\n \\"InternetRX\\": 0,\\n \\"InternetTX\\": 0,\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\",\\n \\"UpBandWidth\\": 0\\n }\\n ],\\n \\"MaxDownBandWidth\\": 16817468,\\n \\"MaxUpBandWidth\\": 231008\\n },\\n \\"RequestId\\": \\"1D289DAA-F6DA-5FC4-AE47-F5C8B6277BFC\\"\\n}","type":"json"}]', - 'title' => 'DescribeEpnBandWidthData', - 'summary' => 'Queries the EPN bandwidth usage.', - ], - 'DescribeEpnBandwitdhByInternetChargeType' => [ - 'summary' => 'Queries the metering method of the EPN bandwidth within a time period.', - 'methods' => [ - 'post', - 'get', + 'title' => 'StartInstance', + 'summary' => 'Starts an instance.', + 'description' => '- You can call the operation only when the instance is in the Stopped state.'."\n" + ."\n" + .'- If the operation is successful, the status of the instance becomes Starting.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-07-28T07:50:05.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StartInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StartLoadBalancerListener' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '15345', + 'abilityTreeNodes' => ['FEATUREensO1PAP3'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-12-02T16:00:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'* Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - .'* If the value of the seconds place is not 00, the start time is automatically set to the next minute.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-12-06T15:59:59Z', - ], - ], - [ - 'name' => 'Isp', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The Internet service provider (ISP). Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile'."\n" - .'* telecom: China Telecom'."\n" - .'* unicom: China Unicom'."\n" - .'* multiCarrier: multi-line ISP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], + 'schema' => ['description' => 'The listener port to be enabled. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '8080', 'title' => ''], ], [ - 'name' => 'EnsRegionId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Edge Node Service (ENS) node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-changsha-unicom', - ], + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5saivuir6b1mupxjfbhmk****', 'title' => ''], ], [ - 'name' => 'NetworkingModel', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The networking mode. Valid values:'."\n" - ."\n" - .'* **SpeedUp**: intelligent acceleration network (Internet)'."\n" - .'* **Connection**: internal network'."\n" - .'* **SpeedUpAndConnection**: intelligent acceleration network and internal network'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Connection', - 'enum' => [ - 'SpeedUp', - 'Connection', - 'SpeedUpAndConnection', - ], - ], + 'schema' => ['description' => 'The frontend protocol that is used by the ELB instance. Valid values:'."\n" + ."\n" + .'- tcp'."\n" + ."\n" + .'- udp'."\n" + ."\n" + .'- http'."\n" + ."\n" + .'- https'."\n" + ."\n" + .'> This parameter is required if the same port is used by listeners that use different protocols.', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'BandwidthValue' => [ - 'description' => 'The bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method. Valid values:'."\n" - ."\n" - .'* BandwidthByDay: Pay by daily peak bandwidth'."\n" - .'* 95BandwidthByMonth: Pay by monthly 95th percentile bandwidth'."\n" - .'* PayByBandwidth4thMonth: Pay by monthly fourth peak bandwidth'."\n" - .'* PayByBandwidth: Pay by fixed bandwidth'."\n" - ."\n" - .'You can specify only one metering method for network usage and cannot overwrite the existing metering method.'."\n", - 'type' => 'string', - 'example' => 'BandwidthByDay', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '216BCED0-E055-5DDB-8E06-4084A62A4A44', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp when the monitoring data was queried. 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' => '2019-10-12T05:45:00Z', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InsufficientEipCapacity', - 'errorMessage' => 'Insufficient EIP inventory under the specified territory.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'The input parameter listener that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectListenerStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The listener status is incorrect.'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthValue\\": 123,\\n \\"InternetChargeType\\": \\"BandwidthByDay\\",\\n \\"RequestId\\": \\"216BCED0-E055-5DDB-8E06-4084A62A4A44\\",\\n \\"TimeStamp\\": \\"2019-10-12T05:45:00Z\\"\\n}","type":"json"}]', - 'title' => 'DescribeEpnBandwitdhByInternetChargeType', - ], - 'DescribeEpnInstanceAttribute' => [ - 'summary' => 'Queries networking information about an EPN instance.', - 'methods' => [ - 'post', - 'get', + 'title' => 'StartLoadBalancerListener', + 'summary' => 'Enables a listener.', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:01.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartLoadBalancerListener'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StartLoadBalancerListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StartSnatIpForSnatEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'SnatEntryId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'epn-xxxx', - ], + 'schema' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'snat-5tfi6f8gds82mjmlofeym****', 'title' => ''], + ], + [ + 'name' => 'SnatIp', + 'in' => 'query', + 'schema' => ['description' => 'The EIP specified in the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => '219.152.XX.XX', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'ConfVersions' => [ - 'description' => 'The information about the EPN configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ConfVersion' => [ - 'description' => 'The version number.'."\n", - 'type' => 'string', - 'example' => '2017-10-11', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-telecom', - ], - ], - ], - ], - 'EPNInstanceId' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', - 'example' => 'epn-xxxx', - ], - 'EPNInstanceName' => [ - 'description' => 'The name of the EPN instance.'."\n", - 'type' => 'string', - 'example' => 'epn-test', - ], - 'Instances' => [ - 'description' => 'The information about the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-chengdu-telecom-4', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'epn-xxx', - ], - 'InstanceName' => [ - 'description' => 'The name of the instance.'."\n", - 'type' => 'string', - 'example' => 'epn-test', - ], - 'Isp' => [ - 'description' => 'The ISP. Valid values:'."\n" - ."\n" - .'* cmcc: China Mobile'."\n" - .'* unicom: China Unicom'."\n" - .'* telecom: China Telecom'."\n", - 'type' => 'string', - 'example' => 'cmcc', - ], - 'PrivateIpAddress' => [ - 'description' => 'The private IP address.'."\n", - 'type' => 'string', - 'example' => '192.168.1.12', - ], - 'PublicIpAddress' => [ - 'description' => 'The public IP address.'."\n", - 'type' => 'string', - 'example' => '20.3.XX.XX', - ], - 'Status' => [ - 'description' => 'The status of the instance. Valid values:'."\n" - ."\n" - .'* Running'."\n" - .'* Stopped'."\n" - .'* Expired'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - ], - ], - ], - 'NetworkingModel' => [ - 'description' => 'The networking mode. Valid values:'."\n" - ."\n" - .'* SpeedUp: intelligent acceleration network (Internet)'."\n" - .'* Connection: internal network'."\n" - .'* SpeedUpAndConnection: intelligent acceleration network and internal network'."\n", - 'type' => 'string', - 'example' => 'SpeedUp', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'VSwitches' => [ - 'description' => 'Details of the vSwitch.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CidrBlock' => [ - 'description' => 'The CIDR block.'."\n", - 'type' => 'string', - 'example' => '10.0.0.1/24', - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => ' cn-chengdu-telecom-4', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vs-xxxx', - ], - 'VSwitchName' => [ - 'description' => 'The name of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vs-test', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '85BBD491-CE05-5BDA-979E-843FE52B74CF'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error ', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'InvalidParameter.SnatNotFound', 'errorMessage' => 'The specified snat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'Snat entry status blocked this operation.', 'description' => 'Snat status is not correct, please check Snat status.'], + ['errorCode' => 'InvalidParameter.SnatIpNotFound', 'errorMessage' => 'The specified snat ip not found.', 'description' => ''], + ['errorCode' => 'IncorretSnatIpStatus', 'errorMessage' => 'Snat ip status blocked this operation.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'StartSnatIpForSnatEntry', + 'summary' => 'Starts the elastic IP address (EIP) specified in a source network address translation (SNAT) entry.', + 'changeSet' => [ + ['createdAt' => '2024-01-22T06:17:58.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartSnatIpForSnatEntry'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:StartSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85BBD491-CE05-5BDA-979E-843FE52B74CF\\"\\n}","type":"json"}]', + ], + 'StopEpnInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'EPNInstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the EPN instance.', 'type' => 'string', 'required' => true, 'example' => 'epn-20201014152822q2S9tQ', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ConfVersions\\": [\\n {\\n \\"ConfVersion\\": \\"2017-10-11\\",\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom\\"\\n }\\n ],\\n \\"EPNInstanceId\\": \\"epn-xxxx\\",\\n \\"EPNInstanceName\\": \\"epn-test\\",\\n \\"Instances\\": [\\n {\\n \\"EnsRegionId\\": \\"cn-chengdu-telecom-4\\",\\n \\"InstanceId\\": \\"epn-xxx\\",\\n \\"InstanceName\\": \\"epn-test\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"PrivateIpAddress\\": \\"192.168.1.12\\",\\n \\"PublicIpAddress\\": \\"20.3.XX.XX\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ],\\n \\"NetworkingModel\\": \\"SpeedUp\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"VSwitches\\": [\\n {\\n \\"CidrBlock\\": \\"10.0.0.1/24\\",\\n \\"EnsRegionId\\": \\"\\\\t cn-chengdu-telecom-4\\",\\n \\"VSwitchId\\": \\"vs-xxxx\\",\\n \\"VSwitchName\\": \\"vs-test\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n \\n 2017-10-11\\n cn-chengdu-telecom\\n \\n epn-xxxx\\n epn-test\\n \\n cn-chengdu-telecom-4\\n epn-xxx\\n epn-test\\n cmcc\\n 192.168.1.12\\n 20.3.XX.XX\\n Running\\n \\n SpeedUp\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n 10.0.0.1/24\\n \\t cn-chengdu-telecom-4\\n vs-xxxx\\n vs-test\\n \\n","errorExample":""}]', - 'title' => 'DescribeEpnInstanceAttribute', - 'description' => 'In internal networking mode, the value of Instances is empty in the response. In public networking mode, the value of VSwitches is empty in the response.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeEpnInstances' => [ - 'summary' => 'Queries EPN instances.', - 'methods' => [ - 'post', - 'get', + 'title' => 'StopEpnInstance', + 'summary' => 'Stops an EPN instance.', + 'changeSet' => [ + ['createdAt' => '2023-12-26T06:02:54.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopEpnInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StopEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StopInstance' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '2289', + 'abilityTreeNodes' => ['FEATUREensI1ZRKE'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-11-10', - ], + 'schema' => ['description' => 'The ID of the instance that you want to stop. You can specify only one instance ID.', 'type' => 'string', 'required' => true, 'example' => 'i-instanceid****', 'title' => ''], ], [ - 'name' => 'EPNInstanceName', + 'name' => 'ForceStop', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the EPN instance.'."\n", + 'description' => 'Specifies whether to forcibly stop the instance.'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false** (default)', 'type' => 'string', 'required' => false, - 'example' => 'testEPNInstanceName', - ], - ], - [ - '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. Valid values: **1 to 50**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '10', + 'enum' => ['true', 'false'], + 'example' => 'true', + 'title' => '', ], ], ], @@ -54223,556 +40675,483 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EPNInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EPNInstance' => [ - 'description' => 'Details of EPN instances.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the instance was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-11-01T06:08:46Z', - ], - 'EPNInstanceId' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', - 'example' => 'epn****', - ], - 'EPNInstanceName' => [ - 'description' => 'The name of the EPN instance.'."\n", - 'type' => 'string', - 'example' => 'ens_test_epn', - ], - 'EPNInstanceType' => [ - 'description' => 'Set the value to EdgeToEdge.'."\n", - 'type' => 'string', - 'example' => 'EdgeToEdge', - ], - 'EndTime' => [ - 'description' => 'The end of the time range during which the data was queried. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-11-01T06:08:46Z', - ], - 'InternetMaxBandwidthOut' => [ - 'description' => 'The inbound bandwidth. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'ModifyTime' => [ - 'description' => 'The time when the instance was last modified. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-11-01T06:08:46Z', - ], - 'NetworkingModel' => [ - 'description' => 'The networking mode. Valid values:'."\n" - ."\n" - .'* SpeedUp: intelligent acceleration network (Internet)'."\n" - .'* Connection: internal network'."\n" - .'* SpeedUpAndConnection: intelligent acceleration network and internal network'."\n", - 'type' => 'string', - 'example' => 'SpeedUp', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range during which the data was queried. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-11-01T06:08:46Z', - ], - 'Status' => [ - 'description' => 'The status of the instance. Valid values:'."\n" - ."\n" - .'* Running'."\n" - .'* Excuting'."\n" - .'* Stopped'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - ], - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A1707FC0-430C-423A-B624-284046B20399', - ], - 'TotalCount' => [ - 'description' => 'The total number of pages returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'Code' => ['description' => 'The returned service code. 0 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InstanceIdNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => 'The specified instance ID does not exist.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EPNInstances\\": {\\n \\"EPNInstance\\": [\\n {\\n \\"CreationTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"EPNInstanceId\\": \\"epn****\\",\\n \\"EPNInstanceName\\": \\"ens_test_epn\\",\\n \\"EPNInstanceType\\": \\"EdgeToEdge\\",\\n \\"EndTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"InternetMaxBandwidthOut\\": 40,\\n \\"ModifyTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"NetworkingModel\\": \\"SpeedUp\\",\\n \\"StartTime\\": \\"2019-11-01T06:08:46Z\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 40,\\n \\"RequestId\\": \\"A1707FC0-430C-423A-B624-284046B20399\\",\\n \\"TotalCount\\": 1\\n}","errorExample":""},{"type":"xml","example":"1\\n\\n \\n Running\\n EdgeToEdge\\n 2019-11-01T06:08:46Z\\n 40\\n 2019-11-01T06:08:46Z\\n SpeedUp\\n 2019-11-01T06:08:46Z\\n 2019-11-01T06:08:46Z\\n epn****\\n ens_test_epn\\n \\n\\n40\\nA1707FC0-430C-423A-B624-284046B20399\\n1","errorExample":""}]', - 'title' => 'DescribeEpnInstances', + 'title' => 'StopInstance', + 'summary' => 'Stops an instance.', + 'description' => '- to stop instances that are only in the Running state.'."\n" + ."\n" + .'- If the call is successful, the state of the instance becomes Stopping.'."\n" + ."\n" + .'- Once the instance is stopped, the state of the instance becomes Stopped.'."\n" + ."\n" + .'- Force stop is supported, which is equivalent to power-off. Data that is not written to disks on the instance may be lost.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeEpnMeasurementData' => [ - 'summary' => 'Queries the metering data of the edge private network (EPN).', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-12-21T08:03:39.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopInstance'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StopInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StopLoadBalancerListener' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'abilityTreeCode' => '15346', + 'abilityTreeNodes' => ['FEATUREensHUSGFJ'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'StartDate', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-mm-ddthh:mm:ssz format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-09-30T16:00:00Z', - ], + 'schema' => ['description' => 'The listener port that you want to disable. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '8080', 'title' => ''], ], [ - 'name' => 'EndDate', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2022-01-30T16:00:00Z', - ], + 'schema' => ['description' => 'The ID of the ELB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-5sc1s9zrui8lpb8u7cl4f****', 'title' => ''], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The frontend protocol that is used by the ELB instance.'."\n" + ."\n" + .'> This parameter is required if the same port is used by listeners that use different protocols.', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'MeasurementDatas' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'MeasurementData' => [ - 'description' => 'The metering data returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Measurement data.', - 'type' => 'object', - 'properties' => [ - 'BandWidthFeeDatas' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BandWidthFeeData' => [ - 'description' => 'The bandwidth data returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Bandwidth data.', - 'type' => 'object', - 'properties' => [ - 'CostCode' => [ - 'description' => 'The code of the billable item.'."\n", - 'type' => 'string', - 'example' => 'cn-cmcc-1', - ], - 'CostName' => [ - 'description' => 'The name of the billable item.'."\n", - 'type' => 'string', - 'example' => 'Beijing, Shanghai, and Guangzhou Mobile'."\n", - ], - 'CostType' => [ - 'description' => 'Metering method'."\n" - ."\n" - .'* SpeedUp: bandwidth of intelligent acceleration'."\n" - .'* IntranetConnection: internal bandwidth'."\n", - 'type' => 'string', - 'example' => 'SpeedUp', - ], - 'CostVal' => [ - 'description' => 'The value of the billable item.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16486', - ], - 'IspLine' => [ - 'description' => 'This parameter is unavailable.'."\n", - 'type' => 'string', - 'example' => 'This parameter is not currently in use.'."\n", - ], - ], - ], - ], - ], - ], - 'ChargeModel' => [ - 'description' => 'The metering method. Valid values:'."\n" - ."\n" - .'* ChargeByUnified: unified metering.'."\n" - .'* ChargeByGrade: differential metering.'."\n", - 'type' => 'string', - 'example' => 'ChargeByGrade', - ], - 'CostCycle' => [ - 'description' => 'The metering cycle.'."\n", - 'type' => 'string', - 'example' => '2019-07-30', - ], - 'CostEndTime' => [ - 'description' => 'The end time of the metering cycle.'."\n", - 'type' => 'string', - 'example' => '2019-07-30T16:00:00Z', - ], - 'CostStartTime' => [ - 'description' => 'The start time of the metering cycle.'."\n", - 'type' => 'string', - 'example' => '2019-07-29T16:00:00Z', - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A6328C33-6304-5291-8641-0A00A99D0DD0', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The input parameter loadBalancerId that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectInstanceStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The current operation is not supported. The disk is being reset.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'The input parameter listener that is not found.', 'description' => ''], + ['errorCode' => 'IncorrectListenerStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The listener status is incorrect.'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'StopLoadBalancerListener', + 'summary' => 'Disables a listener.', + 'description' => '- up to 100 times per second per account.'."\n" + ."\n" + .'- up to 10 times per second per user.', + 'changeSet' => [ + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-20T09:23:02.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopLoadBalancerListener'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StopLoadBalancerListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'StopSnatIpForSnatEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'SnatEntryId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => 'snat-5tfi6f8gds82mjmlofeym****', 'title' => ''], + ], + [ + 'name' => 'SnatIp', + 'in' => 'query', + 'schema' => ['description' => 'The EIP specified in the SNAT entry.', 'type' => 'string', 'required' => true, 'example' => '221.178.103.143', 'title' => ''], + ], + ], + '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.', 'type' => 'string', 'example' => '9A415CB9-7591-566F-924B-32709578756B'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameters that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InstanceNotExists', - 'errorMessage' => 'The user have no instances.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error ', 'errorMessage' => 'An error occurred while call the API. ', 'description' => ''], + ['errorCode' => 'InvalidParameter.SnatNotFound', 'errorMessage' => 'The specified snat is not found.', 'description' => 'The specified DNAT rule does not exist.'], + ['errorCode' => 'IncorretSnatEntryStatus', 'errorMessage' => 'Snat entry status blocked this operation.', 'description' => 'Snat status is not correct, please check Snat status.'], + ['errorCode' => 'InvalidParameter.SnatIpNotFound', 'errorMessage' => 'The specified snat ip not found.', 'description' => ''], + ['errorCode' => 'IncorretSnatIpStatus', 'errorMessage' => 'Snat ip status blocked this operation.', 'description' => ''], + ['errorCode' => 'Forbidden.SnatIp', 'errorMessage' => 'Snat requires at least one running snat ip', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MeasurementDatas\\": {\\n \\"MeasurementData\\": [\\n {\\n \\"BandWidthFeeDatas\\": {\\n \\"BandWidthFeeData\\": [\\n {\\n \\"CostCode\\": \\"cn-cmcc-1\\",\\n \\"CostName\\": \\"北上广移动\\",\\n \\"CostType\\": \\"SpeedUp\\",\\n \\"CostVal\\": 16486,\\n \\"IspLine\\": \\"此参数暂不使用。\\"\\n }\\n ]\\n },\\n \\"ChargeModel\\": \\"ChargeByGrade\\",\\n \\"CostCycle\\": \\"2019-07-30\\",\\n \\"CostEndTime\\": \\"2019-07-30T16:00:00Z\\",\\n \\"CostStartTime\\": \\"2019-07-29T16:00:00Z\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A6328C33-6304-5291-8641-0A00A99D0DD0\\"\\n}","type":"json"}]', - 'title' => 'DescribeEpnMeasurementData', - ], - 'JoinPublicIpsToEpnInstance' => [ - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'StopSnatIpForSnatEntry', + 'summary' => 'Disables an elastic IP address (EIP) in a source network address translation (SNAT) entry.', + 'changeSet' => [ + ['createdAt' => '2024-01-22T06:17:58.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopSnatIpForSnatEntry'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:StopSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9A415CB9-7591-566F-924B-32709578756B\\"\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'summary' => 'Creates and adds tags to specific Edge Node Service (ENS) resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '200372', + 'abilityTreeNodes' => ['FEATUREensXWIJMI'], ], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', + 'description' => 'The tag that is bound to the instance.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N that is added to the resource. 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' => true, 'example' => 'team', 'title' => ''], + 'Value' => ['description' => 'The value of tag N that is added to the resource. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with acs: or contain http\\:// or https\\://.', 'type' => 'string', 'required' => true, 'example' => 'Deep', 'title' => ''], + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], 'required' => true, - 'example' => 'epn-xxxx', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceInfos', + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The resource IDs. You can add up to 50 resource IDs in a call.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the resource.', 'type' => 'string', 'required' => true, 'example' => 'i-5****', 'title' => ''], + 'required' => true, + 'maxItems' => 50, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => 'The information about the public IP address that you want to add to the EPN instance.'."\n", + 'description' => 'The type of the resource. Set the value to instance.', 'type' => 'string', 'required' => true, - 'example' => 'InstanceInfos=[{"PublicIpAddress":"2.230.XX.XX"},{"PublicIpAddress":"2.230.XX.XX"}]', + 'enum' => ['instance', 'eip', 'disk', 'vswitch', 'network', 'natgateway', 'armserver'], + 'example' => 'instance', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C50C391C-533A-55D3-AC97-5D9333DE288F'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceIds are not found in our records.', 'description' => 'The specified resource information does not exist.'], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'The operator is not permission for this operate', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'JoinPublicIpsToEpnInstance', - 'summary' => 'Assigns public IP addresses to an EPN instance.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'JoinVSwitchesToEpnInstance' => [ - 'summary' => 'Performs networking.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'TagResources', + 'description' => 'Before you add tags to a resource, Alibaba Cloud checks the number of existing tags on the resource. If the number exceeds the upper limit, an error message is returned. Only instance resources, such as virtual machines and bare machines, are supported.', + 'changeSet' => [ + ['createdAt' => '2025-05-08T08:42:18.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T12:07:11.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C50C391C-533A-55D3-AC97-5D9333DE288F\\"\\n}","type":"json"}]', + ], + 'UnAssociateEnsEipAddress' => [ + 'summary' => 'Disassociates an elastic IP address (EIP) from an instance.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '19511', + 'abilityTreeNodes' => ['FEATUREens5WGMNC'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'AllocationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the edge network instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'epn-xxxx', - ], + 'schema' => ['description' => 'The ID of the EIP.', 'type' => 'string', 'required' => true, 'example' => 'eip-5sqa431nx3vee8heqxfxp****', 'title' => ''], ], [ - 'name' => 'VSwitchesInfo', + 'name' => 'Force', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the internal networking to which you want to add the edge network instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '[{"VSwitchId":"vs-ixxxx"},{"VSwitchId":"vs-ixxxx"}]', - ], + 'schema' => ['description' => 'Specifies whether to disassociate the EIP from a NAT gateway if a DNAT or SNAT entry is added to the NAT gateway. Valid values:'."\n" + ."\n" + .'- **false** (default): does not disassociate the EIP from a NAT gateway if a DNAT or SNAT entry is added to the NAT gateway.'."\n" + ."\n" + .'- **true**: disassociates the EIP from a NAT gateway if a DNAT or SNAT entry is added to the NAT gateway.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '4A431388-2D4B-46F4-A96B-D4E6BD0688C1'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'IncorrectEipStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => 'The Eip status is incorrect. Check the Eip status.'], + ['errorCode' => 'EipNotFound', 'errorMessage' => 'The input parameter allocationId that is not found. ', 'description' => ''], + ['errorCode' => 'IncorrectEipIpStatus', 'errorMessage' => 'The ip status of EIP is invalid.', 'description' => ''], + ['errorCode' => 'InvalidUnAssociation.UnAssociateStandbyEipFist', 'errorMessage' => 'Unassociate standby eip first.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'Failed to call API.', 'description' => ''], + ['errorCode' => 'InvalidIpStatus.HasBeenUsedByForwardEntry', 'errorMessage' => 'The eip has been used by dnat.', 'description' => 'There is dnat using this Eip.'], + ['errorCode' => 'InvalidIpStatus.HasBeenUsedBySnatTable', 'errorMessage' => 'The eip has been used by snat.', 'description' => 'This Eip is in use by snat.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'JoinVSwitchesToEpnInstance', - 'description' => 'For the Internal Connection mode and the Intelligent Acceleration and Internal Connection mode, instances of the vSwitch take effect automatically. You do not need to manually add instances. For public connections such as intelligent acceleration, you need to call an operation to manually add the instances to Internet-facing instances.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ModifyEpnInstance' => [ - 'summary' => 'Modifies an Edge Private Network (EPN) instance.', - 'methods' => [ - 'post', - 'get', + 'title' => 'UnAssociateEnsEipAddress', + 'changeSet' => [ + ['createdAt' => '2025-03-13T08:23:28.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-03T05:38:13.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-28T01:51:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-18T09:09:05.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-05-13T06:41:56.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnAssociateEnsEipAddress'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnAssociateEnsEipAddress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4A431388-2D4B-46F4-A96B-D4E6BD0688C1\\"\\n}","type":"json"}]', + ], + 'UnInstallClusterAddons' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EPNInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'epn-****', - ], - ], - [ - 'name' => 'EPNInstanceName', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the EPN instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ens_test_epn', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxx', 'title' => ''], ], [ - 'name' => 'NetworkingModel', + 'name' => 'Addons', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The networking mode. Valid values:'."\n" - ."\n" - .'* **SpeedUp**: Intelligent acceleration network (Internet).'."\n" - .'* **Connection**: Internal network.'."\n" - .'* **SpeedUpAndConnection**: Intelligent acceleration network and internal network.'."\n" - ."\n" - .'> The internal network supports only **Connection** and **SpeedUpAndConnection**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpeedUp', - 'enum' => [ - 'SpeedUp', - 'Connection', - 'SpeedUpAndConnection', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the plug-in.', 'type' => 'string', 'required' => false, 'example' => 'edge-csi-lite', 'title' => ''], + ], + 'description' => 'Component information.', + 'required' => false, + 'title' => '', + 'example' => '', ], - ], - ], - [ - 'name' => 'InternetMaxBandwidthOut', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 1 Mbit/s to 100 Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'Component information.', 'required' => false, - 'example' => '10', + 'title' => '', + 'example' => '', ], ], ], @@ -54781,338 +41160,352 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'eck-xxxxxxxx', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'UnInstallClusterAddons', + 'summary' => 'The UnInstallClusterAddons operation deletes components from a cluster. You must specify the names of the components that you want to delete.', + 'description' => '- A single user can call this operation up to 10 times per second.'."\n" + ."\n" + .'- Cluster creation is an asynchronous operation. After the API call returns, the cluster requires 10 to 20 minutes to initialize. During this period, you can call the DescribeClustersV1 operation to query the cluster creation status. After the cluster is successfully created, you can call the DescribeClusterUserKubeconfig operation to retrieve the cluster certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnInstallClusterAddons'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:UnInstallClusterAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'ModifyEpnInstance', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', ], - 'RemovePublicIpsFromEpnInstance' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UnassignPrivateIpAddresses' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'NetworkInterfaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'epn-xxxx', - ], + 'schema' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'required' => true, 'example' => 'eni-f8z57orgmt6d144t****', 'title' => ''], ], [ - 'name' => 'InstanceInfos', + 'name' => 'PrivateIpAddress', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The information about the public IP addresses that you want to delete.'."\n", - 'type' => 'string', + 'description' => 'The secondary private IP addresses to unassign.', + 'type' => 'array', + 'items' => ['description' => 'Secondary private IP address N to unassign.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], 'required' => true, - 'example' => '[{"PublicIpAddress":"2.230.XX.XX"},{"PublicIpAddress":"2.230.XX.XX"}]', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E Request ID.'."\n", - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '1ECC937A-AE0E-4626-BE51-DED1D6D1C888'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'InvalidEniId.NotFound', 'errorMessage' => 'The specified NetworkInterfaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidPrivateIpAddress.NotFound', 'errorMessage' => 'The specified privateIpAddress does not exist.', 'description' => ''], + ['errorCode' => 'IncorrectPrivateIpAddressStatus', 'errorMessage' => 'The current status of the resource does not support this operation.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\\\t 请求ID。\\"\\n}","errorExample":""},{"type":"xml","example":"\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'RemovePublicIpsFromEpnInstance', - 'summary' => 'Removes IP addresses from an edge private network (EPN) instance.', - ], - 'RemoveVSwitchesFromEpnInstance' => [ - 'methods' => [ - 'post', - 'get', + 'title' => 'UnassignPrivateIpAddresses', + 'summary' => 'Unassigns secondary private IP addresses from an elastic network interface (ENI).', + 'changeSet' => [ + ['createdAt' => '2022-06-21T06:54:53.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-05-17T06:35:47.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnassignPrivateIpAddresses'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnassignPrivateIpAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1ECC937A-AE0E-4626-BE51-DED1D6D1C888\\"\\n}","type":"json"}]', + ], + 'UnassociateHaVip' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '203845', + 'abilityTreeNodes' => ['FEATUREens5WGMNC'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'HaVipId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of theEPN instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'epn-****', - ], + 'schema' => ['description' => 'The ID of the HAVIP that you want to disassociate.', 'type' => 'string', 'required' => true, 'example' => 'havip-5p14t****', 'title' => ''], ], [ - 'name' => 'VSwitchesInfo', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The internal networking information that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'VSwitchesInfo=[{"VSwitchId":"vs-ixxxx"},{"VSwitchId":"vs-ixxxx"}]', - ], + 'schema' => ['description' => 'The ID of the ENS instance or ENI that you want to disassociate from the HAVIP.', 'type' => 'string', 'required' => true, 'example' => 'i-5ecpqvk****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'The input parameter instancdId that is not found.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'Interface call error, please re-match, or contact the product.', 'description' => 'Interface call error, please re-select'], + ['errorCode' => 'HaVipNotFound', 'errorMessage' => 'The input parameter haVipId that is not found.', 'description' => 'The specified HaVip does not exist.'], + ['errorCode' => 'InstanceNotAssociated', 'errorMessage' => 'The instance is not associated.', 'description' => 'Instance not bound'], + ['errorCode' => 'IncorrectInstanceAssociationStatus', 'errorMessage' => 'The status of the instance association is incorrect.', 'description' => 'The status of the instance association is incorrect.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'RemoveVSwitchesFromEpnInstance', - 'summary' => 'Deletes the networking information. This operation is applicable only for instances that reside in the internal network.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StartEpnInstance' => [ - 'summary' => 'Starts an edge network instance.', - 'methods' => [ - 'post', - 'get', + 'title' => 'UnassociateHaVip', + 'summary' => 'Disassociates a high-availability virtual IP address (HAVIP) from an Edge Node Service (ENS) instance or Elastic Network Interface (ENI).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnassociateHaVip'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnassociateHaVip', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', + ], + 'UnassociateNetworkAcl' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'NetworkAclId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network ACL that you want to disassociate from a resource.', 'type' => 'string', 'required' => true, 'example' => 'nacl-a2do9e413e0sp****', 'title' => ''], + ], + [ + 'name' => 'Resource', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', + 'description' => 'Resources that you want to disassociate. Valid values of **N**: 0 to 29. A maximum of 30 resources can be unbound.', + 'type' => 'array', + 'items' => [ + 'description' => 'The resources that you want to disassociate.', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => 'The type of the resource that you want to disassociate. Valid values:'."\n" + ."\n" + .'- Network', + 'type' => 'string', + 'required' => true, + 'enum' => ['Network'], + 'example' => 'Network', + 'title' => '', + ], + 'ResourceId' => ['description' => 'The ID of the resource that you want to disassociate.', 'type' => 'string', 'required' => true, 'example' => 'n-5***', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => true, - 'example' => 'epn-****', + 'maxItems' => 30, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'Missing%s', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Invalid%s', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while call the API.', 'description' => ''], + ['errorCode' => 'InvalidNetworkAcl.NotFound', 'errorMessage' => 'The special Network Acl is not found.', 'description' => ''], + ['errorCode' => 'RegionAccessDenied', 'errorMessage' => 'Could not operate this region\'s resource', 'description' => ''], + ['errorCode' => 'InvalidResource.NotBond', 'errorMessage' => 'The special Network Acl and the Resource are not bound.', 'description' => ''], + ['errorCode' => 'IncorrectResourceBondStatus', 'errorMessage' => 'The resource\'s bond status is invalid.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\nCEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":""}]', - 'title' => 'StartEpnInstance', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StopEpnInstance' => [ - 'methods' => [ - 'post', - 'get', + 'title' => 'UnassociateNetworkAcl', + 'summary' => 'Disassociates a network access control list (ACL) from a network.', + 'changeSet' => [ + ['createdAt' => '2022-09-08T05:56:37.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnassociateNetworkAcl'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnassociateNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'UnloadRegionSDG' => [ + 'summary' => 'Deletes preloaded data.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'update', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'EPNInstanceId', + 'name' => 'SDGId', + 'in' => 'query', + 'schema' => ['description' => 'Deletes the shared data group (SDG) ID of the preloaded data.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], + ], + [ + 'name' => 'DestinationRegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the EPN instance.'."\n", - 'type' => 'string', + 'description' => 'The destination nodes.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the destination node.', 'type' => 'string', 'required' => false, 'example' => 'cn-foshan-4', 'title' => ''], 'required' => true, - 'example' => 'epn-20201014152822q2S9tQ', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Namespaces', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'An array that consists of queried namespaces.', + 'type' => 'array', + 'items' => ['description' => 'The namespace.', 'type' => 'string', 'required' => false, 'example' => '\'default\'', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], @@ -55121,57 +41514,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data object.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about the failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the failed task.', + 'type' => 'object', + 'properties' => [ + 'ErrorMessage' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'region not found', 'title' => ''], + 'DestinationRegionId' => ['description' => 'The ID of the destination node.', 'type' => 'string', 'example' => 'cn-hangzhou-xxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- true: All tasks are successful.'."\n" + ."\n" + .'- false: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The errorMessage is %s. Please check it again.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while calling the API.', - ], - [ - 'errorCode' => 'CallInterface', - 'errorMessage' => 'Call Interface Happen Error.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'StopEpnInstance', - 'summary' => 'Stops an EPN instance.', - ], - 'DescribeEnsResourceUsage' => [ - 'summary' => 'Queries the usage summary of ENS virtual machines (VMs), disks, and networks.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UnloadRegionSDG', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnloadRegionSDG'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:UnloadRegionSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrorMessage\\": \\"region not found\\",\\n \\"DestinationRegionId\\": \\"cn-hangzhou-xxx\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', + ], + 'UnmountInstanceSDG' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -55179,829 +41604,298 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'abilityTreeCode' => '253562', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'ExpiredStartTime', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => 'vm实例使用结束时间查询开始范围,格式: yyyy-MM-dd或yyyy-MM-dd HH:mm:ss', - 'description' => 'The beginning of the time range to query. Format: yyyy-MM-dd or yyyy-MM-dd HH:mm:ss.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-06-15T09:07:23Z', + 'description' => 'The IDs of the instances.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the AIC instance.', 'type' => 'string', 'required' => false, 'example' => '[\'aic-5xxxx26dix05koz15l5413j25o\', \'aic-5sdmxxxx\']', 'title' => ''], + 'required' => true, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ExpiredEndTime', + 'name' => 'SDGId', 'in' => 'query', - 'schema' => [ - 'title' => 'vm实例使用结束时间查询结束范围,,格式: yyyy-MM-dd或yyyy-MM-dd HH:mm:ss', - 'description' => 'The end of the time range to query. Format: yyyy-MM-dd or yyyy-MM-dd HH:mm:ss.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-06-15T09:07:23Z', - ], + 'schema' => ['description' => 'The ID of the SDG.', 'type' => 'string', 'required' => true, 'example' => 'sdg-xxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E Request ID.', - ], - 'EnsResourceUsage' => [ - 'description' => 'The resource usage data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Resource usage data.', - 'type' => 'object', - 'properties' => [ - 'ServiceType' => [ - 'description' => 'The type of the service. Valid values:'."\n" - ."\n" - .'* 1: subscription instance.'."\n" - .'* 2: edge service instance.'."\n" - .'* 3: pay-as-you-go instance.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'InstanceCount' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CpuSum' => [ - 'description' => 'The CPU usage. Unit: cores.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'GpuSum' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '6', - ], - 'DownCount' => [ - 'description' => 'The number of stopped VMs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - 'ExpiredCount' => [ - 'description' => 'The number of expired VM instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExpiringCount' => [ - 'description' => 'The number of VM instances that are about to expire.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RunningCount' => [ - 'description' => 'The number of running instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '19', - ], - 'DiskCount' => [ - 'description' => 'The number of data disks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'StorageSum' => [ - 'description' => 'The total disk size.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5000', - ], - 'ComputeResourceCount' => [ - 'description' => 'The number of edge services. This parameter is available only when you set the ServiceType parameter to 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], + 'Data' => [ + 'description' => 'The returned data object.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message. Success is returned for a successful request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The execution result of the synchronization request.', + 'type' => 'object', + 'properties' => [ + 'FailedCount' => ['description' => 'The number of failed tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FailedItems' => [ + 'description' => 'Details about failed tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the failed task.', + 'type' => 'object', + 'properties' => [ + 'ErrMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'sdg not found', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'aic-xxxxx-0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessCount' => ['description' => 'The number of successful tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Success' => ['description' => 'Indicates whether all tasks are successful. Valid values:'."\n" + ."\n" + .'- true: All tasks are successful.'."\n" + ."\n" + .'- false: Failed tasks exist.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'An error occurred while call the API.', - ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', 'description' => 'The parameter is invalid.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UnmountInstanceSDG', + 'summary' => 'Unmounts a shared data group (SDG) from instances.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnmountInstanceSDG'], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:UnmountInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\\\t 请求ID。\\",\\n \\"EnsResourceUsage\\": [\\n {\\n \\"ServiceType\\": \\"1\\",\\n \\"InstanceCount\\": 2,\\n \\"CpuSum\\": 2,\\n \\"GpuSum\\": 6,\\n \\"DownCount\\": 7,\\n \\"ExpiredCount\\": 1,\\n \\"ExpiringCount\\": 0,\\n \\"RunningCount\\": 19,\\n \\"DiskCount\\": 4,\\n \\"StorageSum\\": 5000,\\n \\"ComputeResourceCount\\": 2\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeEnsResourceUsage', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FailedCount\\": 0,\\n \\"FailedItems\\": [\\n {\\n \\"ErrMessage\\": \\"sdg not found\\",\\n \\"InstanceId\\": \\"aic-xxxxx-0\\"\\n }\\n ],\\n \\"SuccessCount\\": 1\\n },\\n \\"Success\\": true\\n }\\n}","type":"json"}]', ], - 'ModifyInstanceChargeType' => [ - 'summary' => 'Changes the billing method of Edge Node Service (ENS) instances. You can switch between the pay-as-you-go and subscription billing methods for instances. You can also change the billing method for disks that you created with pay-as-you-go instances to subscription.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UntagResources' => [ + 'summary' => 'Removes tags from resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREensEEGRIW', - ], - 'tenantRelevance' => 'tenant', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensXWIJMI'], ], 'parameters' => [ [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-5xlrc9wdeo3xxxxxx', - ], - 'required' => true, - 'maxItems' => 20, - 'minItems' => 1, - ], - ], - [ - 'name' => 'InstanceChargeType', + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => 'The new billing method. Valid values:'."\n" - ."\n" - .'PrePaid'."\n" - ."\n" - .'PostPaid (default)'."\n", + 'description' => 'The type of the resource.', 'type' => 'string', 'required' => true, - 'example' => 'PostPaid', - 'enum' => [ - 'PostPaid', - 'PrePaid', - ], - ], - ], - [ - 'name' => 'AutoRenew', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto-renewal when you change the billing method from pay-as-you-go to subscription. Valid values:'."\n" - ."\n" - .'true: enables auto-renewal for the instance.'."\n" - ."\n" - .'false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The subscription duration. This parameter is required if you set the InstanceChargeType parameter to PrePaid. Valid values:'."\n" - ."\n" - .'If the PeriodUnit parameter is set to Day, Period can only be set to 3.'."\n" - ."\n" - .'If PeriodUnit is Month, Period can be set to 1 to 9 or 12.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - 'enum' => [ - '1', - '2', - '3', - '4', - '5', - '6', - '7', - '8', - '9', - '12', - ], - ], - ], - [ - 'name' => 'PeriodUnit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unit of the subscription duration. This parameter is required if you set the InstanceChargeType parameter to PrePaid. Valid values:'."\n" - ."\n" - .'Month'."\n" - ."\n" - .'Day'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'Month', - 'enum' => [ - 'Year', - 'Month', - 'Day', - ], + 'enum' => ['instance', 'eip', 'disk', 'network', 'natgateway', 'vswitch', 'armserver'], + 'title' => '', + 'example' => 'instance', ], ], [ - 'name' => 'IncludeDataDisks', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to change the billing method of all data disks that are created with the instance to subscription when you change the billing method of the instance from pay-as-you-go to subscription. Valid values:'."\n" - ."\n" - .'true'."\n" - ."\n" - .'false (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', + 'description' => 'The resource IDs. You can specify up to 50 resource IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of resource.', 'type' => 'string', 'required' => false, 'example' => 'i-5zy93g7z1hnkdmav84joxyzgn', 'title' => ''], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AutoPay', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable auto-payment when you change the billing method from pay-as-you-go to subscription. Valid values:'."\n" - ."\n" - .'true: enables auto-payment. Make sure that your account has sufficient balance.'."\n" - ."\n" - .'false (default): does not enable auto-payment. The order is generated but not paid.'."\n", - 'type' => 'boolean', + 'description' => 'The keys of the tags. Valid values of N: 1 to 20.', + 'type' => 'array', + 'items' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'test_tag_key-2', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'BillingCycle', + 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'enum' => [ - 'Month', - 'Day', - 'Hour', - ], - ], + 'schema' => ['description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only if you do not specify TagKey.N. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false** (default)', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E2CE5821-7A18-5F7B-A18A-1C751B933D2A', - ], - 'InstanceIds' => [ - 'description' => 'The IDs of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-5xu1chy7ckxxxx', - ], - ], - 'OrderId' => [ - 'description' => 'The ID of the order.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21522202681****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '6AB7715D-8B97-5E81-854B-2429F8C7DEF2'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'VALIDATE.MODULE.FAILED', - 'errorMessage' => 'Required module is not selected.', - ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'OrderFailed', - 'errorMessage' => 'Order failed, please try again.', - ], - [ - 'errorCode' => 'SystemUseCouponFailed', - 'errorMessage' => 'Failed to use coupon.', - ], - [ - 'errorCode' => 'SystemUseStoredCardFailed', - 'errorMessage' => 'Failed to use stored value card.', - ], - [ - 'errorCode' => 'System.SystemError', - 'errorMessage' => 'system error.', - ], - [ - 'errorCode' => 'SystemCanRefundCheckFailed', - 'errorMessage' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', - ], - [ - 'errorCode' => 'SystemOtsSystem', - 'errorMessage' => 'ots storage error.', - ], - [ - 'errorCode' => 'SystemQueryImmortalError', - 'errorMessage' => 'Failed to call Juxiange.', - ], - [ - 'errorCode' => 'SystemQueryInstanceInfoFailed', - 'errorMessage' => 'Failed to find instance information.', - ], - [ - 'errorCode' => 'SystemResellerPayCalRefundUnitError', - 'errorMessage' => 'Ecological payment channel calculation unsubscribe information error.', - ], - [ - 'errorCode' => 'SystemSaleValidateFailed', - 'errorMessage' => 'Sales Expression Validation System Error.', - ], - [ - 'errorCode' => 'SystemTransferDeleteOldResourceFailed', - 'errorMessage' => 'Failed to delete the transferred instance in the transfer order.', - ], - [ - 'errorCode' => 'SystemUnSupportOperationType', - 'errorMessage' => 'Unsupported operation type.', - ], - [ - 'errorCode' => 'RiskRiskControlRejection', - 'errorMessage' => 'Risk Control Rejection.', - ], - [ - 'errorCode' => 'AuthRamAuthFailed', - 'errorMessage' => 'ram sub-account authentication failed.', - ], - [ - 'errorCode' => 'CommodityInvalidComponent', - 'errorMessage' => 'The module you purchased is illegal, please re-select.', - ], - [ - 'errorCode' => 'CommodityInvalidItemCode', - 'errorMessage' => 'Specification code illegal.', - ], - [ - 'errorCode' => 'PriceHsfTimeoutError', - 'errorMessage' => 'Time out when calling the request for quotation interface.', - ], - [ - 'errorCode' => 'PricePatingConfigError', - 'errorMessage' => 'Inquiry related goods configuration error.', - ], - [ - 'errorCode' => 'PricePricingPlanResultNotFound', - 'errorMessage' => 'Pricing plan price result not found.', - ], - [ - 'errorCode' => 'PriceRatingGetRatingpricingPlan', - 'errorMessage' => 'Obtain a valid pricing plan exception.', - ], - [ - 'errorCode' => 'OrderAbnormalResourceStatusForRenew', - 'errorMessage' => 'Invalid resource status for renewal.', - ], - [ - 'errorCode' => 'OrderAccountStatusIllegal', - 'errorMessage' => 'Illegal account status.', - ], - [ - 'errorCode' => 'OrderArrearage', - 'errorMessage' => 'User Arrears.', - ], - [ - 'errorCode' => 'OrderBidUserOrderForbidden', - 'errorMessage' => 'Bid users cannot buy on the official website.', - ], - [ - 'errorCode' => 'OrderCaptureFailed', - 'errorMessage' => 'The paid order of the instance has not been deducted successfully.', - ], - [ - 'errorCode' => 'OrderExistsReleasedInstances', - 'errorMessage' => 'There are already released instances.', - ], - [ - 'errorCode' => 'OrderGroupOrderSizeOverflow', - 'errorMessage' => 'The quantity of bound combined payment order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotDowngrade', - 'errorMessage' => 'Users in current currency cannot downgrade.', - ], - [ - 'errorCode' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', - 'errorMessage' => 'Users of current currency cannot upgrade through residual value transfer.', - ], - [ - 'errorCode' => 'OrderInstanceHasInactiveChange', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'OrderInstHasUnpaidOrder', - 'errorMessage' => 'The instance has an unpaid order.', - ], - [ - 'errorCode' => 'OrderInstHasUnsettledBills', - 'errorMessage' => 'The instance has an unsettled bill.', - ], - [ - 'errorCode' => 'OrderLatestOrderIsHandling', - 'errorMessage' => 'Recent order is being processed, please try again later.', - ], - [ - 'errorCode' => 'OrderMainOrderSizeOverflow', - 'errorMessage' => 'The quantity of the main order exceeds the limit.', - ], - [ - 'errorCode' => 'OrderMissingModuleInfoError', - 'errorMessage' => 'Module parameter not specified.', - ], - [ - 'errorCode' => 'OrderNoRealNameAuthentication', - 'errorMessage' => 'No real-name authentication.', - ], - [ - 'errorCode' => 'OrderNotFound', - 'errorMessage' => 'The specified order information is not found.', - ], - [ - 'errorCode' => 'OrderOpend', - 'errorMessage' => 'You have activated this product.', - ], - [ - 'errorCode' => 'OrderPeriodInvalid', - 'errorMessage' => 'Illegal order cycle.', - ], - [ - 'errorCode' => 'OrderQuantityInvalid', - 'errorMessage' => 'Illegal quantity ordered.', - ], - [ - 'errorCode' => 'OrderQueryInstanceError', - 'errorMessage' => 'Query instance error.', - ], - [ - 'errorCode' => 'OrderQueryInstanceNotExists', - 'errorMessage' => 'Instance data does not exist.', - ], - [ - 'errorCode' => 'OrderQueryOrderExchangeRateFail', - 'errorMessage' => 'Failed to query order exchange rate information.', - ], - [ - 'errorCode' => 'OrderQueryUserSettleInfoFail', - 'errorMessage' => 'Failed to query user settlement information.', - ], - [ - 'errorCode' => 'OrderQuotaExceeded', - 'errorMessage' => 'Quantity exceeds limit.', - ], - [ - 'errorCode' => 'OrderSysConstraintInvalid', - 'errorMessage' => 'System constraint check failed.', - ], - [ - 'errorCode' => 'OrderTradeCompleteSettleInfoFail', - 'errorMessage' => 'Failed to complete the order settlement currency amount information.', - ], - [ - 'errorCode' => 'TradeTradeOrderAfterPayCheckError', - 'errorMessage' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', - ], - [ - 'errorCode' => 'PurchaseExistRenewchangeProd', - 'errorMessage' => 'There is a renewal change subscription that has not yet taken effect.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidProdRuleError', - 'errorMessage' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistToBeValidRenewChangeProdRuleError', - 'errorMessage' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', - ], - [ - 'errorCode' => 'PurchaseExistValidProdRuleError', - 'errorMessage' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', - ], - [ - 'errorCode' => 'ProductInstanceReleased', - 'errorMessage' => 'Instance released.', - ], - [ - 'errorCode' => 'ProductInstanceTypeNotSupported', - 'errorMessage' => 'The instance type is not supported.', - ], - [ - 'errorCode' => 'PatRiskRejectForTradeData', - 'errorMessage' => 'Payment order problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayAccountBookNotExist', - 'errorMessage' => 'There is no insufficient account balance in the account book, please retry after recharging.', - ], - [ - 'errorCode' => 'PayAmountLimitExceeded', - 'errorMessage' => 'Payment limit exceeded, please resubmit.', - ], - [ - 'errorCode' => 'PayBeforePayRiskRuleValidateFailed', - 'errorMessage' => 'The payment was blocked by risk control, and the payment failed.', - ], - [ - 'errorCode' => 'PayCounponNotExist', - 'errorMessage' => 'Counpon does not exist.', - ], - [ - 'errorCode' => 'PayCouponAmountNotEnough', - 'errorMessage' => 'Insufficient voucher balance or expired.', - ], - [ - 'errorCode' => 'PayCouponNotMeetConsumptionRule', - 'errorMessage' => 'The coupon does not meet the conditions for use.', - ], - [ - 'errorCode' => 'PayCurrencyInconsistency', - 'errorMessage' => 'Currency mismatch.', - ], - [ - 'errorCode' => 'PayCurrencyNotSupported', - 'errorMessage' => 'Currency not supported.', - ], - [ - 'errorCode' => 'PayForbiddenNoReasonFefund', - 'errorMessage' => 'Banned five days no reason refund.', - ], - [ - 'errorCode' => 'PayHsfTimeoutError', - 'errorMessage' => 'Call payment system timeout.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Account balance is insufficient, please recharge and try again.', - ], - [ - 'errorCode' => 'PayInvalidCreditCard', - 'errorMessage' => 'Invalid credit card.', - ], - [ - 'errorCode' => 'PayInvalidPayMethod', - 'errorMessage' => 'Illegal payment method.', - ], - [ - 'errorCode' => 'PayMegrePayOrderHasThanOneChagreChannel', - 'errorMessage' => 'Payment failed, please retry or submit work order feedback.', - ], - [ - 'errorCode' => 'PayNoCreditCard', - 'errorMessage' => 'No valid payment method, please check the payment method and try again.', - ], - [ - 'errorCode' => 'PayOrderPayTimeInvalid', - 'errorMessage' => 'Order effective time is invalid.', - ], - [ - 'errorCode' => 'PayPartRefundNotSupport', - 'errorMessage' => 'Not Capture, no partial refund.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderInvalidStatus', - 'errorMessage' => 'Illegal status of payment order in payment channel.', - ], - [ - 'errorCode' => 'PayPayChannelPayOrderNotExist', - 'errorMessage' => 'Payment channel payment order does not exist.', - ], - [ - 'errorCode' => 'PayPayerAccountIllegal', - 'errorMessage' => 'Illegal payment account.', - ], - [ - 'errorCode' => 'PayPayFailedParentRelationchanged', - 'errorMessage' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', - ], - [ - 'errorCode' => 'PayPayForbidUserCoupon', - 'errorMessage' => 'Coupon prohibited for orders.', - ], - [ - 'errorCode' => 'PayQueryAvailableAmountFailed', - 'errorMessage' => 'Failed to query user availability, please try again later.', - ], - [ - 'errorCode' => 'PayQueryAvailableEnduserAmountFailed', - 'errorMessage' => 'Failed to query the availability of quota direct customer main user, please try again later.', - ], - [ - 'errorCode' => 'PayQueryParentRelationshipFailed', - 'errorMessage' => 'Failed to query current user hosting relationship, please try again later.', - ], - [ - 'errorCode' => 'PayQueryPayChangeChannelNotEqual', - 'errorMessage' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', - ], - [ - 'errorCode' => 'PayRefundFailed', - 'errorMessage' => 'Accumulated refund amount exceeds payment order amount.', - ], - [ - 'errorCode' => 'PayResellerPayGetUrlError', - 'errorMessage' => 'Order payment failed, please try again later.', - ], - [ - 'errorCode' => 'PayRiskRejectForPayerAccount', - 'errorMessage' => 'Payment account problem leads to risk control rejection.', - ], - [ - 'errorCode' => 'PayStoredCardNotExist', - 'errorMessage' => 'Stored value card does not exist.', - ], - [ - 'errorCode' => 'PaySystemError', - 'errorMessage' => 'Error calling payment system.', - ], - [ - 'errorCode' => 'PayTaxCalcFailed', - 'errorMessage' => 'Failed to get user tax address.', - ], - [ - 'errorCode' => 'PayWithholdingAgreementIllegal', - 'errorMessage' => 'Withholding Agreement Status Illegal.', - ], - [ - 'errorCode' => 'AccountAliyunAccountFrozen', - 'errorMessage' => 'Alibaba Cloud account is frozen.', - ], - [ - 'errorCode' => 'AccountAliyunAccountNotExist', - 'errorMessage' => 'Alibaba Cloud account does not exist.', - ], - [ - 'errorCode' => 'RefundRefundInstanceNotFound', - 'errorMessage' => 'Unable to find instance information.', - ], - [ - 'errorCode' => 'RefundRefundNoValidProd', - 'errorMessage' => 'Refund is not available to unsubscribe.', - ], - [ - 'errorCode' => 'RefundRefundParamInvalid', - 'errorMessage' => 'Abnormal refund parameter.', - ], - [ - 'errorCode' => 'RefundRefundQueryOrderFail', - 'errorMessage' => 'Failed to query order for refund field.', - ], - [ - 'errorCode' => 'SystemConcurrentOperate', - 'errorMessage' => 'Concurrent operation causes failure.', - ], - [ - 'errorCode' => 'PricePricingPlanNotFound', - 'errorMessage' => 'Pricing plan tree not found.', - ], - [ - 'errorCode' => 'OrderInstanceHasTempUpgrade', - 'errorMessage' => 'Instances exist temporary upgrade.', - ], - [ - 'errorCode' => 'PayQueryParentRelationchangedFailed', - 'errorMessage' => 'The financial custody relationship may change, please refresh and pay again.', - ], - [ - 'errorCode' => 'PayforCreditPayInsufficientBalance', - 'errorMessage' => 'Insufficient quota, please contact your channel partner to increase the quota.', - ], - [ - 'errorCode' => 'PayforAccountMoneyValidateError', - 'errorMessage' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', - ], - [ - 'errorCode' => 'BasicInfoUncompleted', - 'errorMessage' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'InstanceIdNotFound', - 'errorMessage' => 'The input parameter instancdId that is not found.', - ], - [ - 'errorCode' => 'EnsPostOpenError', - 'errorMessage' => 'Commodity opening failed.', - ], - [ - 'errorCode' => 'EnsServiceArrearage', - 'errorMessage' => 'User account is arrearage.', - ], - [ - 'errorCode' => 'InvalidDeletionAppointmentNotSupported', - 'errorMessage' => 'The scheduled release time of the current instance is set to prohibit this operation.', - ], - [ - 'errorCode' => 'InvalidDeletionProtectionNotSupported', - 'errorMessage' => 'The current instance has release protection enabled. This operation is not allowed.', + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred while processing your request', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'The operator is not permission for this operate ', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UntagResources', + 'changeSet' => [ + ['createdAt' => '2025-05-08T08:42:18.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T12:07:11.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UntagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'InstanceForbidOperate', - 'errorMessage' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6AB7715D-8B97-5E81-854B-2429F8C7DEF2\\"\\n}","type":"json"}]', + ], + 'UpdateClusterCertificate' => [ + 'summary' => 'Updates the cluster certificate.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'eck-xxxxxxxx', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'eck-xxxxxxxx', 'title' => ''], + 'Message' => ['description' => 'The response message. A value of "Success" indicates a successful request.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + ], + 'title' => '', + 'description' => 'The response object.', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'BadRequest', 'errorMessage' => 'Request param error.', 'description' => 'Request parameter error'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E2CE5821-7A18-5F7B-A18A-1C751B933D2A\\",\\n \\"InstanceIds\\": [\\n \\"i-5xu1chy7ckxxxx\\"\\n ],\\n \\"OrderId\\": 0\\n}","type":"json"}]', - 'title' => 'ModifyInstanceChargeType', - 'description' => 'Before you call this operation, make sure that you fully understand the billing methods and pricing of ENS.'."\n" + 'title' => 'UpdateClusterCertificate', + 'description' => '- The request rate for a single user is limited to 10 requests per second.'."\n" ."\n" - .'The instances must be in the Running or Stopped state, and you have no overdue payments for them.'."\n", - ], - 'DescribeInstanceBandwidthDetail' => [ - 'summary' => 'Queries the detailed bandwidth data of an instance, which is collected every 5 minutes.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- Updating the cluster certificate is an asynchronous operation. After you call the API, the system updates the cluster certificate and restarts the management components. This process typically takes 5 to 10 minutes. During this time, you can call the DescribeClustersV1 operation to check the update status. After the update completes, you can call the DescribeClusterUserKubeconfig operation to get the new cluster certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\",\\n \\"Message\\": \\"Success\\"\\n}","type":"json"}]', + ], + 'UpgradeAICInstanceImage' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -56009,3823 +41903,5278 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', + 'abilityTreeCode' => '139883', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'ServerIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '开始时间,格式: yyyy-MM-dd HH:mm:ss', - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-dd HH:mm:ss format.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the servers.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the server.', 'type' => 'string', 'required' => true, 'example' => 'cas-instance****', 'title' => ''], 'required' => true, - 'example' => '2024-01-11 00:00:00', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'EndTime', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'title' => '截止时间,与开始时间差最大为86400秒。开始和截止为左闭右开查询。格式: yyyy-MM-dd HH:mm:ss', - 'description' => 'The end of the time range to query. The maximum interval between the beginning time and the end time is 86400 seconds. The interval is left-closed and right-open. Specify the time in the yyyy-MM-dd HH:mm:ss format.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2024-01-11 30:00:00', - ], + 'schema' => ['description' => 'The ID of the AIC image.', 'type' => 'string', 'required' => true, 'example' => 'm-****', 'title' => ''], ], [ - 'name' => 'ServiceType', + 'name' => 'Timeout', 'in' => 'query', + 'schema' => ['description' => 'The timeout period of the update. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '服务类型,如vm,eip,esk,meta等', - 'description' => 'The type of the service, such as vm, eip, esk, and meta.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vm', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'Parameter.Invalid', 'errorMessage' => 'The parameter is invalid.Please check your parameters and try it again.', 'description' => ''], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ], + ], + 'title' => 'UpgradeAICInstanceImage', + 'summary' => 'Updates the image of an Android in Container (AIC) instance.', + 'changeSet' => [ + ['createdAt' => '2024-02-28T01:27:16.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-09T03:52:22.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-09T06:41:40.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpgradeAICInstanceImage'], + ], + ], + 'ramActions' => [ [ - 'name' => 'InstanceType', - 'in' => 'query', - 'schema' => [ - 'title' => '实例类型,无特殊查询可不填写。如vm,eip, single_tenant,nc等', - 'description' => 'The type of the instance, such as vm, eip, single_tenant, and nc. You can leave this parameter empty. The type of the instance, such as vm, eip, single_tenant, and nc.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vm', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UpgradeAICInstanceImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'UpgradeApplication' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'title' => 'ENS节点ID', - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing-cmcc', - ], + 'AK' => [], ], + ], + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '实例ID(bucket)', - 'description' => 'The plan ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-6ecpqvkicnchxccozrpxxxx', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => 'a2bac6f4-75dc-455e-8389-2dc8e47526d3', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'Template', 'in' => 'query', - 'schema' => [ - 'title' => '查询分页,默认值为: 1', - 'description' => 'The page number. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The information template for phased update. The value must be a JSON string and contain the following information:'."\n" + ."\n" + .'- Version range that you want to update'."\n" + ."\n" + .'- Configuration information of the target version'."\n" + ."\n" + .'- Canary release policy for resources'."\n" + ."\n" + .'- Intelligent upgrade policy that contains information such as the time window and resource usage limit', 'type' => 'string', 'required' => true, 'example' => '{\\"fromAppVersions\\":{ \\"operator\\":\\"In\\", \\"values\\":[ \\"v1\\", \\"v2\\" ] }, \\"toAppVersion\\":\\"v3\\", \\"descrip\\":\\"xxx\\", \\"workload\\":[ { \\"name\\":\\"nginx\\", \\"podSpec\\":{ } } ], \\"upgradeStrategy\\":{ \\"name\\":\\"ScheduleToISP\\", \\"parameters\\":{ \\"operator\\":\\"In\\", \\"values\\":[ \\"telecom\\" ] } }, \\"autoUpgradeStrategy\\":{ \\"name\\":\\"AdjustToPodUsage\\", \\"checkInterval\\":600, \\"startTime\\":\\"2021-02-19 00:00:00\\", \\"startHourPoint\\":\\"0\\", \\"endHourPoint\\":\\"8\\", \\"endTime\\":\\"2021-02-19 08:00:00\\", \\"level\\":\\"RegionId\\", \\"rules\\":[ { \\"regionCodes\\":[ \\"cn-wuxi-telecom_unicom_cmcc\\", \\"cn-shijiazhuang-telecom_unicom_cmcc\\" ], \\"usageRatioLimit\\":{ \\"maxPodUsageRatio\\":50 }, \\"maxUpgradingRatio\\":50 }, { \\"regionCodes\\":[ \\"cn-wuhan-telecom_unicom_cmcc\\" ], \\"usageRatioLimit\\":{ \\"maxPodUsageRatio\\":30 }, \\"maxUpgradingRatio\\":20 }, { \\"regionCodes\\":[ \\"All\\" ], \\"usageRatioLimit\\":{ \\"maxPodUsageRatio\\":20 }, \\"maxUpgradingRatio\\":50, \\"maxUpgradingCount\\":2 } ] }}', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'title' => '分页大小,默认单次200条', - 'description' => 'The number of entries per page. Default value: 200.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '200', - ], + 'schema' => ['description' => 'The timeout period for asynchronous upgrade. Unit: seconds. Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - 'Bandwidths' => [ - 'description' => 'Details about the maximum public bandwidth.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the maximum public bandwidth.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'title' => '实例ID', - 'description' => 'The plan ID.'."\n", - 'type' => 'string', - 'example' => 'i-6ecpqvkicnchxccozrpxxxx', - ], - 'ServiceType' => [ - 'title' => '服务类型,如vm,eip,esk,meta等', - 'description' => 'The type of the service, such as vm, eip, esk, and meta.'."\n", - 'type' => 'string', - 'example' => 'vm', - ], - 'InstanceType' => [ - 'title' => '实例类型,如vm,eip, single_tenant,nc等', - 'description' => 'The type of the instance, such as vm, eip, single_tenant, and nc.'."\n", - 'type' => 'string', - 'example' => 'vm', - ], - 'AliUid' => [ - 'title' => '用户ID', - 'description' => 'The user ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1972653484384661', - ], - 'EnsRegionId' => [ - 'title' => '节点ID', - 'description' => 'The node ID.'."\n", - 'type' => 'string', - 'example' => 'cn-yichang-2', - ], - 'TxBw' => [ - 'title' => '出向带宽, 单位: bps', - 'description' => 'null'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '25415638', - ], - 'RxBw' => [ - 'title' => '入向带宽, 单位: bps', - 'description' => 'null'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '43795230', - ], - 'Ip' => [ - 'title' => '实例IP', - 'description' => 'null'."\n", - 'type' => 'string', - 'example' => '203.107.***', - ], - 'Isp' => [ - 'title' => 'ip所属运营商', - 'description' => 'The Internet service provider to which the IP address belongs.'."\n", - 'type' => 'string', - 'example' => 'cmcc', - ], - 'FlowType' => [ - 'title' => '带宽类型,1: 公网,2: 内网', - 'description' => 'The type of the bandwidth. Valid values: 1, which indicates public network bandwidth. 2, which indicates internal network bandwidth.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'BizTime' => [ - 'title' => '带宽业务时间,带宽计算粒度为5分钟', - 'description' => 'The bandwidth service time. The data granularity is 5 minutes.'."\n", - 'type' => 'string', - 'example' => '2024-01-11 00:00:00', - ], - ], - ], - ], - 'PageNumber' => [ - 'title' => '当前页数', - 'description' => 'The page number of the current page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '分页大小', - 'description' => 'The number of records per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'title' => '总记录数', - 'description' => 'The total number of entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'TaskId' => ['description' => 'The task ID. You can use the task ID to query the upgrade progress or status.', 'type' => 'string', 'example' => '6f24a774-6bd5-4026-bb7d-deffb1dad875', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ParamNotEnough', - 'errorMessage' => '参数不足', - ], - [ - 'errorCode' => 'ParamScopeError', - 'errorMessage' => '参数值错误', - ], - [ - 'errorCode' => 'ParamTypeError', - 'errorMessage' => '参数类型错误', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The errorMessage is %s. Please check it again.', 'description' => ''], + ['errorCode' => 'ens.interface.error', 'errorMessage' => 'An error occurred while calling the API.', 'description' => ''], + ['errorCode' => 'CallInterface', 'errorMessage' => 'Call Interface Happen Error.', 'description' => 'An error occurred when you call the operation.'], + ], + ], + 'title' => 'UpgradeApplication', + 'summary' => 'Updates the container in an asynchronous manner. You can configure multiple canary release policies.', + 'changeSet' => [ + ['createdAt' => '2024-05-11T10:24:05.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-12-21T08:03:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpgradeApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UpgradeApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"6f24a774-6bd5-4026-bb7d-deffb1dad875\\"\\n}","type":"json"}]', + ], + 'UpgradeClusterAddons' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensPHDAAN', 'FEATUREens7IGAII'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'eck-xxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'Addons', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The component name.', 'type' => 'string', 'required' => false, 'example' => 'edge-csi-lite', 'title' => ''], + 'NextVersion' => ['description' => 'The target version for the upgrade.', 'type' => 'string', 'required' => false, 'example' => 'v2', 'title' => ''], + 'ConfigSchema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppVersion' => ['description' => 'The application version.', 'type' => 'string', 'required' => false, 'example' => '4155709cd12a09bdb8cbaca71bf03233', 'title' => ''], + 'ConfigVersion' => ['description' => 'The configuration version.', 'type' => 'string', 'required' => false, 'example' => '4155709cd12a09bdb8cbaca71bf03233', 'title' => ''], + 'Name' => ['description' => 'The component name.', 'type' => 'string', 'required' => false, 'example' => 'edge-csi-lite', 'title' => ''], + 'Params' => ['description' => 'The custom parameters for the component.', 'type' => 'object', 'required' => false, 'example' => '{"k1":"v1"}', 'title' => ''], + ], + 'description' => 'The schema of the custom parameters for the component.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'description' => 'The schema of the custom parameters for the component.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The component information.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'description' => 'The component information.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'eck-xxxxxxxx', 'title' => ''], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', + ], + ], ], + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"Bandwidths\\": [\\n {\\n \\"InstanceId\\": \\"i-6ecpqvkicnchxccozrpxxxx\\",\\n \\"ServiceType\\": \\"vm\\",\\n \\"InstanceType\\": \\"vm\\",\\n \\"AliUid\\": 1972653484384661,\\n \\"EnsRegionId\\": \\"cn-yichang-2\\",\\n \\"TxBw\\": 25415638,\\n \\"RxBw\\": 43795230,\\n \\"Ip\\": \\"203.107.***\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"FlowType\\": 1,\\n \\"BizTime\\": \\"2024-01-11 00:00:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1\\n}","type":"json"}]', - 'title' => 'DescribeInstanceBandwidthDetail', - 'description' => '* You can call this operation up to 800 times per second per account.'."\n" - .'* You can call this operation up to 100 times per second per user.'."\n" - .'* You can specify multiple request parameters to filter query results. Specified request parameters have logical AND relations. Only the specified parameters are included in the filter conditions. However, if InstanceIds is set to an empty JSON array, this parameter is regarded as a valid filter condition and an empty result is returned.'."\n", - ], - 'ModifyInstanceBootConfiguration' => [ - 'summary' => 'Modifies the boot configuration of a heterogeneous PC Farm bare metal instance.', - 'methods' => [ - 'get', + 'title' => 'UpgradeClusterAddons', + 'summary' => 'Call the UpgradeClusterAddons operation to upgrade cluster component instances.', + 'description' => '- Each user can call this operation up to 10 times per second.'."\n" + ."\n" + .'- Creating a cluster is an asynchronous operation. After calling the operation, wait 10 to 20 minutes for the cluster to initialize. During this time, you can call the DescribeClustersV1 operation to query the cluster creation status. After the cluster is created, call the DescribeClusterUserKubeconfig operation to obtain the cluster certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeClusterAddons'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:UpgradeClusterAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\",\\n \\"ClusterId\\": \\"eck-xxxxxxxx\\"\\n}","type":"json"}]', + ], + 'UploadAICPublicKey' => [ + 'summary' => 'Upload a new AIC public key.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREensZ35IDE'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'KeyName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance for which you want to modify the configuration. You can specify only one ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-instance****', - ], + 'schema' => ['description' => 'Public Key Name', 'type' => 'string', 'required' => true, 'example' => 'mykey', 'maxLength' => 128, 'minLength' => 8, 'title' => ''], ], [ - 'name' => 'BootType', + 'name' => 'KeyGroup', 'in' => 'query', - 'schema' => [ - 'description' => 'The startup type.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'pxe', - ], + 'schema' => ['description' => 'Public Key Grouping', 'type' => 'string', 'required' => false, 'example' => 'g-test', 'maxLength' => 128, 'title' => ''], ], [ - 'name' => 'BootSet', + 'name' => 'KeyType', 'in' => 'query', - 'schema' => [ - 'description' => 'The startup method.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'legacy', - ], + 'schema' => ['description' => 'Public key type', 'type' => 'string', 'required' => true, 'example' => 'adb', 'title' => ''], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'schema' => ['description' => 'Public Key', 'type' => 'string', 'required' => true, 'example' => 'verify_dffeb6610035dcb77b413a59c3', 'maxLength' => 1024, 'title' => ''], ], [ - 'name' => 'DiskSet', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the startup depends on the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'The description of the document.', 'type' => 'string', 'example' => 'Test', 'maxLength' => 128, 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'Instance not found, please check the InstanceId.', - ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', - ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', - ], - [ - 'errorCode' => 'InvalidInstanceType.NotSupported', - 'errorMessage' => 'The specified InstanceType is not Supported.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', - ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', - ], + ['errorCode' => 'Interface.Call.Failed', 'errorMessage' => '%s.', 'description' => 'Request failed'], + ['errorCode' => 'Interface.Call.Error', 'errorMessage' => 'The interface call error', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Permission denied.', 'description' => ''], + ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'The specified field %s invalid. Please check it again.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', + 'title' => 'UploadAICPublicKey', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadAICPublicKey'], + ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:UploadAICPublicKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\"\\n}","type":"json"}]', - 'title' => 'ModifyInstanceBootConfiguration', - 'description' => '* If an instance is in the Starting state, you cannot reset the password of the instance.'."\n" - .'* If the instance is in the Running state, you cannot change the password of the instance.'."\n" - .'* After resetting the password, you must restart the instance in the ENS console or call the RebootInstance operation to apply the change. The restart operation within the instance does not apply the change.'."\n", + 'translator' => 'manual', ], - 'DescribeEnsRouteTables' => [ - 'summary' => 'Queries route tables.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + ], + 'endpoints' => [ + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ens.ap-southeast-1.aliyuncs.com', 'vpc' => 'ens-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.aliyuncs.com', 'endpoint' => 'ens.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.aliyuncs.com', 'endpoint' => 'ens.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.aliyuncs.com', 'endpoint' => 'ens.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.aliyuncs.com', 'endpoint' => 'ens.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.aliyuncs.com', 'endpoint' => 'ens.aliyuncs.com', 'vpc' => 'ens.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.aliyuncs.com', 'endpoint' => 'ens.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ens.aliyuncs.com', 'endpoint' => 'ens.aliyuncs.com', 'vpc' => 'ens-vpc.cn-zhangjiakou.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => '%s', 'message' => 'Some of the bulk orders failed, please try again:%s.', 'http_code' => 400, 'description' => 'Some of the bulk orders failed, please try again:%s'], + ['code' => 'AccessDenied', 'message' => 'It\'s no permission to operation the bucket. Only the owner of the bucket can operation this bucket.', 'http_code' => 403, 'description' => 'You do not have permission to operate the current bucket. Only the owner of a bucket can operate the bucket.'], + ['code' => 'AccessDenied', 'message' => 'Auth is not valid.', 'http_code' => 403, 'description' => 'This account does not have access permissions.'], + ['code' => 'AccountAliyunAccountFrozen', 'message' => 'Alibaba Cloud account is frozen.', 'http_code' => 400, 'description' => 'Alibaba Cloud account is frozen.'], + ['code' => 'AccountAliyunAccountNotExist', 'message' => 'Alibaba Cloud account does not exist.', 'http_code' => 400, 'description' => 'Alibaba Cloud account does not exist.'], + ['code' => 'AllowedMethodsEmpty', 'message' => 'Required field \'AllowedMethod\' should not be empty.', 'http_code' => 400, 'description' => 'AllowedMethods parameter cannot be empty.'], + ['code' => 'AllowedOriginsEmpty', 'message' => 'Required field \'AllowedOrigins\' should not be empty.', 'http_code' => 400, 'description' => 'AllowedOrigins parameter cannot be empty.'], + ['code' => 'AuthorizationLimitExceed', 'message' => 'The limit of authorization records in the security group reaches.', 'http_code' => 400, 'description' => 'The number of security group rules exceeds the limit.'], + ['code' => 'AuthRAMAuthFailed', 'message' => 'RAM sub-account authentication failed.', 'http_code' => 400, 'description' => 'RAM sub-account authentication failed.'], + ['code' => 'AyforAccountMonryValidateError', 'message' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'http_code' => 400, 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['code' => 'Bad Request', 'message' => 'Failed to convert value of type \'java.lang.String\' to required type \'java.lang.Integer\'.', 'http_code' => 400, 'description' => 'The parameter type conversion failed because the input parameter type does not match the actual value.'], + ['code' => 'BasicInfoUncompleted', 'message' => 'You have not completed your basic personal information. Please complete the information and re-operate it.', 'http_code' => 400, 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate it.'], + ['code' => 'BucketCorsRuleEmpty', 'message' => 'The corsRule should not be null or empty.', 'http_code' => 400, 'description' => 'Cross-domain rule content cannot be empty'], + ['code' => 'BucketCorsRuleExceededMax', 'message' => 'One bucket not allowed exceed ten items of CORS Rules.', 'http_code' => 400, 'description' => 'The number of cross-domain rules exceeds the limit.'], + ['code' => 'CallInterface', 'message' => 'Call Interface Happen Error.', 'http_code' => 400, 'description' => 'An error occurred when you call the operation.'], + ['code' => 'ClientTokenError', 'message' => 'The ClientToken only supports ASCII characters and cannot exceed 64 characters.', 'http_code' => 400, 'description' => 'The ClientToken only supports ASCII characters and cannot exceed 64 characters.'], + ['code' => 'CloudAssistantAlreadyInstalled', 'message' => 'cloud assistant is already installed.', 'http_code' => 400, 'description' => 'Cloud Assistant has been installed on the instance'], + ['code' => 'CloudAssistantNotSupported', 'message' => 'cloud assistant is not supported in this instance.', 'http_code' => 400, 'description' => 'The instance does not support installing Cloud Assistant.'], + ['code' => 'CommodityInvalidComponent', 'message' => 'Sales module parameters do not satisfy constraint check.', 'http_code' => 400, 'description' => 'Sales module parameters do not meet constraints check'], + ['code' => 'CommodityInvalidComponent', 'message' => 'The module you purchased is illegal, please re-select.', 'http_code' => 400, 'description' => 'The module you purchased is illegal, please re-select.'], + ['code' => 'CommodityInvalidComponent', 'message' => 'Required module not selected.', 'http_code' => 400, 'description' => 'Required module not selected.'], + ['code' => 'CommodityInvalidItemCode', 'message' => 'Specification code illegal.', 'http_code' => 400, 'description' => 'Specification code illegal.'], + ['code' => 'CONFIGURATION_ALLOW_UPGRADE', 'message' => 'The order type of this commodity only supports upgrade.', 'http_code' => 400, 'description' => 'The order type of this commodity only supports upgrade.'], + ['code' => 'CountLimitExceed.HaVipOnInstance', 'message' => 'The amount of HaVip associated with the specified Instance reach its limits.', 'http_code' => 400, 'description' => 'The amount of HaVip associated with the specified Instance reach its limits.'], + ['code' => 'CountLimitExceed.InstanceOnHaVip', 'message' => 'The number of instances bound to HaVip has reached the limit.', 'http_code' => 400, 'description' => 'The number of instances bound to HaVip has reached the limit.'], + ['code' => 'CountLimitExceeded.HaVipOnInstance', 'message' => 'The amount of Instance associated with the specified HaVip reach its limits.', 'http_code' => 400, 'description' => 'Exceeds the HaVip instance limit.'], + ['code' => 'CreateKMSServiceKeyFailed', 'message' => 'The kms service key has been created failed.', 'http_code' => 400, 'description' => 'kms service key creation failed.'], + ['code' => 'CurrentDiskTypeForbidChange', 'message' => 'The disk type of the current instance prohibits the change operation.', 'http_code' => 400, 'description' => 'The disk type of the current instance prohibits the change operation.'], + ['code' => 'DefaultGatewayRouteTableAlreadyExists', 'message' => 'The default gateway route table for the network already exists.', 'http_code' => 400, 'description' => 'The default gateway route table for the network already exists.'], + ['code' => 'DependencyViolation.CloudInstance', 'message' => 'Specified network has nat cloud instance.', 'http_code' => 400, 'description' => 'The network also contains cloud instances.'], + ['code' => 'DependencyViolation.Ips', 'message' => 'The specified BandwidthPackageId has dependent resource ips.', 'http_code' => 400, 'description' => 'There are IP addresses under the shared bandwidth package and cannot be deleted.'], + ['code' => 'DependencyViolation.NAT', 'message' => 'Specified network has nat instance.', 'http_code' => 400, 'description' => 'There are also NAT instances under the network.'], + ['code' => 'DependencyViolation.NetworkAcl', 'message' => 'Specified network has network acl.', 'http_code' => 400, 'description' => 'There is also a network ACL under this network.'], + ['code' => 'DependencyViolation.RouteEntry', 'message' => 'Specified network has route entry.', 'http_code' => 400, 'description' => 'There are also custom routes under the network.'], + ['code' => 'DependencyViolation.RouteEntry', 'message' => 'Route table has route entry.', 'http_code' => 400, 'description' => 'There are also undeleted custom routing rules, and the routing table fails to be deleted.'], + ['code' => 'DependencyViolation.Snapshot', 'message' => 'This Instance has dependent Snapshot and cannot be deleted. Please Delete all Snapshot first.', 'http_code' => 400, 'description' => 'The snapshot data of this instance exists, so the instance cannot be deleted. Please delete the dependent resources before performing this operation.'], + ['code' => 'DependencyViolation.VSwitch', 'message' => 'This NetWork has dependent VSwitches and cannot be deleted. Delete all VSwitches in the NetWork first.', 'http_code' => 400, 'description' => ''], + ['code' => 'DependencyViolation.VSwitch', 'message' => 'Specified network has vswitch.', 'http_code' => 400, 'description' => 'There is also a virtual switch under the network.'], + ['code' => 'DISKTYPE_NOT_CHANGE', 'message' => 'The disk type of the instance does not change, please re-select.', 'http_code' => 400, 'description' => 'The disk type of the instance does not change, please re-select'], + ['code' => 'DISK_SNAPSHOT_STATUS_NOT_MATCH', 'message' => 'Snapshot status mismatch.', 'http_code' => 400, 'description' => 'Snapshot status mismatch.'], + ['code' => 'EipNotFound', 'message' => 'Eip is not found.', 'http_code' => 400, 'description' => 'Elastic IP does not exist'], + ['code' => 'ens.buy.store.empty', 'message' => 'Insufficient inventory of purchased resources.', 'http_code' => 400, 'description' => 'Insufficient inventory of purchased resources.'], + ['code' => 'ens.buy.user.illegal', 'message' => '用户不在创建资源规格白名单中或是非边缘节点ENS服务注册用户。', 'http_code' => 400, 'description' => ''], + ['code' => 'ens.interface.error', 'message' => 'Failed to call API.', 'http_code' => 400, 'description' => ''], + ['code' => 'EnsAreaCountIllegal', 'message' => 'The number of instances in the region is all 0, please re-select or contact the product.', 'http_code' => 400, 'description' => 'The number of instances with regions is all 0, please re-select'], + ['code' => 'EnsAreaInsufficientInventory', 'message' => 'Regional inventory is insufficient, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Insufficient regional inventory, please re-match'], + ['code' => 'EnsBuyStoreEmpty', 'message' => 'Insufficient inventory.', 'http_code' => 400, 'description' => 'Insufficient inventory'], + ['code' => 'EnsEnsRegionInsufficientInventory', 'message' => 'The node inventory is insufficient, please re-select or contact the product.', 'http_code' => 400, 'description' => 'Insufficient node inventory, please re-select'], + ['code' => 'EnsNodeStockIsNotEnough', 'message' => 'Insufficient inventory of purchased resources.', 'http_code' => 400, 'description' => 'Insufficient inventory of purchased resources'], + ['code' => 'EnsPostOpenError', 'message' => 'Commodity opening failed.', 'http_code' => 400, 'description' => 'Commodity opening failed.'], + ['code' => 'EnsPostServiceUnOpen', 'message' => 'You have not activated ENSPOST.', 'http_code' => 400, 'description' => 'You have not yet opened a pay-as-you-go contract for edge nodes, so you cannot do this for the time being.'], + ['code' => 'EnsRegionCountExceeded', 'message' => 'Purchase quantity exceeds the single default limit, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'The maximum number of nodes or regions purchased at a time is 10, the maximum number of single-node instances scheduled for a node is 100, and the maximum number of total instances is 1000, and the total number of instances scheduled for a region is 100 or less'], + ['code' => 'EnsRegionDoesNotSupportFeature', 'message' => 'The specified ens region does not support this feature.', 'http_code' => 400, 'description' => 'The specified ENS node does not support this function.'], + ['code' => 'EnsServiceArrearage', 'message' => 'The user is in arrears or the status is abnormal, please contact the product.', 'http_code' => 400, 'description' => 'The user is overdue or in abnormal status, please recharge'], + ['code' => 'EnsServiceArrearage', 'message' => 'User account is arrearage.', 'http_code' => 400, 'description' => 'User account is arrearage.'], + ['code' => 'EnsServiceConsumerNotExists', 'message' => 'The user has not opened the edge service to pay by volume, please contact the product consultation.', 'http_code' => 400, 'description' => 'The user has not activated the edge service to pay by volume, please activate and use it again.'], + ['code' => 'ERROR.STORAGE.BINDED', 'message' => 'The storageId has been bound.', 'http_code' => 400, 'description' => 'The specified storage device (such as the cloud disk ID) has been bound. Batch operations are not supported.'], + ['code' => 'ERROR_SNAPSHOT_COPY_IN_PROGRESS', 'message' => 'Destination site has incomplete snapshot copy or delete sequence.', 'http_code' => 400, 'description' => 'Destination site has incomplete snapshot copy or delete sequence.'], + ['code' => 'ERROR_SNAPSHOT_NOT_FOUND', 'message' => 'The specified snapshot does not exist.', 'http_code' => 400, 'description' => 'The specified snapshot does not exist.'], + ['code' => 'Event.NotFound', 'message' => 'The specified event is not found.', 'http_code' => 400, 'description' => 'Cannot find corresponding event, please check the event ID'], + ['code' => 'Forbidden.DelerrorteImage', 'message' => 'The image cannot be deleted when used by instance.', 'http_code' => 400, 'description' => 'The specified image has been used to create an instance and cannot be deleted.'], + ['code' => 'Forbidden.ExternalIpUsedInSnat', 'message' => 'The external ip is already in use in the snat rule.', 'http_code' => 400, 'description' => 'The public IP address is already used in the SNAT rule. Please check.'], + ['code' => 'Forbidden.ExternalPort.Duplicated', 'message' => 'The specified ExternalPort is duplicated.', 'http_code' => 400, 'description' => 'A DNAT rule has been configured for the external port. Do not repeat the configuration.'], + ['code' => 'Forbidden.OperationLocked', 'message' => 'The instance is currently locked for operations.', 'http_code' => 400, 'description' => 'The instance is locked and cannot be operated.'], + ['code' => 'Forbidden.SnatIpUsedInDnat', 'message' => 'The snatIp is already in use in the DNAT rule.', 'http_code' => 400, 'description' => 'The snatIp is already in use in the DNAT rule. Please check.'], + ['code' => 'Forbidden.SourceCIDR.Duplicated', 'message' => 'The specified sourceCIDR is duplicated.', 'http_code' => 400, 'description' => 'SNAT rules have been configured for the source CIDR block. Do not repeat the settings.'], + ['code' => 'GatewayQosInstance.NotFound', 'message' => 'There is no such instance under under the Gateway Qos.', 'http_code' => 400, 'description' => 'There is no such instance under the gateway speed limit.'], + ['code' => 'GatewayQosInstanceConflict', 'message' => 'The instance already exists in another gateway qos.', 'http_code' => 400, 'description' => 'The instance is already under the speed limit of another gateway.'], + ['code' => 'GatewayQosNotFound', 'message' => 'The input parameter GatewayQosId that is not found.', 'http_code' => 400, 'description' => 'The gateway speed limit instance does not exist.'], + ['code' => 'GenerateDataKeyFailure', 'message' => 'Failed to generate key information, please contact the product.', 'http_code' => 400, 'description' => 'Failed to generate key information, please try again'], + ['code' => 'GenerateKMSDataKeyFailed', 'message' => 'The kms data key has been generated failed.', 'http_code' => 400, 'description' => 'Failed to generate kms data key.'], + ['code' => 'HaVipNotFound', 'message' => 'The input parameter haVipId that is not found.', 'http_code' => 400, 'description' => 'The specified HaVip does not exist.'], + ['code' => 'IllegalInsatanceSpec', 'message' => 'The specified Instance Spec is illegal.', 'http_code' => 400, 'description' => 'The current operation does not support this instance type.'], + ['code' => 'IllegalKMSKeyState', 'message' => 'The specified kms key state has not been enabled.', 'http_code' => 400, 'description' => 'The specified master key state is not enabled'], + ['code' => 'IncorrectEipStatus', 'message' => 'The current status of the resource does not support this operation.', 'http_code' => 400, 'description' => 'The Eip status is incorrect. Check the Eip status.'], + ['code' => 'IncorrectHaVipStatus', 'message' => 'The status of the haVip is invalid.', 'http_code' => 400, 'description' => 'HaVip status is incorrect'], + ['code' => 'IncorrectInstanceAssociationStatus', 'message' => 'The status of the instance association is incorrect.', 'http_code' => 400, 'description' => 'The status of the instance association is incorrect.'], + ['code' => 'IncorrectInstanceStatus', 'message' => 'The current status of the resource does not support this operation.', 'http_code' => 400, 'description' => 'The current operation is not supported. The disk is being reset.'], + ['code' => 'IncorrectInstanceStatus', 'message' => 'The current status of the instance does not support this operation.', 'http_code' => 400, 'description' => 'The instance is in a state that does not support the current operation.'], + ['code' => 'IncorrectInstanceVSwitch', 'message' => 'The binding instance must be under the same VSwitch.', 'http_code' => 400, 'description' => 'The binding instance must be under the same VSwitch.'], + ['code' => 'IncorrectListenerStatus', 'message' => 'The current status of the resource does not support this operation.', 'http_code' => 400, 'description' => 'The listener status is incorrect.'], + ['code' => 'IncorrectNetworkInterfaceStatus', 'message' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.', 'http_code' => 400, 'description' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.'], + ['code' => 'IncorrectStatus.CloudAssistant', 'message' => 'The cloud assistant status is incorrect.', 'http_code' => 400, 'description' => 'Cloud Assistant status is incorrect'], + ['code' => 'IncorrectStatus.CommonBandwidthPackage', 'message' => 'The current common bandwidth package status does not support this operation.', 'http_code' => 400, 'description' => 'The status of the current shared bandwidth package does not support this operation.'], + ['code' => 'IncorrectStatus.CommonBandwidthPackageIp', 'message' => 'The current common bandwidth package ip status does not support this operation.', 'http_code' => 400, 'description' => 'The operation is not supported in the status of the IP instance in the shared bandwidth package.'], + ['code' => 'IncorrectStatus.Disk', 'message' => 'The status of the disk is incorrect.', 'http_code' => 400, 'description' => 'The disk status is incorrect'], + ['code' => 'IncorrectStatus.GatewayQos', 'message' => 'The status of the gatewayQos is incorrect.', 'http_code' => 400, 'description' => 'The current gateway speed limit status does not support this operation.'], + ['code' => 'IncorrectStatus.GatewayQosInstance', 'message' => 'The status of the gateway qos instance is incorrect.', 'http_code' => 400, 'description' => 'The status of the instance under the gateway speed limit is incorrect.'], + ['code' => 'IncorrectStatus.Image', 'message' => 'The current status of the image does not support this operation.', 'http_code' => 400, 'description' => 'The current image state does not support this operation.'], + ['code' => 'IncorrectStatus.Network', 'message' => 'The status of the network is incorrect.', 'http_code' => 400, 'description' => 'The status of the network is incorrect.'], + ['code' => 'IncorrectStatus.NetworkPeerConnection', 'message' => 'The status of the network peer connection is incorrect.', 'http_code' => 400, 'description' => 'The status of the network peer connection is incorrect.'], + ['code' => 'IncorrectStatus.RouteEntry', 'message' => 'The status of the routeEntry is incorrect.', 'http_code' => 400, 'description' => 'The state of the current route does not support the operation.'], + ['code' => 'IncorrectVSwitchStatus', 'message' => 'The current status of virtual switch does not support this operation.', 'http_code' => 400, 'description' => 'The specified virtual switch is not available and cannot operate.'], + ['code' => 'IncorretDnatEntryStatus', 'message' => 'Dnat entry status blocked this operation.', 'http_code' => 400, 'description' => 'Dnat status is incorrect, please check Dnat status.'], + ['code' => 'IncorretSnatEntryStatus', 'message' => 'Snat entry status blocked this operation.', 'http_code' => 400, 'description' => 'Snat status is not correct, please check Snat status.'], + ['code' => 'Instance.NotFound', 'message' => 'The instance was not found.Please confirm whether the instance exists.', 'http_code' => 400, 'description' => 'The instance that you want to delete cannot be found.'], + ['code' => 'InstanceAlreadyAssociated', 'message' => 'The instance is already bound.', 'http_code' => 400, 'description' => 'The instance is already bound.'], + ['code' => 'InstanceForbidOperate', 'message' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.', 'http_code' => 400, 'description' => 'There are currently uncompleted operations on the instance. Please wait for the instance renewal, configuration change, or payment type conversion to be completed before retrying.'], + ['code' => 'InstanceIdAlreadyExists', 'message' => 'The instance id already exists.', 'http_code' => 400, 'description' => 'Instance ID already exists.'], + ['code' => 'InstanceIdNotFound', 'message' => 'No instance ID found. Enter a valid instance ID.', 'http_code' => 400, 'description' => 'No instance ID found. Enter a valid instance ID.'], + ['code' => 'InstanceIdNotFound', 'message' => 'The input parameter instancdId that is not found.', 'http_code' => 400, 'description' => 'The specified instance ID does not exist.'], + ['code' => 'InstanceNotAssociated', 'message' => 'The instance is not associated.', 'http_code' => 400, 'description' => 'Instance not bound'], + ['code' => 'InstanceNotFound', 'message' => 'Instance not found, please check the InstanceId.', 'http_code' => 400, 'description' => 'Instance not found, please check the instance ID'], + ['code' => 'InstanceNotFound.NetworkPeerConnection', 'message' => 'Network peer connection not found, please check the InstanceId.', 'http_code' => 400, 'description' => 'The instance cannot be found, please check the instance ID.'], + ['code' => 'InsufficientAvailableQuota', 'message' => 'The available amount of your account is insufficient, please recharge before placing an order.', 'http_code' => 400, 'description' => 'The available amount of your account is insufficient, please recharge before placing an order.'], + ['code' => 'Interface.Call.Error', 'message' => 'The interface call error', 'http_code' => 400, 'description' => ''], + ['code' => 'Interface.Call.Failed', 'message' => '%s.', 'http_code' => 400, 'description' => 'Request failed'], + ['code' => 'Invalid.LoadBalancerSpec.NotChange', 'message' => 'The ELB instance specification does not change.', 'http_code' => 400, 'description' => 'The ELB instance specification does not change.'], + ['code' => 'InvalidArgument', 'message' => 'Specified parameter ContinuationToken is incorrect.', 'http_code' => 400, 'description' => 'The ContinuationToken parameters set are incorrect.'], + ['code' => 'InvalidBandwidth', 'message' => 'The bandwidth parameter cannot all be 0.', 'http_code' => 400, 'description' => 'The bandwidth parameter cannot all be 0.'], + ['code' => 'InvalidBandwidthPackageId.NotFound', 'message' => 'The specified BandwidthPackageId does not exist in our records.', 'http_code' => 400, 'description' => 'The specified bandwidth package ID does not exist.'], + ['code' => 'InvalidBucketAcl', 'message' => 'Specified parameter BucketAcl is not valid.', 'http_code' => 400, 'description' => 'Invalid BucketAcl parameter value set.'], + ['code' => 'InvalidBucketName', 'message' => 'Specified parameter BucketName is not valid.', 'http_code' => 400, 'description' => 'The specified BucketName parameter is invalid.'], + ['code' => 'InvalidCidr', 'message' => 'the cidr information filled in is illegal, please re-match.', 'http_code' => 400, 'description' => 'the cidr information filled in is illegal, please re-match'], + ['code' => 'InvalidCidrBlock.Malformed', 'message' => 'Specified CIDR block is not valid.', 'http_code' => 400, 'description' => 'The format of the destination network segment is incorrect.'], + ['code' => 'InvalidDataDiskCountValueNotSupported', 'message' => 'The maximum number of dataDiskCount is exceeded,please re-match, or contact the product.', 'http_code' => 400, 'description' => 'The number of cloud disks is too large, not more than 15, please re-select'], + ['code' => 'InvalidDeletionAppointmentNotSupported', 'message' => 'The scheduled release time of the current instance is set to prohibit this operation.', 'http_code' => 400, 'description' => 'The scheduled release time of the current instance is set to prohibit this operation.'], + ['code' => 'InvalidDeletionProtectionNotSupported', 'message' => 'The current instance has release protection enabled. This operation is not allowed.', 'http_code' => 400, 'description' => 'The current instance has release protection enabled. This operation is not allowed.'], + ['code' => 'InvalidDependence.%s', 'message' => 'The Specified operation is denied due to %s.', 'http_code' => 400, 'description' => 'The instance has dependencies and cannot be modified.'], + ['code' => 'InvalidExternalIp.NotFound', 'message' => 'Specified ExternalIp does not found on the NAT Gateway.', 'http_code' => 400, 'description' => 'The public IP address is not in the NAT Gateway.'], + ['code' => 'InvalidForwardEntryId.NotFound', 'message' => 'The specified forwardEntry is not found.', 'http_code' => 400, 'description' => 'The specified DNAT does not exist. Check whether the input parameters are correct.'], + ['code' => 'InvalidImageIdNotFound', 'message' => 'The image information entered is invalid. Please re-enter valid image information.', 'http_code' => 400, 'description' => 'The image information entered is invalid. Please re-enter valid image information.'], + ['code' => 'InvalidImageIdSpec', 'message' => 'The image does not match the specification cluster information, please re-match.', 'http_code' => 400, 'description' => 'The image does not match the specification cluster information, please re-match'], + ['code' => 'InvalidImageIdSystemDisk', 'message' => 'The system disk size does not match the image size, please re-select.', 'http_code' => 400, 'description' => 'The system disk size does not match the image size, please re-select'], + ['code' => 'InvalidImageType.NotSupported', 'message' => 'The specified image type is not supported.', 'http_code' => 400, 'description' => 'The specified image does not support sharing or exporting.'], + ['code' => 'InvalidInstancebillingCycleStatus', 'message' => 'The contract status of the current instance is incorrect.', 'http_code' => 400, 'description' => 'The contract status of the current instance is incorrect.'], + ['code' => 'InvalidInstanceId.Duplicate', 'message' => 'The specified instanceId is duplicate.', 'http_code' => 400, 'description' => 'The specified instance ID parameter is duplicate.'], + ['code' => 'InvalidInstanceId.NotFound', 'message' => 'The specified InstanceId does not exist.', 'http_code' => 400, 'description' => 'The specified instance does not exist.'], + ['code' => 'InvalidInstanceType.NotSupported', 'message' => 'The specified InstanceType is not Supported.', 'http_code' => 400, 'description' => 'The specified instance type does not support the current operation.'], + ['code' => 'InvalidIpStatus.HasBeenUsedByForwardEntry', 'message' => 'The eip has been used by dnat.', 'http_code' => 400, 'description' => 'There is dnat using this Eip.'], + ['code' => 'InvalidIpStatus.HasBeenUsedBySnatTable', 'message' => 'The eip has been used by snat.', 'http_code' => 400, 'description' => 'This Eip is in use by snat.'], + ['code' => 'InvalidKMSDataEncryption', 'message' => 'Specified parameter KMSDataEncryption is not valid.', 'http_code' => 400, 'description' => 'Incorrect KMSDataEncryption parameter value set'], + ['code' => 'InvalidNetwork.Mismatch', 'message' => 'Sender and receiver networks must not be the same.', 'http_code' => 400, 'description' => ' Sender and receiver networks must not be the same.'], + ['code' => 'InvalidNetworkType.NotSupported', 'message' => 'The specified network type does not supported.', 'http_code' => 400, 'description' => 'The network type is not supported.'], + ['code' => 'InvalidNetworkType.ValueNotSupported', 'message' => 'The Classic networkType is not supported.', 'http_code' => 400, 'description' => 'Classic networks do not support creating ELB instances.'], + ['code' => 'InvalidNextHopType.NotSupported', 'message' => 'This next hop type is not supported.', 'http_code' => 400, 'description' => 'This next hop type is not supported.'], + ['code' => 'InvalidParameter.CidrIp', 'message' => 'The parameter CidrIp is not valid.', 'http_code' => 400, 'description' => 'The security group rule CIDR block parameter is invalid.'], + ['code' => 'InvalidParameter.DestIpConflict', 'message' => 'The Parameters DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.', 'http_code' => 400, 'description' => 'Parameter DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.'], + ['code' => 'InvalidParameter.DnatNotFound', 'message' => 'The specified dnat is not found.', 'http_code' => 400, 'description' => 'The specified DNAT rule does not exist.'], + ['code' => 'InvalidParameter.HealthCheckPort', 'message' => 'HealthCheckPort is not in the range of InternalPort.', 'http_code' => 400, 'description' => 'The health check port is not in the intranet port range.'], + ['code' => 'InvalidParameter.InternalIp', 'message' => 'The specified parameter internalIp is invalid.', 'http_code' => 400, 'description' => 'The parameter internal IP is incorrect.'], + ['code' => 'InvalidParameter.Ipv4ProtocolConflictWithIpv6Address', 'message' => 'IPv6 address cannot be specified for IPv4-specific protocol.', 'http_code' => 400, 'description' => 'The IPv4 protocol cannot specify an IPv6 address.'], + ['code' => 'InvalidParameter.Ipv6ProtocolConflictWithIpv4Address', 'message' => 'IPv4 address cannot be specified for IPv6-specific protocol.', 'http_code' => 400, 'description' => 'The IPv6 protocol cannot specify an IPv4 address.'], + ['code' => 'InvalidParameter.NatNotFound', 'message' => 'The specified Nat is not found.', 'http_code' => 400, 'description' => 'The specified parameter Nat does not exist.'], + ['code' => 'InvalidParameter.PortRange', 'message' => 'The parameter PortRange is not valid.', 'http_code' => 400, 'description' => 'The port range is not configured correctly.'], + ['code' => 'InvalidParameter.SnatNotFound', 'message' => 'The specified snat is not found.', 'http_code' => 400, 'description' => 'The specified DNAT rule does not exist.'], + ['code' => 'InvalidParameter.SourceCIDR', 'message' => 'The specified parameter SourceCIDR is invalid.', 'http_code' => 400, 'description' => 'The specified source CIDR block is invalid.'], + ['code' => 'InvalidParameter.SourceIpConflict', 'message' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.', 'http_code' => 400, 'description' => 'Parameter SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.'], + ['code' => 'InvalidParameterCategoryNotSupported', 'message' => 'This disk category is not support kms,please re-select, or contact the product.', 'http_code' => 400, 'description' => 'Cloud disk type does not support encryption, please re-select'], + ['code' => 'InvalidParameterEnsRegionId', 'message' => 'The entered node information is invalid. Please enter the correct node information.', 'http_code' => 400, 'description' => 'The entered node information is invalid. Please enter the correct node information.'], + ['code' => 'InvalidParameterGatewayId', 'message' => 'The status of the storage gateway entered is invalid.', 'http_code' => 400, 'description' => 'The status of the storage gateway entered is invalid.'], + ['code' => 'InvalidParameterImageId', 'message' => 'Failed to obtain mirror information, please try to place the order again.', 'http_code' => 400, 'description' => 'Failed to obtain mirror information, please try to place the order again.'], + ['code' => 'InvalidParameterInstanceType', 'message' => 'Failed to obtain specification information, please try to place the order again.', 'http_code' => 400, 'description' => 'Failed to obtain specification information, please try to place the order again'], + ['code' => 'InvalidParameterInternetChargeType', 'message' => 'The entered bandwidth billing information is invalid. Please re-enter valid bandwidth billing information.', 'http_code' => 400, 'description' => 'The entered bandwidth billing information is invalid. Please re-enter valid bandwidth billing information.'], + ['code' => 'InvalidParameterKMSKeyIdCMKNotEnabled', 'message' => 'The CMK needs to be enabled, please re-select, or contact the product.', 'http_code' => 400, 'description' => 'The key status is incorrect, please go to the key management console to enable the key status.'], + ['code' => 'InvalidParam_NotSupportInstanceIdAndIpAddress', 'message' => 'The parameter InstanceId and IpAddress cannot be supported simultaneously.', 'http_code' => 400, 'description' => 'The parameter InstanceId and IpAddress cannot be supported simultaneously.'], + ['code' => 'InvalidPort.Malformed', 'message' => 'The specified port is not a valid port.', 'http_code' => 400, 'description' => 'The specified port is incorrect'], + ['code' => 'InvalidPort.Malformed', 'message' => 'The specified ExternalPort or InternalPort is not a valid port.', 'http_code' => 400, 'description' => 'The external or internal network port is incorrect.'], + ['code' => 'InvalidPrivateIpAddress.Duplicated', 'message' => 'The specified private IP address is duplicated.', 'http_code' => 400, 'description' => 'The specified IP address is already in use.'], + ['code' => 'InvalidPrivateIpAddress.Mismatch', 'message' => 'Specified private IP address is not in the CIDR block of virtual switch.', 'http_code' => 400, 'description' => 'The specified private IP address is not in the CIDR block of the specified VSwitch.'], + ['code' => 'InvalidPubKeyBody', 'message' => 'Invalid Public Key Body.', 'http_code' => 400, 'description' => 'Illegal key'], + ['code' => 'InvalidPublicKeyBody.Malformed', 'message' => 'The PublicKeyBody format is not supported.', 'http_code' => 400, 'description' => 'The PublicKeyBody format is not supported.'], + ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds are not found in our records.', 'http_code' => 400, 'description' => 'The specified resource information does not exist.'], + ['code' => 'InvalidRouteEntry.Duplicate', 'message' => 'The route entry already exists.', 'http_code' => 400, 'description' => 'The specified route entry already exists.'], + ['code' => 'InvalidRouteEntry.SystemRoute', 'message' => 'Specified operation is denied as route entry type is system.', 'http_code' => 400, 'description' => 'This operation cannot be performed because the route is a system route.'], + ['code' => 'InvalidRouteEntryId.NotFound', 'message' => 'Specified RouteEntryId does not exist.', 'http_code' => 400, 'description' => 'The specified route ID does not exist.'], + ['code' => 'InvalidRouteEntryType.NotSupported', 'message' => 'The specified route type does not support this operation.', 'http_code' => 400, 'description' => 'The specified route type does not support this operation.'], + ['code' => 'InvalidRouteTableId.NotFound', 'message' => 'Specified route table does not exist.', 'http_code' => 400, 'description' => 'The routing table does not exist.'], + ['code' => 'InvalidRouteTableType.System', 'message' => 'Specified operation is denied as route table type is system.', 'http_code' => 400, 'description' => 'The operation cannot be performed because the routing table type is a system routing table.'], + ['code' => 'InvalidRuleName', 'message' => 'Specified parameter RuleName is not valid.', 'http_code' => 400, 'description' => 'Invalid rule name set.'], + ['code' => 'InvalidSecondaryCidrBlock.NotFound', 'message' => 'The specified SecondaryCidrBlock was not found.', 'http_code' => 400, 'description' => 'The specified additional network segment was not found.'], + ['code' => 'InvalidSecurityGroupId.NotFound', 'message' => 'The specified SecurityGroupId does not exist.', 'http_code' => 400, 'description' => 'The specified security group ID does not exist.'], + ['code' => 'InvalidSKUStatus', 'message' => 'Inventory storage unit(SKU) background status is illegal, please submit work order in time.', 'http_code' => 400, 'description' => 'Inventory storage unit(SKU) background status is illegal, please submit work order in time.'], + ['code' => 'InvalidSnatEntryId.NotFound', 'message' => 'The specified snatEntry is not found.', 'http_code' => 400, 'description' => 'The specified SNAT does not exist. Check whether the input parameters are correct.'], + ['code' => 'InvalidSnatIp.NotFound', 'message' => 'Specified SnatIp does not found on the NAT Gateway.', 'http_code' => 400, 'description' => 'The public IP address is not in the NAT Gateway.'], + ['code' => 'InvalidSourceCidrBlock.Malformed', 'message' => 'Specified Source CIDR Block is not valid.', 'http_code' => 400, 'description' => 'The format of the source network segment is incorrect.'], + ['code' => 'InvalidSourceCidrBlock.NotSupported', 'message' => 'The route table does not support the source CIDR block parameter.', 'http_code' => 400, 'description' => 'The routing table does not support the source CIDR block parameter.'], + ['code' => 'InvalidSpecNetlevel', 'message' => 'The current network level does not support configuring this specification.', 'http_code' => 400, 'description' => 'The current network level does not support configuring this specification.'], + ['code' => 'InvalidSpecPostPaid', 'message' => 'This specification is not supported for a Pay-As-You-Go instance.', 'http_code' => 400, 'description' => 'This specification is not supported for a Pay-As-You-Go instance.'], + ['code' => 'InvalidSSEAlgorithm', 'message' => 'Specified parameter SSEAlgorithm is not valid.', 'http_code' => 400, 'description' => 'The SSEAlgorithm parameter value set is incorrect.'], + ['code' => 'InvalidSystemDiskSize.LessThanImageSize', 'message' => 'The specified SystemDisk.Size is less than the image size.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidVSwitchId.IpNotEnough', 'message' => 'The specified virtual switch has not enough available ip.', 'http_code' => 400, 'description' => 'The number of IP addresses in the specified switch is insufficient.'], + ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'Specified virtual switch does not exist.', 'http_code' => 400, 'description' => 'The specified virtual switch ID does not exist.'], + ['code' => 'InventoryExceeded', 'message' => 'The Instance in stock are insufficient,please submit a ticket.', 'http_code' => 400, 'description' => 'The specified instance resource inventory is insufficient, please re-match.'], + ['code' => 'IpInstanceId.AlreadyInBandwidthPackage', 'message' => 'The specified Eip InstanceId already in bandwidthPackage.', 'http_code' => 400, 'description' => 'The EIP is already under the shared bandwidth package.'], + ['code' => 'IpInstanceId.NotInBandwidthPackage', 'message' => 'The specified IpInstanceId does not in bandwidthPackage.', 'http_code' => 400, 'description' => 'The EIP is not in the specified shared bandwidth package.'], + ['code' => 'LackImageIdInstanceSpec', 'message' => 'Image properties must be configured for the current specification.', 'http_code' => 400, 'description' => 'Image properties must be configured for the current specification'], + ['code' => 'LackLabelImageIdEnsRegionId', 'message' => 'The instance created by using this image on this node lacks the necessary label, please contact the product or operation classmate.', 'http_code' => 400, 'description' => 'The required tag for creating an instance using this image on this node is missing'], + ['code' => 'LackPublicIpIdentificationInstanceSpec', 'message' => 'The current specification must create a public network card.', 'http_code' => 400, 'description' => 'The current specification must create a public network card.'], + ['code' => 'LackSystemDiskInstanceSpec', 'message' => 'System disk properties must be configured for the current specification.', 'http_code' => 400, 'description' => 'System disk properties must be configured for the current specification'], + ['code' => 'LaunchTemplateLimitExceed', 'message' => 'The maximum number of templates is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of templates is exceeded.'], + ['code' => 'LaunchTemplateName.Duplicated', 'message' => 'The specified LaunchTemplateName already exist.', 'http_code' => 400, 'description' => 'The specified launch template name already exists.'], + ['code' => 'LaunchTemplateVersionLimitExceed', 'message' => 'The maximum number of template\'s versions is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of template\'s versions is exceeded.'], + ['code' => 'ListenerAlreadyExists', 'message' => 'The listener already exists.', 'http_code' => 400, 'description' => 'The listener already exists.'], + ['code' => 'ListenerAlreadyExists', 'message' => 'The listenerPort already exists.', 'http_code' => 400, 'description' => 'Listener already exists'], + ['code' => 'ListenerNotFound', 'message' => 'Listener is not found.', 'http_code' => 400, 'description' => 'Listener does not exist'], + ['code' => 'LoadBalancerNotFound', 'message' => 'The input parameter LoadBalancerId that is not found.', 'http_code' => 400, 'description' => 'The load balancing instance does not exist.'], + ['code' => 'MalformedXML', 'message' => 'The number of storage objects deleted exceeds the limit of 1000.', 'http_code' => 400, 'description' => 'The number of storage objects deleted exceeds the limit of 1000.'], + ['code' => 'Nas.Mount.Tatget.Entity.Not.Null', 'message' => 'There are still mount points under the file system.Please delete the mount point first', 'http_code' => 400, 'description' => ''], + ['code' => 'NetworkInterfaceNotFound', 'message' => 'The specified network interface does not exist.', 'http_code' => 400, 'description' => 'The specified network interface does not exist.'], + ['code' => 'NetworkInterfaceTypeNotSupported', 'message' => 'This network interface type cannot be used with the current operation.', 'http_code' => 400, 'description' => 'This network interface type cannot be used with the current operation.'], + ['code' => 'NetworkMismatch', 'message' => 'The instances are not in the same network.', 'http_code' => 400, 'description' => 'The instances are not in the same network.'], + ['code' => 'NetworkNotFound', 'message' => 'The specified network is not found.', 'http_code' => 400, 'description' => 'Network not found, please check network id.'], + ['code' => 'NoAvailablePaymentMethod', 'message' => 'No payment method available, please add a payment method.', 'http_code' => 400, 'description' => 'No payment method available, please add a payment method'], + ['code' => 'NoSuchAccesslogConfig', 'message' => 'The config of access log does not exist.', 'http_code' => 404, 'description' => 'The query access log configuration does not exist.'], + ['code' => 'NoSuchBucket', 'message' => 'The specified bucket does not exist.', 'http_code' => 404, 'description' => 'The requested bucket does not exist.'], + ['code' => 'NoSuchCORSConfiguration', 'message' => 'The CORS Configuration does not exist.', 'http_code' => 404, 'description' => 'The cross-origin resource rule does not exist.'], + ['code' => 'NoSuchKey', 'message' => 'The specified key does not exist.', 'http_code' => 404, 'description' => 'The specified key does not exist.'], + ['code' => 'NoSuchMasterKeyId', 'message' => 'The specified kms master key id does not exist.', 'http_code' => 400, 'description' => 'the specified master key id does not exist.'], + ['code' => 'NoSuchServerSideEncryptionRule', 'message' => 'The encryption rule of specified bucket does not exist.', 'http_code' => 404, 'description' => 'The current bucket does not have an encryption rule configuration.'], + ['code' => 'OperateForbidden', 'message' => 'The instance cannot perform this operation because the instance expires or the account is overdue.', 'http_code' => 400, 'description' => 'The instance cannot perform this operation because the instance expires or the account is overdue.'], + ['code' => 'OperationDenied', 'message' => 'The current ens region has not been purchased.', 'http_code' => 403, 'description' => 'The current account has not opened the node whitelist or the specified node has not opened the whitelist, please contact the background processing.'], + ['code' => 'OperationDenied.AuthenticationError', 'message' => 'The AliUid of the MountTarget and the ShareVpc should be the same.', 'http_code' => 400, 'description' => 'The user of the mount point should be the same as the user of the shared VPC'], + ['code' => 'OperationDenied.MeteredSizeNotZero', 'message' => 'The MountTarget whose metered size is not zero can not be deleted.', 'http_code' => 400, 'description' => 'The MountTarget whose metered size is not zero can not be deleted.'], + ['code' => 'OperationDenied.NasMountTargetNotExist', 'message' => 'The specified MountTarget does not exit.', 'http_code' => 400, 'description' => 'The specified mount point does not exist.'], + ['code' => 'OperationDenied.NetworkTypeNotVpc', 'message' => 'Non-vpc type networks do not support this operation.', 'http_code' => 400, 'description' => 'This operation is not supported for non-VPC networks'], + ['code' => 'OperationDenied.RegionsNotEqual', 'message' => 'The ShareVpc and the MountTarget are not in the same region.', 'http_code' => 400, 'description' => 'The Shared VPC and the mount point are not on the same node.'], + ['code' => 'OperationDenied.ShareVpcNotEmpty', 'message' => 'There are still ShareVpc(s) on the specified MountTarget.', 'http_code' => 400, 'description' => 'The Shared VPC also exists on the specified mount point.'], + ['code' => 'OperationDenied.ShareVpcSameWithMountTargetNetwork', 'message' => 'The share Vpc can not be the same with the MountTarget\'s Network.', 'http_code' => 400, 'description' => 'The share Vpc can not be the same with the MountTarget\'s Network.'], + ['code' => 'OperationDenied.VpcNotExist', 'message' => 'The specified Vpc does not exist.', 'http_code' => 400, 'description' => 'The specified VPC does not exist.'], + ['code' => 'ORDER.CONSTRAINT.INVALID', 'message' => 'Pre order verification failed.', 'http_code' => 400, 'description' => 'Failed to create order pre-verification.'], + ['code' => 'Order.CreateFailed', 'message' => 'Failed to create order. Please check your parameters and try it again.', 'http_code' => 400, 'description' => 'Failed to create the order.'], + ['code' => 'ORDER.NOT.EXISTED', 'message' => 'The order has not been paid for a long time or the page has stayed too long. Please refresh and try again.', 'http_code' => 400, 'description' => 'The order has not been paid for a long time or the page has stayed too long. Please refresh and try again.'], + ['code' => 'ORDER.UNPAID', 'message' => 'You have unpaid orders, please pay such orders before placing a new order.', 'http_code' => 400, 'description' => 'There are unpaid orders for the services you choose to buy, please pay or void before placing an order!'], + ['code' => 'OrderAbnormalResourceStatusForRenew', 'message' => 'Invalid resource status for renewal.', 'http_code' => 400, 'description' => 'Invalid resource status for renewal.'], + ['code' => 'OrderAccountStatusIllegal', 'message' => 'Illegal account status.', 'http_code' => 400, 'description' => 'Illegal account status.'], + ['code' => 'OrderArrearage', 'message' => 'User Arrears.', 'http_code' => 400, 'description' => 'User Arrears.'], + ['code' => 'OrderBidUserOrderForbidden', 'message' => 'Bid users cannot buy on the official website.', 'http_code' => 400, 'description' => 'Bid users cannot buy on the official website.'], + ['code' => 'OrderCaptureFailed', 'message' => 'The paid order of the instance has not been deducted successfully.', 'http_code' => 400, 'description' => 'The paid order of the instance has not been deducted successfully.'], + ['code' => 'OrderExistsReleasedInstances', 'message' => 'There are already released instances.', 'http_code' => 400, 'description' => 'There are already released instances.'], + ['code' => 'OrderFailed', 'message' => 'Order failed, please try again.', 'http_code' => 400, 'description' => 'Order failed, please try again'], + ['code' => 'OrderFailed.BasicInfoUncompleted', 'message' => 'You have not completed your basic personal information, please complete the information and try again.', 'http_code' => 400, 'description' => 'You have not completed your basic personal information, please complete the information and try again.'], + ['code' => 'OrderGroupOrderSizeOverflow', 'message' => 'The quantity of bound combined payment order exceeds the limit.', 'http_code' => 400, 'description' => 'The quantity of bound combined payment order exceeds the limit.'], + ['code' => 'OrderHomeCurrencyCanNotDowngrade', 'message' => 'Users in current currency cannot downgrade.', 'http_code' => 400, 'description' => 'Users in current currency cannot downgrade.'], + ['code' => 'OrderHomeCurrencyCanNotUpgradeByValueTransfer', 'message' => 'Users of current currency cannot upgrade through residual value transfer.', 'http_code' => 400, 'description' => 'Users of current currency cannot upgrade through residual value transfer.'], + ['code' => 'OrderInstanceHasInactiveChange', 'message' => 'Instances exist temporary upgrade.', 'http_code' => 400, 'description' => 'Instances exist temporary upgrade.'], + ['code' => 'OrderInstanceHasTempUpgrade', 'message' => 'Instances exist temporary upgrade.', 'http_code' => 400, 'description' => 'Instances exist temporary upgrade.'], + ['code' => 'OrderInstHasUnpaidOrder', 'message' => 'The instance has an unpaid order.', 'http_code' => 400, 'description' => 'The instance has an unpaid order.'], + ['code' => 'OrderInstHasUnsettledBills', 'message' => 'The instance has an unsettled bill.', 'http_code' => 400, 'description' => 'The instance has an unsettled bill.'], + ['code' => 'OrderLatestOrderIsHandling', 'message' => 'Recent order is being processed, please try again later.', 'http_code' => 400, 'description' => 'Recent order is being processed, please try again later.'], + ['code' => 'OrderMainOrderSizeOverflow', 'message' => 'The quantity of the main order exceeds the limit.', 'http_code' => 400, 'description' => 'The quantity of the main order exceeds the limit.'], + ['code' => 'OrderMissingModuleInfoError', 'message' => 'Module parameter not specified.', 'http_code' => 400, 'description' => 'Module parameter not specified.'], + ['code' => 'OrderNoRealNameAuthentication', 'message' => 'No real-name authentication.', 'http_code' => 400, 'description' => 'No real-name authentication.'], + ['code' => 'OrderNotFound', 'message' => 'The specified order information is not found.', 'http_code' => 400, 'description' => 'The specified order information is not found.'], + ['code' => 'OrderOpend', 'message' => 'You have activated this product.', 'http_code' => 400, 'description' => 'You have activated this product.'], + ['code' => 'OrderPeriodInvalid', 'message' => 'Illegal order cycle.', 'http_code' => 400, 'description' => 'Illegal order cycle.'], + ['code' => 'OrderQuantityInvalid', 'message' => 'Illegal quantity ordered.', 'http_code' => 400, 'description' => 'Illegal quantity ordered.'], + ['code' => 'OrderQueryInstanceError', 'message' => 'Query instance error.', 'http_code' => 400, 'description' => 'Query instance error.'], + ['code' => 'OrderQueryInstanceNotExists', 'message' => 'Instance data does not exist.', 'http_code' => 400, 'description' => 'Instance data does not exist.'], + ['code' => 'OrderQueryOrderExchangeRateFail', 'message' => 'Failed to query order exchange rate information.', 'http_code' => 400, 'description' => 'Failed to query order exchange rate information.'], + ['code' => 'OrderQueryUserSettleInfoFail', 'message' => 'Failed to query user settlement information.', 'http_code' => 400, 'description' => 'Failed to query user settlement information.'], + ['code' => 'OrderQuotaExceeded', 'message' => 'Quantity exceeds limit.', 'http_code' => 400, 'description' => 'Quantity exceeds limit.'], + ['code' => 'OrderSysConstraintInvalid', 'message' => 'The pre-verification of the order failed, please re-match or contact the product.', 'http_code' => 400, 'description' => 'The pre-verification of the order failed, please re-match or contact the product.'], + ['code' => 'OrderSysConstraintInvalid', 'message' => 'System constraint check failed.', 'http_code' => 400, 'description' => 'System constraint check failed.'], + ['code' => 'OrderTradeCompleteSettleInfoFail', 'message' => 'Failed to complete the order settlement currency amount information.', 'http_code' => 400, 'description' => 'Failed to complete the order settlement currency amount information.'], + ['code' => 'Parameter.Invalid', 'message' => 'The parameter is invalid. Please check your parameters and try it again.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], + ['code' => 'Parameter.Invalid', 'message' => 'This service has not been activated.', 'http_code' => 400, 'description' => 'This product service has not been activated'], + ['code' => 'ParForCreditPayInsufficientBalance', 'message' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'http_code' => 400, 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['code' => 'PatRiskRejectForTradeData', 'message' => 'Payment order problem leads to risk control rejection.', 'http_code' => 400, 'description' => 'Payment order problem leads to risk control rejection.'], + ['code' => 'PayAccountBookNotExist', 'message' => 'There is no insufficient account balance in the account book, please retry after recharging.', 'http_code' => 400, 'description' => 'There is no insufficient account balance in the account book, please retry after recharging.'], + ['code' => 'PayAmountLimitExceeded', 'message' => 'Payment limit exceeded, please resubmit.', 'http_code' => 400, 'description' => 'Payment limit exceeded, please resubmit.'], + ['code' => 'PayBeforePayRiskRuleValidateFailed', 'message' => 'The payment was blocked by risk control, and the payment failed.', 'http_code' => 400, 'description' => 'The payment was blocked by risk control, and the payment failed.'], + ['code' => 'PayCounponNotExist', 'message' => 'Counpon does not exist.', 'http_code' => 400, 'description' => 'Counpon does not exist.'], + ['code' => 'PayCouponAmountNotEnough', 'message' => 'Insufficient voucher balance or expired.', 'http_code' => 400, 'description' => 'Insufficient voucher balance or expired.'], + ['code' => 'PayCouponNotMeetConsumptionRule', 'message' => 'The coupon does not meet the conditions for use.', 'http_code' => 400, 'description' => 'The coupon does not meet the conditions for use.'], + ['code' => 'PayCurrencyInconsistency', 'message' => 'Currency mismatch.', 'http_code' => 400, 'description' => 'Currency mismatch.'], + ['code' => 'PayCurrencyNotSupported', 'message' => 'Currency not supported.', 'http_code' => 400, 'description' => 'Currency not supported.'], + ['code' => 'PayforAccountMoneyValidateError', 'message' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.', 'http_code' => 400, 'description' => 'The available amount of your channel partner\'s account is insufficient, please contact your channel partner to recharge in time.'], + ['code' => 'PayForbiddenNoReasonFefund', 'message' => 'Banned five days no reason refund.', 'http_code' => 400, 'description' => 'Banned five days no reason refund.'], + ['code' => 'PayforCreditPayInsufficientBalance', 'message' => 'Insufficient quota, please contact your channel partner to increase the quota.', 'http_code' => 400, 'description' => 'Insufficient quota, please contact your channel partner to increase the quota.'], + ['code' => 'PayHsfTimeoutError', 'message' => 'Call payment system timeout.', 'http_code' => 400, 'description' => 'Call payment system timeout.'], + ['code' => 'PayInsufficientBalance', 'message' => 'Account balance is insufficient, please recharge and try again.', 'http_code' => 400, 'description' => 'Account balance is insufficient, please recharge and try again.'], + ['code' => 'PayInvalidCreditCard', 'message' => 'Invalid credit card.', 'http_code' => 400, 'description' => 'Invalid credit card.'], + ['code' => 'PayInvalidPayMethod', 'message' => 'Illegal payment method.', 'http_code' => 400, 'description' => 'Illegal payment method.'], + ['code' => 'PayMegrePayOrderHasThanOneChagreChannel', 'message' => 'Payment failed, please retry or submit work order feedback.', 'http_code' => 400, 'description' => 'Payment failed, please retry or submit work order feedback.'], + ['code' => 'PayNoCreditCard', 'message' => 'No valid payment method, please check the payment method and try again.', 'http_code' => 400, 'description' => 'No valid payment method, please check the payment method and try again.'], + ['code' => 'PayOrderPayTimeInvalid', 'message' => 'Order effective time is invalid.', 'http_code' => 400, 'description' => 'Order effective time is invalid.'], + ['code' => 'PayPartRefundNotSupport', 'message' => 'Not Capture, no partial refund.', 'http_code' => 400, 'description' => 'Not Capture, no partial refund.'], + ['code' => 'PayPayChannelPayOrderInvalidStatus', 'message' => 'Illegal status of payment order in payment channel.', 'http_code' => 400, 'description' => 'Illegal status of payment order in payment channel.'], + ['code' => 'PayPayChannelPayOrderNotExist', 'message' => 'Payment channel payment order does not exist.', 'http_code' => 400, 'description' => 'Payment channel payment order does not exist.'], + ['code' => 'PayPayerAccountIllegal', 'message' => 'Illegal payment account.', 'http_code' => 400, 'description' => 'Illegal payment account.'], + ['code' => 'PayPayFailedParentRelationchanged', 'message' => 'If the financial custody relationship changes, please void the order and place a new order for payment.', 'http_code' => 400, 'description' => 'If the financial custody relationship changes, please void the order and place a new order for payment.'], + ['code' => 'PayPayForbidUserCoupon', 'message' => 'Coupon prohibited for orders.', 'http_code' => 400, 'description' => 'Coupon prohibited for orders.'], + ['code' => 'PayQueryAvailableAmountFailed', 'message' => 'Failed to query user availability, please try again later.', 'http_code' => 400, 'description' => 'Failed to query user availability, please try again later.'], + ['code' => 'PayQueryAvailableEnduserAmountFailed', 'message' => 'Failed to query the availability of quota direct customer main user, please try again later.', 'http_code' => 400, 'description' => 'Failed to query the availability of quota direct customer main user, please try again later.'], + ['code' => 'PayQueryParentRelationchangedFailed', 'message' => 'The financial custody relationship may change, please refresh and pay again.', 'http_code' => 400, 'description' => 'The financial custody relationship may change, please refresh and pay again.'], + ['code' => 'PayQueryParentRelationshipFailed', 'message' => 'Failed to query current user hosting relationship, please try again later.', 'http_code' => 400, 'description' => 'Failed to query current user hosting relationship, please try again later.'], + ['code' => 'PayQueryPayChangeChannelNotEqual', 'message' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.', 'http_code' => 400, 'description' => 'Multi-order payment channels are inconsistent, please check whether the original order data payment channel is correct.'], + ['code' => 'PayRefundFailed', 'message' => 'Accumulated refund amount exceeds payment order amount.', 'http_code' => 400, 'description' => 'Accumulated refund amount exceeds payment order amount.'], + ['code' => 'PayResellerPayGetUrlError', 'message' => 'Order payment failed, please try again later.', 'http_code' => 400, 'description' => 'Order payment failed, please try again later.'], + ['code' => 'PayRiskRejectForPayerAccount', 'message' => 'Payment account problem leads to risk control rejection.', 'http_code' => 400, 'description' => 'Payment account problem leads to risk control rejection.'], + ['code' => 'PayStoredCardNotExist', 'message' => 'Stored value card does not exist.', 'http_code' => 400, 'description' => 'Stored value card does not exist.'], + ['code' => 'PaySystemError', 'message' => 'Error calling payment system.', 'http_code' => 400, 'description' => 'Error calling payment system'], + ['code' => 'PayTaxCalcFailed', 'message' => 'Failed to get user tax address.', 'http_code' => 400, 'description' => 'Failed to get user tax address.'], + ['code' => 'PayWithholdingAgreementIllegal', 'message' => 'Withholding Agreement Status Illegal.', 'http_code' => 400, 'description' => 'Withholding Agreement Status Illegal.'], + ['code' => 'PendingEffectiveContract', 'message' => 'The contract of the current instance to take effect. Operation is prohibited.', 'http_code' => 400, 'description' => 'The contract of the current instance to take effect. Operation is prohibited.'], + ['code' => 'PlanMaintenanceWindow.Duplicated', 'message' => 'The specified window already exist.', 'http_code' => 400, 'description' => 'Operations window already exists.'], + ['code' => 'PlanMaintenanceWindow.NotFound', 'message' => 'The window was not found. Please confirm whether the windowId exists.', 'http_code' => 400, 'description' => 'The operation and maintenance window is not found, please confirm whether the windowId is correct.'], + ['code' => 'PriceHsfTimeoutError', 'message' => 'Time out when calling the request for quotation interface.', 'http_code' => 400, 'description' => 'Time out when calling the request for quotation interface.'], + ['code' => 'PricePatingConfigError', 'message' => 'Inquiry related goods configuration error.', 'http_code' => 400, 'description' => 'Inquiry related goods configuration error.'], + ['code' => 'PricePricingPlanNotFound', 'message' => 'Pricing plan tree not found.', 'http_code' => 400, 'description' => 'Pricing plan tree not found.'], + ['code' => 'PricePricingPlanResultNotFound', 'message' => 'Pricing plan price result not found.', 'http_code' => 400, 'description' => 'Pricing plan price result not found.'], + ['code' => 'PriceRatingGetRatingpricingPlan', 'message' => 'Obtain a valid pricing plan exception.', 'http_code' => 400, 'description' => 'Obtain a valid pricing plan exception.'], + ['code' => 'PricingPlanResultNotFount', 'message' => 'No pricing plan found, please contact the product or operation classmate.', 'http_code' => 400, 'description' => 'No pricing plan found, please re-select specifications'], + ['code' => 'Processing', 'message' => 'Request is in progress, please try again later.', 'http_code' => 400, 'description' => 'Request is in progress, please try again later.'], + ['code' => 'ProductInstanceReleased', 'message' => 'Instance released.', 'http_code' => 400, 'description' => 'Instance released.'], + ['code' => 'ProductInstanceTypeNotSupported', 'message' => 'The instance type is not supported.', 'http_code' => 400, 'description' => 'The instance type is not supported.'], + ['code' => 'PubKeyAttachedWithInstance', 'message' => 'Public Key Attached With Instance.', 'http_code' => 400, 'description' => 'Key already bound to instance'], + ['code' => 'PubKeyNameExisted', 'message' => 'Public Key Pair Name Existed.', 'http_code' => 400, 'description' => 'Key pair name already exists'], + ['code' => 'PubKeyNameNotExist', 'message' => 'Public Key Pair Name Not Exist.', 'http_code' => 400, 'description' => 'Key pair name does not exist'], + ['code' => 'PublicKeyNotAttachWithInstance', 'message' => 'Public Key Not Attach With Instance.', 'http_code' => 400, 'description' => 'Public key not bound to instance'], + ['code' => 'PurchaseExistRenewchangeProd', 'message' => 'There is a renewal change subscription that has not yet taken effect.', 'http_code' => 400, 'description' => 'There is a renewal change subscription that has not yet taken effect.'], + ['code' => 'PurchaseExistToBeValidProdRuleError', 'message' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.', 'http_code' => 400, 'description' => 'Currently, there are temporary orders that are not in effect, and the upgrade operation cannot be performed.'], + ['code' => 'PurchaseExistToBeValidRenewChangeProdRuleError', 'message' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.', 'http_code' => 400, 'description' => 'Currently, there is an uneffective renewal change subscription, and temporary upgrade operation cannot be performed.'], + ['code' => 'PurchaseExistValidProdRuleError', 'message' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.', 'http_code' => 400, 'description' => 'Currently, there is a temporary order in effect, and operations such as upgrade/downgrade/expansion/pre-transfer cannot be performed.'], + ['code' => 'QuotaExceed.GatewayQosPerNetwork', 'message' => 'The number of gateway qos for the specified Network exceeds the limit.', 'http_code' => 400, 'description' => 'The speed limit of the specified Network network segment exceeds the limit.'], + ['code' => 'QuotaExceed.SecurityGroup', 'message' => 'The maximum number of security groups is reached.', 'http_code' => 400, 'description' => 'The number of security groups exceeds the quota limit.'], + ['code' => 'QuotaExceeded', 'message' => 'Route entry quota exceeded in this route table.', 'http_code' => 400, 'description' => 'The number of route entries in the routing table exceeds the limit.'], + ['code' => 'QuotaExceeded.NetworkPeerCountPerNetwork', 'message' => 'The number of peer connections for the specified Network exceeds the limit.', 'http_code' => 400, 'description' => 'The number of peer connections for the specified Network exceeds the limit.'], + ['code' => 'QuotaExceeded.SecondaryCidrBlock', 'message' => 'The number of Secondary CIDR blocks in the Network exceeds the limit.', 'http_code' => 400, 'description' => 'The number of Secondary CIDR blocks in the Network exceeds the limit.'], + ['code' => 'QuotaExceeded.SnatIp', 'message' => 'Public ip number exceeds quota.', 'http_code' => 400, 'description' => 'The number of public IP addresses exceeds the limit.'], + ['code' => 'RefundRefundInstanceNotFound', 'message' => 'Unable to find instance information.', 'http_code' => 400, 'description' => 'Unable to find instance information.'], + ['code' => 'RefundRefundNoValidProd', 'message' => 'Refund is not available to unsubscribe.', 'http_code' => 400, 'description' => 'Refund is not available to unsubscribe.'], + ['code' => 'RefundRefundParamInvalid', 'message' => 'Abnormal refund parameter.', 'http_code' => 400, 'description' => 'Abnormal refund parameter.'], + ['code' => 'RefundRefundQueryOrderFail', 'message' => 'Failed to query order for refund field.', 'http_code' => 400, 'description' => 'Failed to query order for refund field.'], + ['code' => 'ResourceAlreadyExist.NetworkPeerConnection', 'message' => 'The specified network peer connection already exists.', 'http_code' => 400, 'description' => 'A peering connection between the two networks already exists, please check.'], + ['code' => 'ResourceNotAvailable', 'message' => 'Resource you requested is not available in this node.', 'http_code' => 400, 'description' => 'The specified node does not support VPC.'], + ['code' => 'ResourceNotFound.Ip', 'message' => 'The specified ip is not found.', 'http_code' => 400, 'description' => 'The specified IP address does not exist.'], + ['code' => 'RiskRiskControlRejection', 'message' => 'Risk Control Rejection.', 'http_code' => 400, 'description' => 'Risk Control Rejection.'], + ['code' => 'SaleControl.VerificationFailed', 'message' => 'You did not pass the salecontrol verification.Please contact the product.', 'http_code' => 400, 'description' => 'Failed to pass the sales constraint verification when you create the resource.'], + ['code' => 'SaleControlVerificationFailed', 'message' => 'sales verification failed', 'http_code' => 400, 'description' => 'sales verification failed'], + ['code' => 'SaleControlVerificationFailedBandwidthType', 'message' => 'Bandwidth type sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Bandwidth billing method sales constraint verification failed, please re-select.'], + ['code' => 'SaleControlVerificationFailedCarrier', 'message' => 'The isp failed to verify the sales restriction. Please re-select or contact the product.', 'http_code' => 400, 'description' => 'Operator sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedDiskSpec', 'message' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Cloud disk capacity sales constraint verification failed, please re-match, or contact the product'], + ['code' => 'SaleControlVerificationFailedDiskType', 'message' => 'Cloud disk type sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Cloud disk type sales constraint verification failed, please re-match, or contact the product'], + ['code' => 'SaleControlVerificationFailedInstanceBandwidthType', 'message' => 'Bandwidth type sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Bandwidth billing method sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedInstanceBandwidthValue', 'message' => 'The bandwidth speed limit value sales constraint verification failed, please re-match or contact the product.', 'http_code' => 400, 'description' => 'The bandwidth speed limit value sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedInstanceCpuCore', 'message' => 'cpu core sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'cpu core sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedInstanceDataDiskBlock', 'message' => 'The sales constraint verification of the number of data disks failed, please re-match or contact the product.', 'http_code' => 400, 'description' => 'Cloud disk quantity sales constraint verification failed, please re-match'], + ['code' => 'SaleControlVerificationFailedInstanceDataDiskSpec', 'message' => 'Data disk capacity sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Cloud disk capacity sales constraint verification failed, please re-match'], + ['code' => 'SaleControlVerificationFailedInstanceDataDiskType', 'message' => 'Data disk type sales constraint verification failed, please re-select, or contact the product.', 'http_code' => 400, 'description' => 'Cloud disk type sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedInstanceDistrict', 'message' => 'The regional sales constraint verification failed, please re-match or contact the product.', 'http_code' => 400, 'description' => 'Regional sales constraint verification failed, please re-match'], + ['code' => 'SaleControlVerificationFailedInstanceNetLevel', 'message' => 'The network-level sales constraint verification failed, please re-match or contact the product.', 'http_code' => 400, 'description' => 'Network level sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedInstanceSpec', 'message' => 'Instance specification sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Instance specification sales constraint verification failed, please re-match'], + ['code' => 'SaleControlVerificationFailedInstanceStorageType', 'message' => 'The storage type sales constraint verification failed, please re-select or contact the product.', 'http_code' => 400, 'description' => 'The storage type sales constraint verification failed, please re-select or contact the product.'], + ['code' => 'SaleControlVerificationFailedInstanceSystemDiskSpec', 'message' => 'The system disk capacity sales constraint verification failed, please re-match or contact the product.', 'http_code' => 400, 'description' => 'The system disk capacity sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedInstanceType', 'message' => 'The sales restriction verification of container specifications failed, please re-match or contact the product.', 'http_code' => 400, 'description' => 'The sales restriction verification of container specifications failed, please re-match or contact the product.'], + ['code' => 'SaleControlVerificationFailedRegion', 'message' => 'The node sales constraint verification failed, please re-select or contact the product.', 'http_code' => 400, 'description' => 'Node sales constraint verification failed, please re-select'], + ['code' => 'SaleControlVerificationFailedServerType', 'message' => 'Instance specification sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Instance specification sales constraint verification failed, please re-match, or contact the product'], + ['code' => 'SaleControlVerificationFailedStock', 'message' => 'Inventory sales constraint verification failed, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Inventory sales constraint verification failed, please re-select'], + ['code' => 'SaleNetIpType', 'message' => 'There is a conflict between the input parameters related to the double stack.', 'http_code' => 400, 'description' => 'There is a conflict between the input parameters related to the double stack.'], + ['code' => 'SecondaryCidrBlockInUse', 'message' => 'Cannot operate on Secondary CIDR block while switches are still using it.', 'http_code' => 400, 'description' => 'There are also switches using the additional network segment.'], + ['code' => 'SecondaryCidrBlockOverLapped', 'message' => 'The input Secondary CIDR block overlaps with the existing ones.', 'http_code' => 400, 'description' => 'The entered secondary network segment overlaps with an existing network segment.'], + ['code' => 'SecurityGroupRuleConflict.Duplicated', 'message' => 'The SecurityGroup rule already exists.', 'http_code' => 400, 'description' => 'duplicate security group rules.'], + ['code' => 'Service.NotOpen', 'message' => 'You have not activated the service.Please activate the service first.', 'http_code' => 400, 'description' => 'The service has not been activated yet.'], + ['code' => 'SNAPSHOT_CLONE_DISK_NOT_NULL', 'message' => 'Clone disk exists for this snapshot.', 'http_code' => 400, 'description' => 'Clone disk exists for this snapshot.'], + ['code' => 'Stock.NotEnough', 'message' => 'The inventory of the specified zone is insufficient.Please contact the product.', 'http_code' => 400, 'description' => 'Insufficient resource inventory in the specified zone.'], + ['code' => 'SuperfluousDataDiskInstanceSpec', 'message' => 'Data disk properties cannot be configured for the current specification.', 'http_code' => 400, 'description' => 'Data disk properties cannot be configured for the current specification'], + ['code' => 'SuperfluousImageIdInstanceSpec', 'message' => 'Image properties cannot be configured for the current specification.', 'http_code' => 400, 'description' => 'Image properties cannot be configured for the current specification'], + ['code' => 'SuperfluousPublicIpIdentificationInstanceSpec', 'message' => 'The current specification cannot create a public network card.', 'http_code' => 400, 'description' => 'The current specification cannot create a public network card.'], + ['code' => 'SuperfluousSystemDiskInstanceSpec', 'message' => 'System disk properties cannot be configured for the current specification.', 'http_code' => 400, 'description' => 'System disk properties cannot be configured for the current specification'], + ['code' => 'SwitchNotSupportIpv6', 'message' => 'The specified switch does not support ipv6.', 'http_code' => 400, 'description' => 'The specified switch does not support ipv6.'], + ['code' => 'System.SystemError', 'message' => 'system error.', 'http_code' => 400, 'description' => 'system error.'], + ['code' => 'SystemBusy', 'message' => 'System is busy, please try again later.', 'http_code' => 400, 'description' => 'The system is currently busy, please try again later.'], + ['code' => 'SystemCanRefundCheckFailed', 'message' => 'The business rule check of the cloud product fails, and this order cannot be refunded.', 'http_code' => 400, 'description' => 'The business rule check of the cloud product fails, and this order cannot be refunded.'], + ['code' => 'SystemConcurrentOperate', 'message' => 'Concurrent operation causes failure.', 'http_code' => 400, 'description' => 'Concurrent operation causes failure.'], + ['code' => 'SystemError', 'message' => 'Interface call error, please re-match, or contact the product.', 'http_code' => 400, 'description' => 'Interface call error, please re-select'], + ['code' => 'SystemOtsSystem', 'message' => 'ots storage error.', 'http_code' => 400, 'description' => 'ots storage error.'], + ['code' => 'SystemQueryImmortalError', 'message' => 'Failed to call Juxiange.', 'http_code' => 400, 'description' => 'Failed to call Juxiange.'], + ['code' => 'SystemQueryInstanceInfoFailed', 'message' => 'Failed to find instance information.', 'http_code' => 400, 'description' => 'Failed to find instance information'], + ['code' => 'SystemResellerPayCalRefundUnitError', 'message' => 'Ecological payment channel calculation unsubscribe information error.', 'http_code' => 400, 'description' => 'Ecological payment channel calculation unsubscribe information error.'], + ['code' => 'SystemSaleValidateFailed', 'message' => 'Sales Expression Validation System Error.', 'http_code' => 400, 'description' => 'Sales Expression Validation System Error'], + ['code' => 'SystemTransferDeleteOldResourceFailed', 'message' => 'Failed to delete the transferred instance in the transfer order.', 'http_code' => 400, 'description' => 'Failed to delete the transferred instance in the transfer order.'], + ['code' => 'SystemUnSupportOperationType', 'message' => 'Unsupported operation type.', 'http_code' => 400, 'description' => 'Unsupported operation type.'], + ['code' => 'SystemUseCouponFailed', 'message' => 'Failed to use coupon.', 'http_code' => 400, 'description' => 'Failed to use coupon'], + ['code' => 'SystemUseStoredCardFailed', 'message' => 'Failed to use stored value card.', 'http_code' => 400, 'description' => 'Failed to use stored value card'], + ['code' => 'Target.IncorrectInstanceStatus', 'message' => 'The current status of the instance does not support this operation.', 'http_code' => 403, 'description' => 'The instance is in a state that does not support the current operation.'], + ['code' => 'Throttling.Api', 'message' => 'Request was denied due to region flow control.', 'http_code' => 406, 'description' => 'request triggers node granularity flow control'], + ['code' => 'TradeTradeOrderAfterPayCheckError', 'message' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.', 'http_code' => 400, 'description' => 'You have already paid for the subsequent orders of this instance. The current order has been automatically voided and you cannot pay any more.'], + ['code' => 'UserDisable', 'message' => 'The user has been disabled due to arrears.', 'http_code' => 403, 'description' => 'The user has been disabled due to arrears.'], + ['code' => 'USERNOTFOUND', 'message' => 'The user is not in ens-controller.', 'http_code' => 400, 'description' => 'The current user has not registered with the edge node service or has not passed the user review.'], + ['code' => 'UserStatus.Abnormal', 'message' => 'The user status is abnormal.Please contact the product.', 'http_code' => 400, 'description' => 'The user is in an abnormal state.'], + ['code' => 'VALIDATE.MODULE.FAILED', 'message' => 'Required module is not selected.', 'http_code' => 400, 'description' => 'Required module is not selected.'], + ['code' => 'VolumeBind', 'message' => 'Storage volumes bound to the instance.', 'http_code' => 400, 'description' => 'Storage volumes bound to the instance'], + ['code' => 'VswitchNotMatchIpv6', 'message' => 'The specified switch does not support ipv6.', 'http_code' => 400, 'description' => 'The specified switch does not support ipv6.'], + ['code' => 'InvalidSpecDeploymentsetid', 'message' => 'Deployment sets only support x86 compute instance types.', 'http_code' => 400, 'description' => 'Deployment sets only support x86 compute instance types.'], + ['code' => 'InvalidNetlevelDeploymentsetid', 'message' => 'Deployment sets only support node-level network hierarchies.', 'http_code' => 400, 'description' => 'Deployment sets only support node-level network hierarchies.'], + ['code' => 'BadRequest', 'message' => 'Request param error.', 'http_code' => 400, 'description' => 'Request parameter error'], + ['code' => 'Throttling.Api', 'message' => 'Request was denied due to flow control.', 'http_code' => 400, 'description' => 'request to trigger flow control'], + ['code' => 'LaunchTemplateId.Duplicated', 'message' => 'The specified %s already exist.', 'http_code' => 200, 'description' => 'The specified launch template ID %s already exists.'], + ['code' => 'EnsRegionIdIsMandatory', 'message' => 'The parameter EnsRegionId is mandatory while creating a single node bucket.', 'http_code' => 400, 'description' => 'EnsRegionId is a required parameter when creating a single-node bucket.'], + ['code' => 'DEPLOYMENTSETID_NOTEXISTS', 'message' => 'The specified deployment set does not exist.', 'http_code' => 400, 'description' => 'The specified deployment set does not exist.'], + ['code' => 'DEPLOYMENTSETID_RESTRICTIONS', 'message' => 'Scheduling failed due to deployment set policy restrictions.', 'http_code' => 400, 'description' => 'Scheduling failed due to deployment set policy restrictions'], + ['code' => 'Vpd.NetworkAlreadyInUse', 'message' => 'The network is already in use by another VPD.', 'http_code' => 400, 'description' => 'The specified network is already occupied by another VPD.'], + ['code' => 'Vpd.CidrSegmentInsufficient', 'message' => 'Insufficient CIDR segments are available for VPD in the specified region.', 'http_code' => 400, 'description' => 'The CIDR segment resources available for the VPD of the specified node are insufficient.'], + ['code' => 'Vpd.DependencyViolation', 'message' => 'The VPD cannot be deleted because it has dependent resources.', 'http_code' => 400, 'description' => 'VPD has dependent resources and cannot be deleted directly.'], + ['code' => 'Vpd.NotFound', 'message' => 'The VPD is not found.', 'http_code' => 400, 'description' => 'The specified VPD does not exist.'], + ['code' => 'Region.NotMatch', 'message' => 'The specified EnsRegionId does not match other input parameters.', 'http_code' => 400, 'description' => 'The specified EnsRegionId does not match the other input parameters. The EnsRegionId must be consistent with the region to which other parameters in the request belong. Please check and send the request again.'], + ['code' => 'QuotaExceeded', 'message' => 'The number of resources has reached the quota limit.', 'http_code' => 400, 'description' => 'The number of resources has reached the quota limit.'], + ['code' => 'PREORDER_FAILED', 'message' => 'Advance Order Failed.', 'http_code' => 400, 'description' => 'Advance Order Failed.'], + ['code' => 'LoadBalancerTypeNotSupported', 'message' => 'The specified load balancer type is not supported.', 'http_code' => 400, 'description' => 'This operation is not supported by the current load balancing class.'], + ['code' => 'OperationDenied.IpTypeRealServerExists', 'message' => 'The load balancer type cannot be modified to normal when IP type real servers exist in the server group.', 'http_code' => 400, 'description' => 'When converting to normal LB, RS of IP type exists in the backend server group.'], + ['code' => 'OperationDenied.Layer7ListenerExists', 'message' => 'The load balancer type cannot be modified when HTTP or HTTPS listeners exist.', 'http_code' => 400, 'description' => 'When converting to converged LB, there are seven layers (HTTP/HTTPS) listening on LB.'], + ['code' => 'IncorrectLoadBalancerStatus', 'message' => 'The load balancer status is invalid.', 'http_code' => 400, 'description' => 'the status of the load balancing instance is incorrect.'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeServcieSchedule'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'JoinSecurityGroup'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySnapshotAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCluster'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegionIsps'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSnapshots'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDGs'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopSnatIpForSnatEntry'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleasePrePaidInstance'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateApplication'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDisk'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNatGateway'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetwork'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateMountTarget'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBucket'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHaVip'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReInitDisk'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddNetworkInterfaceToInstance'], + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitializeENSECKServiceRole'], + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadAICPublicKey'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RevokeSecurityGroupEgress'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopEpnInstance'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsNetLevel'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworkAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSnatAttribute'], + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'JoinPublicIpsToEpnInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopInstance'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOssUsageData'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMountTargets'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AccosicateNetworkAcl'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachEnsInstances'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyLoadBalancerAttribute'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnBandwitdhByInternetChargeType'], + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemovePublicIpsFromEpnInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RevokeSecurityGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterUserKubeconfig'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeForwardTableEntries'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpgradeApplication'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstances'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveInstanceSDG'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteFileSystem'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RescaleDeviceService'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEnsService'], + ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportBillDetailData'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteObject'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeImageInfos'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterNodes'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssignPrivateIpAddresses'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerAttribute'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyNetworkAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSnapshot'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteKeyPairs'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AuthorizeSecurityGroup'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSecurityGroup'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PutBucketAcl'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeForwardEntryAttribute'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSnatEntry'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBuckets'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStorageVolume'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSnatEntry'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddons'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyVSwitchAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSDG'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsEipAddresses'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSecurityGroups'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RescaleApplication'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeElbAvailableResourceInfo'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResizeDisk'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CopySDG'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkInterfaces'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchEventMigrateInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserBandWidthData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RunInstances'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSDG'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartEpnInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerUDPListener'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnBandWidthData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMeasurementData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVSwitch'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceNetworkAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerStatus'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEpnInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEip'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySecurityGroupAttribute'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartSnatIpForSnatEntry'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RebootARMServerInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDG'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RenewARMServerInstance'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHaVips'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNatGateway'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteLoadBalancerListener'], + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAvailableResource'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySnatEntry'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RebootAICInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyClusterNodePool'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeARMServerInstances'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateARMServerInstances'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetwork'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PutBucketLifecycle'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpgradeAICInstanceImage'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ScaleClusterNodePool'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPListener'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListProductAbilities'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveBackendServers'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVSwitches'], + ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportImage'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceSpec'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachInstanceSDG'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetAICInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAICImages'], + ['threshold' => '25', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDisk'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCluster'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceTypes'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnAssociateEnsEipAddress'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RebootInstance'], + ['threshold' => '5', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePrePaidInstanceStock'], + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDGSharedDisks'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRegionIdIpv6Info'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteForwardEntry'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeServerLoadBalancerMonitor'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterKubeConfig'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ShareAICImage'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeStorageGateway'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeStorageVolume'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceChargeType'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceAutoRenewAttribute'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeClusterAddons'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeApplication'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PreloadRegionSDG'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRegionIdResource'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePrice'], + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAICPublicKey'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallClusterAddons'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeClusterNodePools'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCloudDiskAvailableResourceInfo'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataDownloadURL'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeploySDG'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteClusterNodePool'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRouteTables'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListApplications'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRouteEntryList'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeployInstanceSDG'], + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBandWithdChargeType'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSnatTableEntries'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddBackendServers'], + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ManageAICLogin'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkAclEntry'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteImage'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSelfImages'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeReservedResource'], + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCreatePrePaidInstanceResult'], + ['threshold' => '75', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDisks'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterAddonInstances'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAddon'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancer'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNASAvailableResourceInfo'], + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAICPublicKeys'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateClassicNetwork'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBucketAcl'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveSDG'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'JoinVSwitchesToEpnInstance'], + ['threshold' => '250', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PrepareUpload'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVSwitch'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceVncUrl'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachInstanceSDG'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDiskIopsList'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RecoverAICInstance'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeImages'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AuthorizeSecurityGroupEgress'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnInstanceAttribute'], + ['threshold' => '101', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseInstance'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportImage'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancers'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeServerLoadBalancerListenMonitor'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyForwardEntry'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateEnsEipAddress'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMountTarget'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PushApplicationData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RenewInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsRegions'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateClusterNodePool'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceMonitorData'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEnsRouteEntry'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseAICInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateFileSystem'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkAcl'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataPushResult'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSnapshot'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LeaveSecurityGroup'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnassignPrivateIpAddresses'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceAutoRenewAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStorageGateway'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSecurityGroupPermissions'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportKeyPair'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoadBalancerTCPListener'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnInstallClusterAddons'], + ['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClustersV1'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEipInstance'], + ['threshold' => '1', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateImage'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEpnInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHaVips'], + ['threshold' => '150', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceSDGStatus'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceBandwidthDetail'], + ['threshold' => '10', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterAddon'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachDisk'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListObjects'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyImageAttribute'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyEnsRouteEntry'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNatGateways'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFileSystems'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PutBucket'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetDisk'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReinitInstance'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBucketLifecycle'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBandwitdhByInternetChargeType'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSecurityGroup'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchEventRedeployInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteClusterNodes'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SaveSDG'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCloudDiskTypes'], + ['threshold' => '90', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnInstances'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartLoadBalancerListener'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopLoadBalancerListener'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveSDGs'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataDistResult'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CopySnapshot'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EventRedeployInstance'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVSwitchAttributes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeClusterDetail'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEnsRouteEntry'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateForwardEntry'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleasePostPaidInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnassociateNetworkAcl'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerSpec'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateStorageGateway'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEpnMeasurementData'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworkAcls'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RollbackApplication'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddSnatIpForSnatEntry'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyPrepayInstanceSpec'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkAcl'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportMeasurementData'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateStorageVolume'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSnatIpForSnatEntry'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnmountInstanceSDG'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteApplication'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeKeyPairs'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateHaVip'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkAclEntry'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyEnsEipAddressAttribute'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsResourceUsage'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeExportImageStatus'], + ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAICPublicKeyDeliveries'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetBackendServers'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachNetworkInterface'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeExportImageInfo'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSecondaryPublicIpAddresses'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DistApplicationData'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSecurityGroupAttribute'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyImageSharePermission'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDeviceService'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerListenMonitor'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerListeners'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsNetSaleDistrict'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSDGDeploymentStatus'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceBootConfiguration'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeImageSharePermission'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyEpnInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBucketLifecycle'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseARMServerInstance'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEnsNetDistrict'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterAddonInstance'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworks'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOssStorageAndAccByBuckets'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSecurityGroupPermissions'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RunServiceSchedule'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkInterface'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceBootConfiguration'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MountInstanceSDG'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveVSwitchesFromEpnInstance'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeNetworkInterfaces'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachNetworkInterface'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyNetworkInterfaceAttribute'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnloadRegionSDG'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDisk'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHistoryEvents'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnassociateHaVip'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EventMigrateInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateKeyPair'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHaVipAttribute'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAvailableResourceInfo'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyFileSystem'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBucketInfo'], + ], + ], + 'ram' => [ + 'productCode' => 'ENS', + 'productName' => 'Edge Node Service', + 'ramCodes' => ['ens'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'ImportImage', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ImportImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeInstanceSDGStatus', + 'description' => '', 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '200640', - 'abilityTreeNodes' => [ - 'FEATUREensGMWJSM', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceSDGStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + [ + 'apiName' => 'UnassignPrivateIpAddresses', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnassignPrivateIpAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '30', - 'default' => '10', + ], + [ + 'apiName' => 'DeleteNetworkInterfaces', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DeleteNetworkInterfaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RouteTableId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the route table.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vtb-5p1cifr72di****', + ], + [ + 'apiName' => 'CreateCluster', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'NetworkId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'n-257gqcdfvx6n****', + ], + [ + 'apiName' => 'ReleaseARMServerInstance', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleaseARMServerInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EnsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ENS node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-xian-unicom', + ], + [ + 'apiName' => 'RebootAICInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RebootAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EnsRegionIds', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of edge nodes. You can specify 1 to 100 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of edge nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu-telecom-4', - ], - 'required' => false, - 'maxItems' => 100, + ], + [ + 'apiName' => 'DetachDisk', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:DetachDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'description' => 'The SNAT type.'."\n" - ."\n" - .'* FullCone: full cone NAT.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FullCone', + ], + [ + 'apiName' => 'CreateARMServerInstances', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateARMServerInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'AssociateType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource with which the route table is associated. Valid values:'."\n" - ."\n" - .'* **VSwitch**'."\n" - .'* **Gateway**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Gateway', + ], + [ + 'apiName' => 'GetOssStorageAndAccByBuckets', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:GetOssStorageAndAccByBuckets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RouteTableName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the route table.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tftest-nat04', - 'maxLength' => 128, + ], + [ + 'apiName' => 'RunServiceSchedule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RunServiceSchedule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => 'DC51ACB0-460D-5CA0-BA2D-E1F3B5547AE9', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'RouteTables' => [ - 'description' => 'The information about the route tables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the route table.'."\n", - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the route table 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' => '2024-03-08T08:35:18Z', - ], - 'Status' => [ - 'description' => 'The status. Valid values:'."\n" - ."\n" - .'* Available: The route table is available.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'RouteTableId' => [ - 'description' => 'The ID of the route table.'."\n", - 'type' => 'string', - 'example' => 'rt-5xde2bit9****', - ], - 'NetworkId' => [ - 'description' => 'The ID of the network.'."\n", - 'type' => 'string', - 'example' => 'n-5v9lufsezl4g****', - ], - 'VSwitchIds' => [ - 'description' => 'The vSwitches that are associated with the route table.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch that is associated with the route table.'."\n", - 'type' => 'string', - 'example' => 'vsw-5f649tc4****', - ], - ], - 'EnsRegionId' => [ - 'description' => 'The ID of the edge node.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-15', - ], - 'Type' => [ - 'description' => 'The type of the route table. Examples:'."\n" - ."\n" - .'* Custom: custom route table.'."\n" - .'* System: system route table.'."\n", - 'type' => 'string', - 'example' => 'System', - ], - 'RouteTableName' => [ - 'description' => 'The name of the route table that you want to query.'."\n" - ."\n" - .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'example' => 'test-tf-vtb7', - ], - 'AssociateType' => [ - 'description' => 'The type of the resource with which the route table is associated. Valid values:'."\n" - ."\n" - .'* **VSwitch**'."\n" - .'* **Gateway**'."\n", - 'type' => 'string', - 'example' => 'VSwitch', - ], - 'Description' => [ - 'description' => 'The description.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'IsDefaultGatewayRouteTable' => [ - 'description' => 'Specifies whether it is the default gateway route table.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], + [ + 'apiName' => 'UpgradeAICInstanceImage', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UpgradeAICInstanceImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', + [ + 'apiName' => 'CreateNetworkInterface', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetworkInterface', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateClusterCertificate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UpdateClusterCertificate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'CreateForwardEntry', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateForwardEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DescribeARMServerInstances', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeARMServerInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DeleteCluster', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC51ACB0-460D-5CA0-BA2D-E1F3B5547AE9\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"PageSize\\": 30,\\n \\"RouteTables\\": [\\n {\\n \\"CreationTime\\": \\"2024-03-08T08:35:18Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"RouteTableId\\": \\"rt-5xde2bit9****\\",\\n \\"NetworkId\\": \\"n-5v9lufsezl4g****\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-5f649tc4****\\"\\n ],\\n \\"EnsRegionId\\": \\"cn-beijing-15\\",\\n \\"Type\\": \\"System\\",\\n \\"RouteTableName\\": \\"test-tf-vtb7\\",\\n \\"AssociateType\\": \\"VSwitch\\",\\n \\"Description\\": \\"test\\",\\n \\"IsDefaultGatewayRouteTable\\": false\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeEnsRouteTables', - ], - 'DeleteHaVips' => [ - 'summary' => 'Deletes a high-availability VIP (HAVIP).', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'RenewInstance', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:RenewInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeAvailableResource', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeAvailableResource', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeCluster', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '203967', - 'abilityTreeNodes' => [ - 'FEATUREensVS72SQ', + [ + 'apiName' => 'CreateFileSystem', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateFileSystem', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'HaVipIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '高可用VIP实例ID集合。', - 'description' => 'The IDs of high-availability virtual IP addresses (HAVIPs).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the HAVIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'havpid-id', - ], - 'required' => true, - 'maxItems' => 100, + [ + 'apiName' => 'CreateApplication', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The information returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', - ], - ], + [ + 'apiName' => 'SetLoadBalancerUDPListenerAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerUDPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'PrepareUpload', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:PrepareUpload', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + [ + 'apiName' => 'SetLoadBalancerHTTPListenerAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'ModifySecurityGroupAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifySecurityGroupAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeInstanceSpec', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\"\\n}","type":"json"}]', - 'title' => 'DeleteHaVips', - ], - 'ModifySnatEntry' => [ - 'summary' => 'Modifies a specified SNAT entry.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeEpnInstanceAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnInstanceAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'PutBucketAcl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:PutBucketAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DeleteEpnInstance', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '221946', - 'abilityTreeNodes' => [ - 'FEATUREensHCNR8B', + [ + 'apiName' => 'CreateHaVip', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateHaVips', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'tenant', ], - 'parameters' => [ - [ - 'name' => 'SnatEntryId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'snat-5tfjp36fsrb36zs36faj0****', + [ + 'apiName' => 'ListAICPublicKeys', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ListAICPublicKeys', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SnatEntryName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test0', - 'maxLength' => 128, + ], + [ + 'apiName' => 'RemoveBackendServers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'IspAffinity', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + ], + [ + 'apiName' => 'ModifyEnsRouteEntry', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyEnsRouteEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EipAffinity', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable IP affinity. Default value: true. Valid values:'."\n" - ."\n" - .'* **false**'."\n" - .'* **true**'."\n" - ."\n" - .'> Description After you enable IP affinity, if multiple EIPs are associated with an SNAT entry, one client uses the same EIP to for communication. If IP affinity is disabled, the client uses a random EIP for communication.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + ], + [ + 'apiName' => 'DescribeEnsNetDistrict', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsNetDistrict', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SnatIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'Separate multiple EIPs in the SNAT entry with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '120.XXX.XXX.71', + ], + [ + 'apiName' => 'DescribeSecondaryPublicIpAddresses', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSecondaryPublicIpAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - ], + [ + 'apiName' => 'CreateSecurityGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', + [ + 'apiName' => 'DeleteBucket', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteBucket', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', + ], + ], + [ + 'apiName' => 'CreateNetwork', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetwork', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidSnatEntryId.NotFound', - 'errorMessage' => 'The specified snatEntry is not found.', + ], + ], + [ + 'apiName' => 'ModifySnapshotAttribute', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:ModifySnapshotAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', + ], + ], + [ + 'apiName' => 'DescribeInstanceVncUrl', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceVncUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'IncorretSnatEntryStatus', - 'errorMessage' => 'Snat entry status blocked this operation.', + ], + ], + [ + 'apiName' => 'DescribeBandWithdChargeType', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeBandWithdChargeType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Forbidden.SnatIpUsedInDnat', - 'errorMessage' => 'The snatIp is already in use in the DNAT rule.', + ], + ], + [ + 'apiName' => 'ReInitDisk', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ReInitDisk', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], ], - [ - 'errorCode' => 'InvalidSnatIp.NotFound', - 'errorMessage' => 'Specified SnatIp does not found on the NAT Gateway.', + ], + ], + [ + 'apiName' => 'GetBucketAcl', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:GetBucketAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'QuotaExceeded.SnatIp', - 'errorMessage' => 'Public ip number exceeds quota.', + ], + ], + [ + 'apiName' => 'AddSnatIpForSnatEntry', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:AddSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DescribeEnsResourceUsage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsResourceUsage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'AccosicateNetworkAcl', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AccosicateNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'RevokeSecurityGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RevokeSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', - 'title' => 'ModifySnatEntry', - ], - 'DescribeVSwitchAttributes' => [ - 'summary' => 'Call the DescribeVSwitchAttributes interface to query the configuration of a specified VSwitch.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'ModifyImageAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyImageAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'ModifyPrepayInstanceSpec', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyPrepayInstanceSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeMeasurementData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeMeasurementData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeDisks', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '255249', - 'abilityTreeNodes' => [ - 'FEATUREensD2JHRI', + 'ramAction' => [ + 'action' => 'ens:DescribeDisks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the VSwitch.', - 'type' => 'string', - 'required' => true, - 'example' => 'vsw-5****', + [ + 'apiName' => 'ModifyForwardEntry', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyForwardEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => 'C0003****2A8', - ], - 'EnsRegionId' => [ - 'description' => 'The ENS node ID.', - 'type' => 'string', - 'example' => 'cn-xian-unicom', - ], - 'NetworkId' => [ - 'description' => 'The network ID.', - 'type' => 'string', - 'example' => 'n-257gqcdfvx6n****', - ], - 'VSwitchName' => [ - 'description' => 'The name of the VSwitch.', - 'type' => 'string', - 'example' => 'Test-switch', - ], - 'CidrBlock' => [ - 'description' => 'The IPv4 CIDR block of the network.', - 'type' => 'string', - 'example' => '10.0.0.0/24', - ], - 'Status' => [ - 'description' => 'The status of the VSwitch, as follows:'."\n" - ."\n" - .'- Pending'."\n" - .'- Available'."\n" - .'- Releasing', - 'type' => 'string', - 'example' => 'Available', - ], - 'Description' => [ - 'description' => 'The description of the VSwitch.', - 'type' => 'string', - 'example' => 'This is my vswitch.', - ], - 'CreatedTime' => [ - 'description' => 'The creation time, in UTC format (yyyy-MM-ddTHH:mm:ssZ).', - 'type' => 'string', - 'example' => '2019-06-01T00:00:00Z', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'A list of instance IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The instance ID.', - 'type' => 'string', - 'example' => 'i-5****4evfn', - ], - ], - ], - ], - 'NetworkInterfaceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NetworkInterfaceId' => [ - 'description' => 'A list of elastic network interface IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The elastic network interface ID.', - 'type' => 'string', - 'example' => 'eni-5****yfjm', - ], - ], - ], - ], - 'LoadBalancerIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'A list of load balancer instance IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The load balancer instance ID.', - 'type' => 'string', - 'example' => 'lb-5****', - ], - ], - ], - ], - 'NatGatewayIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NatGatewayId' => [ - 'description' => 'A list of NAT gateway IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The NAT gateway ID.', - 'type' => 'string', - 'example' => 'nat-5****', - ], - ], - ], - ], - 'HaVipIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HaVipId' => [ - 'description' => 'A list of high-availability VIP instance IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The high-availability VIP instance ID.', - 'type' => 'string', - 'example' => 'havip-5****', - ], - ], - ], - ], - 'VSwitchId' => [ - 'description' => 'The ID of the VSwitch.', - 'type' => 'string', - 'example' => 'vsw-5****', - ], - 'AvailableIpAddressCount' => [ - 'description' => 'The number of available IP addresses in the VSwitch.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '253', - ], - ], + [ + 'apiName' => 'DescribeEnsRegionIdIpv6Info', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRegionIdIpv6Info', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', + [ + 'apiName' => 'DescribeEnsEipAddresses', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsEipAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'Specified virtual switch does not exist.', + ], + ], + [ + 'apiName' => 'DescribeInstanceMonitorData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceMonitorData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DeleteClusterNodes', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteClusterNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DistApplicationData', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:DistApplicationData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'CreateImage', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003****2A8\\",\\n \\"EnsRegionId\\": \\"cn-xian-unicom\\",\\n \\"NetworkId\\": \\"n-257gqcdfvx6n****\\",\\n \\"VSwitchName\\": \\"Test-switch\\",\\n \\"CidrBlock\\": \\"10.0.0.0/24\\",\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"This is my vswitch.\\",\\n \\"CreatedTime\\": \\"2019-06-01T00:00:00Z\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"i-5****4evfn\\"\\n ]\\n },\\n \\"NetworkInterfaceIds\\": {\\n \\"NetworkInterfaceId\\": [\\n \\"eni-5****yfjm\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-5****\\"\\n ]\\n },\\n \\"NatGatewayIds\\": {\\n \\"NatGatewayId\\": [\\n \\"nat-5****\\"\\n ]\\n },\\n \\"HaVipIds\\": {\\n \\"HaVipId\\": [\\n \\"havip-5****\\"\\n ]\\n },\\n \\"VSwitchId\\": \\"vsw-5****\\",\\n \\"AvailableIpAddressCount\\": 253\\n}","type":"json"}]', - 'title' => 'Query the Configuration of a VSwitch', - 'translator' => 'machine', - ], - 'ModifyEnsRouteEntry' => [ - 'summary' => 'Modifies the name and description of a custom route.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeForwardTableEntries', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeForwardTableEntries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'JoinPublicIpsToEpnInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:JoinPublicIpsToEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeEpnBandwitdhByInternetChargeType', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnBandwitdhByInternetChargeType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ModifyNetworkInterfaceAttribute', + 'description' => '', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '255297', - 'abilityTreeNodes' => [ - 'FEATUREensGMWJSM', + 'ramAction' => [ + 'action' => 'ens:ModifyNetworkInterfaceAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RouteEntryId', - 'in' => 'query', - 'schema' => [ - 'title' => '要创建自定义路由条目的路由表ID。', - 'description' => 'The ID of the custom route.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'rte-5****', + [ + 'apiName' => 'DeleteNetworkAclEntry', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DeleteNetworkAclEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RouteEntryName', - 'in' => 'query', - 'schema' => [ - 'title' => '要创建的自定义路由条目的名称。', - 'description' => 'The name of the route.'."\n" - ."\n" - .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - 'maxLength' => 128, - 'minLength' => 1, + ], + [ + 'apiName' => 'StartSnatIpForSnatEntry', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:StartSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'title' => '自定义路由条目的描述信息。', - 'description' => 'The description of the route entry. The description must be 1 to 256 characters in length and cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - 'maxLength' => 256, - 'minLength' => 1, + ], + [ + 'apiName' => 'DescribeCreatePrePaidInstanceResult', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeCreatePrePaidInstanceResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => 'C0003E8B-B930-4F59-ADC0-0E209A9012A8', - ], - ], + [ + 'apiName' => 'ListObjects', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListObjects', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', + [ + 'apiName' => 'CreateEipInstance', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEipInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', + ], + ], + [ + 'apiName' => 'StartEpnInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StartEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidRouteEntryId.NotFound', - 'errorMessage' => 'Specified RouteEntryId does not exist.', + ], + ], + [ + 'apiName' => 'DescribeExportImageStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeExportImageStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidRouteEntryType.NotSupported', - 'errorMessage' => 'The specified route type does not support this operation.', + ], + ], + [ + 'apiName' => 'DescribeNetworkAcls', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworkAcls', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DeploySDG', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:DeploySDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'ImportKeyPair', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ImportKeyPair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeNatGateways', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNatGateways', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}","type":"json"}]', - 'title' => 'ModifyEnsRouteEntry', - ], - 'ListProductAbilities' => [ - 'summary' => 'Lists all service capabilities.', - 'methods' => [ - 'get', + [ + 'apiName' => 'DeleteSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DeleteSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'ModifyEnsEipAddressAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyEnsEipAddressAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeEnsNetSaleDistrict', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsNetSaleDistrict', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '260010', - 'abilityTreeNodes' => [ - 'FEATUREensJVO8RM', + [ + 'apiName' => 'ManageAICLogin', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ManageAICLogin', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'xxxxx-75ED-422E-A022-7121FA18C968', - ], - 'ProductAbilities' => [ - 'description' => 'Products supported by the edge node.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The product supported by the edge node.'."\n", - 'type' => 'string', - 'example' => 'eip', - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'DeleteImage', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteImage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Image', 'arn' => 'acs:ens::{#accountId}:image/{#ImageId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + [ + 'apiName' => 'ListApplications', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ListApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'AttachInstanceSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:AttachInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxxx-75ED-422E-A022-7121FA18C968\\",\\n \\"ProductAbilities\\": [\\n \\"eip\\"\\n ]\\n}","type":"json"}]', - 'title' => 'ListProductAbilities', - ], - 'DescribeInstanceBootConfiguration' => [ - 'summary' => 'Queries the boot configuration of a heterogeneous PC Farm bare metal instance.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'CreateSecurityGroupPermissions', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSecurityGroupPermissions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'CreateNetworkAclEntry', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetworkAclEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'AddNetworkInterfaceToInstance', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:AddNetworkInterfaceToInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensPPKHPZ', + [ + 'apiName' => 'InitializeENSECKServiceRole', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:InitializeENSECKServiceRole', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-****', + [ + 'apiName' => 'AssociateEnsEipAddress', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AssociateEnsEipAddress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'BootType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The startup type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pxe', + ], + [ + 'apiName' => 'DeleteStorageGateway', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteStorageGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'BootSet', - 'in' => 'query', - 'schema' => [ - 'description' => 'The startup method.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'legacy', + ], + [ + 'apiName' => 'DescribeEnsRouteTables', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRouteTables', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DiskSet', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the startup depends on the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', + ], + [ + 'apiName' => 'CopySDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:CopySDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], - 'Instances' => [ - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'BootType' => [ - 'description' => 'The startup type.'."\n", - 'type' => 'string', - 'example' => 'disk', - ], - 'DiskSet' => [ - 'description' => 'Specifies whether the startup depends on the disk.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'BootSet' => [ - 'description' => 'The startup method.'."\n", - 'type' => 'string', - 'example' => 'legacy', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-****', - ], - ], - ], - ], + [ + 'apiName' => 'InstallClusterAddons', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:InstallClusterAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InstanceNotFound', - 'errorMessage' => 'Instance not found, please check the InstanceId.', + [ + 'apiName' => 'JoinVSwitchesToEpnInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:JoinVSwitchesToEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Parameter.Invalid', - 'errorMessage' => 'The parameter is invalid. Please check your parameters and try it again.', + ], + ], + [ + 'apiName' => 'DeleteVSwitch', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteVSwitch', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + ], + [ + 'apiName' => 'DescribeStorageGateway', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeStorageGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidInstanceType.NotSupported', - 'errorMessage' => 'The specified InstanceType is not Supported.', + ], + ], + [ + 'apiName' => 'DescribeHaVips', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeHaVips', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'SaveSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:SaveSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'StopInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StopInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeServerLoadBalancerMonitor', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeServerLoadBalancerMonitor', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + [ + 'apiName' => 'DescribeSnapshots', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSnapshots', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\",\\n \\"Instances\\": {\\n \\"BootType\\": \\"disk\\",\\n \\"DiskSet\\": \\"off\\",\\n \\"BootSet\\": \\"legacy\\",\\n \\"InstanceId\\": \\"i-****\\"\\n }\\n}","type":"json"}]', - 'title' => 'DescribeInstanceBootConfiguration', - 'description' => 'Queries the boot configuration of a heterogeneous PC Farm bare metal instance.'."\n", - ], - 'ImportImage' => [ - 'summary' => 'Call ImportImage to import your image file to the cloud server.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetOssUsageData', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:GetOssUsageData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DeleteStorageVolume', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteStorageVolume', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UntagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '173495', - 'abilityTreeNodes' => [ - 'FEATUREensU96TR9', + [ + 'apiName' => 'ModifyNetworkAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyNetworkAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像名称。长度为[2, 128]个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。', - 'description' => 'Image name. The length should be [2, 128] English or Chinese characters. It must start with a letter (uppercase or lowercase) or a Chinese character, and cannot start with http:// or https://. It can contain numbers, colons (:), underscores (_), or hyphens (-).', - 'type' => 'string', - 'required' => true, - 'example' => '镜像名称', + [ + 'apiName' => 'StopSnatIpForSnatEntry', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:StopSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ComputeType', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像类型'."\n" - .'ens_vm'."\0".':ens虚机镜像(默认)', - 'description' => '`Image Type`'."\n" - .'ens_vm: ens virtual machine image (default)', - 'type' => 'string', - 'required' => true, - 'example' => 'ens_vm', - 'enum' => [ - 'ens_vm', - ], + ], + [ + 'apiName' => 'RescaleApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RescaleApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OSSRegion', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像所在Region,暂时只支持cn-beijing', - 'description' => 'The Region where the image is located. Currently, only cn-beijing is supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - 'enum' => [], + ], + [ + 'apiName' => 'DescribeLoadBalancerHTTPSListenerAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OSSBucket', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像文件所在的OSS Bucket。', - 'description' => 'The OSS Bucket where the image file is located.', - 'type' => 'string', - 'required' => false, - 'example' => 'tmp-hybrid', + ], + [ + 'apiName' => 'ShareAICImage', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ShareAICImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OSSObject', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像文件名。', - 'description' => 'The name of the image file.', - 'type' => 'string', - 'required' => false, - 'example' => 'image-test', + ], + [ + 'apiName' => 'BatchEventMigrateInstance', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:BatchEventMigrateInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OSType', - 'in' => 'query', - 'schema' => [ - 'title' => '操作系统平台类型。取值范围:'."\n" - .'● windows。'."\n" - .'● linux。'."\n" - .'暂时只支持:linux。', - 'description' => 'Operating system platform type. Allowed values:'."\n" - ."\n" - .'- windows.'."\n" - .'- linux.'."\n" - ."\n" - .'Currently, only linux is supported.', - 'type' => 'string', - 'required' => true, - 'example' => 'linux', - 'enum' => [ - 'linux', - 'windows', - ], + ], + [ + 'apiName' => 'DeleteBucketLifecycle', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteBucketLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Platform', - 'in' => 'query', - 'schema' => [ - 'title' => '操作系统发行版。取值范围:'."\n" - .'* centos'."\n" - .'* ubuntu', - 'description' => 'Operating system distribution. Allowed values:'."\n" - .'* centos'."\n" - .'* ubuntu', - 'type' => 'string', - 'required' => false, - 'example' => 'centos', - 'enum' => [], + ], + [ + 'apiName' => 'ListAICPublicKeyDeliveries', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:ListAICPublicKeyDeliveries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ImageFormat', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像格式。取值范围:'."\n" - .'● QCOW2。'."\n" - .'只支持QCOW2。', - 'description' => 'Image format. Allowed values:
'."\n" - .'qcow2.
'."\n" - .'Currently, only qcow2 is supported.', - 'type' => 'string', - 'required' => true, - 'example' => 'qcow2', - 'enum' => [ - 'qcow2', - 'raw', - ], + ], + [ + 'apiName' => 'DescribeSelfImages', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSelfImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Architecture', - 'in' => 'query', - 'schema' => [ - 'title' => '系统架构。取值范围:'."\n" - .'● x86_64。'."\n" - .'现只支持:x86_64。', - 'description' => 'System architecture. Allowed values:
'."\n" - ."\n" - .'- x86_64.
'."\n" - ."\n" - .'Currently, only x86_64 is supported.', - 'type' => 'string', - 'required' => true, - 'example' => 'x86_64', - 'enum' => [ - 'x86_64', - ], + ], + [ + 'apiName' => 'RebootARMServerInstance', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:RebootARMServerInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OSVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'Operating system distribution version', - 'type' => 'string', - 'required' => false, - 'example' => '6.8', + ], + [ + 'apiName' => 'DeleteNetworkPeerConnection', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteNetworkPeerConnection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DiskDeviceMapping', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'List of custom image information being created.', - 'type' => 'array', - 'items' => [ - 'description' => 'List of custom image information being created.', - 'type' => 'object', - 'properties' => [ - 'OSSRegion' => [ - 'description' => 'The Region where the image is located.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - 'OSSBucket' => [ - 'description' => 'The OSS Bucket where the image is stored.', - 'type' => 'string', - 'required' => false, - 'example' => 'www-cn', - ], - 'OSSObject' => [ - 'description' => 'The filename (key) of the image file after it is uploaded to the OSS Bucket.', - 'type' => 'string', - 'required' => false, - 'example' => 'image-bucket', - ], - ], - 'required' => false, - ], - 'required' => false, + ], + [ + 'apiName' => 'DescribeInstanceBandwidthDetail', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceBandwidthDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TargetOSSRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The target OSS region where the image will be stored.
'."\n" - ."\n" - .'> Currently, only cn-beijing and ap-southeast-1 are supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - 'enum' => [ - 'cn-beijing', - 'ap-southeast-1', - ], + ], + [ + 'apiName' => 'DescribeClustersV1', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:DescribeClustersV1', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'LicenseType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'default' => 'Aliyun', - 'enum' => [ - 'Aliyun', - 'BYOL', - ], + ], + [ + 'apiName' => 'ResizeDisk', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ResizeDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response schema', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'ImageId' => [ - 'description' => 'Image ID.', - 'type' => 'string', - 'example' => 'm-5wn1dh*******b48f440ntvad', - ], - ], + [ + 'apiName' => 'DescribeInstanceTypes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + [ + 'apiName' => 'ListAddons', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ListAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'ResetAICInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ResetAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ImageId\\": \\"m-5wn1dh*******b48f440ntvad\\"\\n}","type":"json"}]', - 'title' => 'Import Image', - 'translator' => 'machine', - ], - 'DescribeForwardEntryAttribute' => [ - 'summary' => 'You can call the DescribeForwardEntryAttribute operation to query the details of a DNAT rule.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DeleteSnatEntry', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DeleteEnsRouteEntry', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteEnsRouteEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'PutBucketLifecycle', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:PutBucketLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeVSwitchAttributes', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', + 'ramAction' => [ + 'action' => 'ens:DescribeVSwitchAttributes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'ForwardEntryId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the DNAT entry.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'fwd-5tfi6f0rutmd00xrhkag7****', + [ + 'apiName' => 'DescribeReservedResource', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeReservedResource', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6666C5A5-75ED-422E-A022-7121FA18C968', - ], - 'NatGatewayId' => [ - 'description' => 'The ID of the NAT gateway.'."\n", - 'type' => 'string', - 'example' => 'nat-5t7nh1cfm6kxiszlttr38****', - ], - 'ForwardEntryId' => [ - 'description' => 'The ID of the DNAT entry.'."\n", - 'type' => 'string', - 'example' => 'fwd-5tfi6f0rutmd00xrhkag7****', - ], - 'ExternalIp' => [ - 'description' => 'The EIP in the DNAT entry. The public IP address is used to access the Internet.'."\n", - 'type' => 'string', - 'example' => '36.XXX.XXX.72', - ], - 'InternalIp' => [ - 'description' => 'The private IP address of the instance that uses the DNAT entry for Internet communication.'."\n", - 'type' => 'string', - 'example' => '10.XXX.XXX.50', - ], - 'ForwardEntryName' => [ - 'description' => 'The name of the DNAT entry.'."\n", - 'type' => 'string', - 'example' => 'test0', - ], - 'Status' => [ - 'description' => 'The status of the DNAT entry.'."\n" - ."\n" - .'* Pending: The DNAT entry is being created or modified.'."\n" - .'* Available: The DNAT entry is available.'."\n" - .'* Deleting: The DNAT entry is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'CreationTime' => [ - 'description' => 'The creation time. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2020-04-26T15:38:27Z', - ], - 'ExternalPort' => [ - 'description' => 'The external port or port range that is used for port forwarding.'."\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 (/), such as 10/20.'."\n", - 'type' => 'string', - 'example' => '22', - ], - 'InternalPort' => [ - 'description' => 'The internal port or port range that is used for port forwarding.'."\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 (/), such as 10/20.'."\n", - 'type' => 'string', - 'example' => '22', - ], - 'IpProtocol' => [ - 'description' => 'The protocol. Valid values:'."\n" - ."\n" - .'* **TCP**: forwards TCP packets.'."\n" - .'* **UDP**: forwards UDP packets.'."\n" - .'* **Any**: forwards all packets.'."\n", - 'type' => 'string', - 'example' => 'Any', - ], - 'HealthCheckPort' => [ - 'description' => 'The DNAT probe port. The port must be within the internal port range. By default, this parameter is empty.'."\n", - 'type' => 'string', - 'example' => '80', - ], - 'StandbyExternalIp' => [ - 'description' => 'The secondary EIP that is used to access the Internet. You need to select a secondary EIP that is bound to NAT. After the DNAT entry is created, the secondary EIP takes effect.'."\n", - 'type' => 'string', - 'example' => '101.XXX.XXX.4', - ], - 'StandbyStatus' => [ - 'description' => 'The status of the secondary EIP.'."\n" - ."\n" - .'* Running'."\n" - .'* Stopping'."\n" - .'* Stopped'."\n" - .'* Starting'."\n", - 'type' => 'string', - 'example' => 'Stopped', - ], - ], + [ + 'apiName' => 'DescribeInstanceBootConfiguration', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceBootConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeEpnBandWidthData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnBandWidthData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', + [ + 'apiName' => 'CreateMountTarget', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateMountTarget', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', + ], + ], + [ + 'apiName' => 'ModifyLoadBalancerAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyLoadBalancerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidForwardEntryId.NotFound', - 'errorMessage' => 'The specified forwardEntry is not found.', + ], + ], + [ + 'apiName' => 'DescribeInstances', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], ], - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', + ], + ], + [ + 'apiName' => 'ModifyInstanceNetworkAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceNetworkAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DetachKeyPair', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens: DetachKeyPair', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairId}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' Instance', 'arn' => 'acs:ens::{#accountId}:instance/{#InstanceIds}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairName}'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'EventRebootInstance', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:EventRebootInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'CreateNetworkAcl', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6666C5A5-75ED-422E-A022-7121FA18C968\\",\\n \\"NatGatewayId\\": \\"nat-5t7nh1cfm6kxiszlttr38****\\",\\n \\"ForwardEntryId\\": \\"fwd-5tfi6f0rutmd00xrhkag7****\\",\\n \\"ExternalIp\\": \\"36.XXX.XXX.72\\",\\n \\"InternalIp\\": \\"10.XXX.XXX.50\\",\\n \\"ForwardEntryName\\": \\"test0\\",\\n \\"Status\\": \\"Available\\",\\n \\"CreationTime\\": \\"2020-04-26T15:38:27Z\\",\\n \\"ExternalPort\\": \\"22\\",\\n \\"InternalPort\\": \\"22\\",\\n \\"IpProtocol\\": \\"Any\\",\\n \\"HealthCheckPort\\": \\"80\\",\\n \\"StandbyExternalIp\\": \\"101.XXX.XXX.4\\",\\n \\"StandbyStatus\\": \\"Stopped\\"\\n}","type":"json"}]', - 'title' => 'DescribeForwardEntryAttribute', - ], - 'ModifyInstanceNetworkAttribute' => [ - 'summary' => 'Modifies the private IP address or vSwitch of a VPC-type ECS instance.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'UnInstallClusterAddons', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:UnInstallClusterAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'EventMigrateInstance', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:EventMigrateInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeImageSharePermission', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeImageSharePermission', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'RecoverAICInstance', + 'description' => '', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '249175', - 'abilityTreeNodes' => [ - 'FEATUREensVJ32Z2', + 'ramAction' => [ + 'action' => 'ens:RecoverAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => '要创建自定义路由条目的路由表ID。', - 'description' => 'The ID of the ENS instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-5myukg7hnpbto7m024002****', + [ + 'apiName' => 'CreateClassicNetwork', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:CreateClassicNetwork', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'title' => '自定义路由条目的目标网段。', - 'description' => 'The vSwitch IDs.'."\n" - ."\n" - .'* If you set this parameter to the ID of the current vSwitch, the vSwitch of the ECS instance remains unchanged.'."\n" - .'* The input ID is a new vSwitch, and the new and old vSwitches must belong to the same node.'."\n" - .'* By default, if this parameter is not specified, a private IP address is randomly assigned from within the CIDR block of the specified vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-5rllcjb3ol6duzjdnbm1o****', + ], + [ + 'apiName' => 'CreateEnsRouteEntry', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEnsRouteEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PrivateIpAddress', - 'in' => 'query', - 'schema' => [ - 'title' => '自定义路由条目的下一跳的类型', - 'description' => 'The new private IP address of the ECS instance. By default, if this parameter is empty, a private IP address is randomly assigned from the CIDR block of the specified vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - 'enum' => [], + ], + [ + 'apiName' => 'ModifyVSwitchAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyVSwitchAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - ], + [ + 'apiName' => 'DescribeVSwitches', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeVSwitches', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', + [ + 'apiName' => 'CreateVSwitch', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateVSwitch', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ExportMeasurementData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ExportMeasurementData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ReleasePostPaidInstance', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleasePostPaidInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], + [ + 'apiName' => 'DetachNetworkInterface', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:DetachNetworkInterface', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RunInstances', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:RunInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/*'], ], - [ - 'errorCode' => 'InvalidDependence.%s', - 'errorMessage' => 'The Specified operation is denied due to %s.', + ], + ], + [ + 'apiName' => 'CreateEpnInstance', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidInstanceId.NotFound', - 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + [ + 'apiName' => 'DescribeExportImageInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeExportImageInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'IncorrectInstanceStatus', - 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + ], + [ + 'apiName' => 'UnassociateNetworkAcl', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnassociateNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidInstanceType.NotSupported', - 'errorMessage' => 'The specified InstanceType is not Supported.', + ], + ], + [ + 'apiName' => 'RevokeSecurityGroupEgress', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RevokeSecurityGroupEgress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'IncorrectNetworkInterfaceStatus', - 'errorMessage' => 'The operation could not be completed because the status of the specified network interface is invalid for this action.', + ], + ], + [ + 'apiName' => 'GetBucketInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:GetBucketInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'Specified virtual switch does not exist.', + ], + ], + [ + 'apiName' => 'DeleteNetwork', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteNetwork', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'IncorrectVSwitchStatus', - 'errorMessage' => 'The current status of virtual switch does not support this operation.', + ], + ], + [ + 'apiName' => 'DescribeDataDistResult', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDataDistResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidPrivateIpAddress.Mismatch', - 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', + ], + ], + [ + 'apiName' => 'ModifyAICInstanceType', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyAICInstanceType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', - 'errorMessage' => 'The specified private IP address is duplicated.', + ], + ], + [ + 'apiName' => 'DescribeAICImages', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeAICImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified virtual switch has not enough available ip.', + ], + ], + [ + 'apiName' => 'ResetDisk', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ResetDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Invalid%s', - 'errorMessage' => 'The specified parameter %s is invalid.', + ], + ], + [ + 'apiName' => 'DescribeFileSystems', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeFileSystems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Missing%s', - 'errorMessage' => 'You must specify the parameter %s.', + ], + ], + [ + 'apiName' => 'CreateSnatEntry', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'RemoveVSwitchesFromEpnInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveVSwitchesFromEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'AttachKeyPair', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens: AttachKeyPair', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairId}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' Instance', 'arn' => 'acs:ens::{#accountId}:instance/{#InstanceIds}'], + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairName}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeEnsNetLevel', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsNetLevel', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', - 'title' => 'ModifyInstanceNetworkAttribute', - 'description' => 'The instance that you want to manage must be in the Stopped state. When you modify the parameters of a scaling group, the following limits apply:'."\n" - ."\n" - .'* Instance:'."\n" - ."\n" - .' * Instances that are associated with SLB are not supported.'."\n" - ."\n" - .'* Network:'."\n" - ."\n" - .' * Instances that are associated with EIPs are not supported.'."\n" - .' * Instances that are associated with high-availability virtual IP addresses are not supported.'."\n" - .' * Instances that have been used as next hops in the routing table are not supported.'."\n" - .' * Secondary ENIs cannot be attached to the ECS instance.'."\n" - .' * Instances configured with secondary IP addresses are not supported.'."\n", - ], - 'CreateSecurityGroupPermissions' => [ - 'summary' => 'Create an ENS security group rule.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'RemovePublicIpsFromEpnInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemovePublicIpsFromEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeEpnMeasurementData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnMeasurementData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UnAssociateEnsEipAddress', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnAssociateEnsEipAddress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'PutBucket', + 'description' => '', 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '255792', - 'abilityTreeNodes' => [ - 'FEATUREensMBU7KJ', + 'ramAction' => [ + 'action' => 'ens:PutBucket', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the security groups.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4p****', + [ + 'apiName' => 'DescribeMountTargets', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeMountTargets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Permissions', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The security group rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The security group rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'Direction' => [ - 'description' => 'The direction in which the security group rule is applied.'."\n" - ."\n" - .'* egress'."\n" - .'* ingress'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ingress', - 'enum' => [ - 'egress', - 'ingress', - ], - ], - 'IpProtocol' => [ - 'description' => 'Protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n" - .'* ICMP: the ICMP protocol'."\n" - .'* ICMPv6: the ICMP protocol for IPv6.'."\n" - .'* ALL: All protocols are supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TCP', - 'enum' => [ - 'TCP', - 'UDP', - 'ICMP', - 'ALL', - 'GRE', - 'tcp', - 'udp', - 'icmp', - 'all', - 'gre', - 'ICMPV6', - 'icmpv6', - ], - ], - 'PortRange' => [ - 'description' => 'The destination port range of the security group rule. Valid values:'."\n" - ."\n" - .'* If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" - .'* If you set IpProtocol to ICMP, the port range is -1/-1.'."\n" - .'* ICMPv6:-1/-1.'."\n" - .'* If you set IpProtocol to ALL, the port number range is -1/-1.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '80/80', - ], - 'SourcePortRange' => [ - 'description' => 'The range of source port numbers for the protocols specified in the security group rule. Valid values:'."\n" - ."\n" - .'* If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" - .'* If you set IpProtocol to ICMP, the port range is -1/-1.'."\n" - .'* ICMPv6:-1/-1.'."\n" - .'* If you set IpProtocol to ALL, the port range is -1/-1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22/22', - ], - 'Policy' => [ - 'description' => 'The action specified in the security group rule. Valid values:'."\n" - ."\n" - .'* Accept'."\n" - .'* Drop'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Accept', - 'enum' => [ - 'Accept', - 'Drop', - ], - ], - 'DestCidrIp' => [ - 'description' => 'The destination IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.XX.XX.14/32', - ], - 'SourceCidrIp' => [ - 'description' => 'The source IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0.0.0.0/0', - ], - 'Description' => [ - 'description' => 'The description of the storage gateway. It must be 2 to 256 characters in length and cannot start with http:// or https://.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testDescription', - 'maxLength' => 256, - ], - 'Priority' => [ - 'description' => 'The priority of the security group rule. A smaller value specifies a higher priority. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], - 'Ipv6SourceCidrIp' => [ - 'description' => 'The source IPv6 CIDR block of the security group rule. or IPv6 address.'."\n" - ."\n" - .'> This parameter and the `DestCidrIp` parameter cannot be set at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '::/0', - ], - 'Ipv6DestCidrIp' => [ - 'description' => 'The destination IPv6 CIDR block. IPv6 CIDR blocks and IPv6 addresses are supported.'."\n" - ."\n" - .'> This parameter and the `DestCidrIp` parameter cannot be set at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '::/0', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 200, - 'minItems' => 1, + ], + [ + 'apiName' => 'ListProductAbilities', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListProductAbilities', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ExportBillDetailData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ExportBillDetailData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeSecurityGroupAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeSecurityGroupAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], + [ + 'apiName' => 'SetBackendServers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.PortRange', - 'errorMessage' => 'The parameter PortRange is not valid.', + [ + 'apiName' => 'JoinSecurityGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:JoinSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'AuthorizationLimitExceed', - 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerHTTPListenerAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + ], + [ + 'apiName' => 'DescribeEpnInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEpnInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'SecurityGroupRuleConflict.Duplicated', - 'errorMessage' => 'The SecurityGroup rule already exists.', + ], + ], + [ + 'apiName' => 'DescribeDiskIopsList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeDiskIopsList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], ], - [ - 'errorCode' => 'InvalidParameter.CidrIp', - 'errorMessage' => 'The parameter CidrIp is not valid.', + ], + ], + [ + 'apiName' => 'SetLoadBalancerHTTPSListenerAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'AddBackendServers', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:AddBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.SourceIpConflict', - 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.', + ], + ], + [ + 'apiName' => 'ListClusterAddonInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ListClusterAddonInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.DestIpConflict', - 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.', + ], + ], + [ + 'apiName' => 'DescribeServerLoadBalancerListenMonitor', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeServerLoadBalancerListenMonitor', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.Ipv4ProtocolConflictWithIpv6Address', - 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + ], + [ + 'apiName' => 'UnmountInstanceSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:UnmountInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.Ipv6ProtocolConflictWithIpv4Address', - 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + ], + [ + 'apiName' => 'RescaleDeviceService', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RescaleDeviceService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'CreateLoadBalancerHTTPSListener', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerHTTPSListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => 'CreateSecurityGroupPermissions', - ], - 'DeleteSecurityGroupPermissions' => [ - 'summary' => 'Deletes an ENS security group rule.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeInstanceAutoRenewAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeInstanceAutoRenewAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeClusterAttachScripts', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterAttachScripts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'StopEpnInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StopEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DeleteLoadBalancerListener', + 'description' => '', 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '255795', - 'abilityTreeNodes' => [ - 'FEATUREensMBU7KJ', + 'ramAction' => [ + 'action' => 'ens:DeleteLoadBalancerListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-bp67acfmxazb4p**** ', + [ + 'apiName' => 'UpgradeClusterAddons', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:UpgradeClusterAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Permissions', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The security group rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The security group rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'Direction' => [ - 'description' => 'The direction in which the security group rule is applied.'."\n" - ."\n" - .'* egress'."\n" - .'* ingress'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ingress', - 'enum' => [ - 'egress', - 'ingress', - ], - ], - 'IpProtocol' => [ - 'description' => 'Protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n" - .'* ICMP: the ICMP protocol'."\n" - .'* ICMPv6: the IPv6 ICMP protocol.'."\n" - .'* ALL: All protocols are supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TCP', - 'enum' => [ - 'TCP', - 'UDP', - 'ICMP', - 'ALL', - 'GRE', - 'tcp', - 'udp', - 'icmp', - 'all', - 'gre', - 'icmpv6', - 'ICMPV6', - ], - ], - 'PortRange' => [ - 'description' => 'The destination port range of the security group rule. Valid values:'."\n" - ."\n" - .'* If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" - .'* If you set IpProtocol to ICMP, the port range is -1/-1.'."\n" - .'* If you set IpProtocol to ALL, the port number range is -1/-1.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '80/80', - ], - 'SourcePortRange' => [ - 'description' => 'The range of source port numbers for the protocols specified in the security group rule. Valid values:'."\n" - ."\n" - .'* If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\/\\. Example: 1/200.'."\n" - .'* If you set IpProtocol to ICMP, the port range is -1/-1.'."\n" - .'* If you set IpProtocol to ALL, the port range is -1/-1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22/22', - ], - 'Policy' => [ - 'description' => 'The action specified in the security group rule. Valid values:'."\n" - ."\n" - .'* Accept'."\n" - .'* Drop'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Accept', - 'enum' => [ - 'Accept', - 'Drop', - ], - ], - 'DestCidrIp' => [ - 'description' => 'The destination IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.XX.XX.91', - ], - 'SourceCidrIp' => [ - 'description' => 'The source IPv4 CIDR block. CIDR blocks and IPv4 addresses are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0.XX.XX.0/0', - ], - 'Priority' => [ - 'description' => 'The priority of the security group rule. A smaller value specifies a higher priority. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], - 'Ipv6SourceCidrIp' => [ - 'description' => 'The source IPv6 CIDR block of the security group rule. IPv6 CIDR blocks and IPv6 addresses are supported.'."\n" - ."\n" - .'> This parameter and the `DestCidrIp` parameter cannot be set at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '::/0', - ], - 'Ipv6DestCidrIp' => [ - 'description' => 'The destination IPv6 CIDR block. IPv6 CIDR blocks and IPv6 addresses are supported.'."\n" - ."\n" - .'> This parameter and the `DestCidrIp` parameter cannot be set at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '::/0', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 200, - 'minItems' => 1, + ], + [ + 'apiName' => 'DeleteKeyPairs', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteKeyPairs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - ], + [ + 'apiName' => 'ModifyFileSystem', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ModifyFileSystem', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ens.interface.error', - 'errorMessage' => 'Failed to call API.', - ], - [ - 'errorCode' => 'InvalidParameter.PortRange', - 'errorMessage' => 'The parameter PortRange is not valid.', + [ + 'apiName' => 'DescribeClusterDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidSecurityGroupId.NotFound', - 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + ], + [ + 'apiName' => 'DescribePrePaidInstanceStock', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribePrePaidInstanceStock', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.CidrIp', - 'errorMessage' => 'The parameter CidrIp is not valid.', + ], + ], + [ + 'apiName' => 'ModifyInstanceAutoRenewAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceAutoRenewAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DescribeAddon', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.SourceIpConflict', - 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp cannot be set at the same time.', + ], + ], + [ + 'apiName' => 'UploadAICPublicKey', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:UploadAICPublicKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.DestIpConflict', - 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp cannot be set at the same time.', + ], + ], + [ + 'apiName' => 'DescribePrice', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribePrice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.Ipv4ProtocolConflictWithIpv6Address', - 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + ], + [ + 'apiName' => 'ListBuckets', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListBuckets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.Ipv6ProtocolConflictWithIpv4Address', - 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + ], + [ + 'apiName' => 'ScaleClusterNodePool', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ScaleClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DeleteSecurityGroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', - 'title' => 'DeleteSecurityGroupPermissions', - ], - 'ManageAICLogin' => [ - 'summary' => 'Log on to the AIC instance. You can associate or disassociate an AIC instance based on the uploaded AIC public key.', - 'path' => '', - 'methods' => [ - 'post', + [ + 'apiName' => 'DeleteClusterNodePool', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeDataPushResult', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDataPushResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ReleaseInstance', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleaseInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + [ + 'apiName' => 'DescribeLoadBalancers', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'KeyName', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥名', - 'description' => 'Public Key Name'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mykey', - 'maxLength' => 128, + [ + 'apiName' => 'CreateClusterNodePool', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'KeyGroup', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥分组', - 'description' => 'Public Key Grouping'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'g-test', - 'maxLength' => 128, + ], + [ + 'apiName' => 'DeleteDisk', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'aic-xxx-1', + ], + [ + 'apiName' => 'GetBucketLifecycle', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:GetBucketLifecycle', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ActionName', - 'in' => 'query', - 'schema' => [ - 'title' => '管理动作', - 'description' => 'Manage actions'."\n" - ."\n" - .'Valid value:'."\n" - ."\n" - .'* open'."\n" - .'* close'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'open', - 'enum' => [ - 'open', - 'close', - ], + ], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => 'F3B261DD-3858-4D3C-877D-303ADF374600', - ], - ], + [ + 'apiName' => 'DescribeClusterNodes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', + [ + 'apiName' => 'DescribeForwardEntryAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeForwardEntryAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'NatGatewayForwardEntry', 'arn' => 'acs:ens::{#accountId}:natgatewayforwardentry/{#ForwardEntryId}'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'ModifyInstanceAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DeleteForwardEntry', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteForwardEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'BatchEventRedeployInstance', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:BatchEventRedeployInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3B261DD-3858-4D3C-877D-303ADF374600\\"\\n}","type":"json"}]', - 'title' => 'ManageAICLogin', - ], - 'ListAICPublicKeys' => [ - 'summary' => 'Query the list of AIC public keys that meet the conditions. Paged query is supported.', - 'path' => '', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeLoadBalancerSpec', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'CreateStorageGateway', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateStorageGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UnassociateHaVip', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UnassociateHaVip', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DeployInstanceSDG', + 'description' => '', 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + 'ramAction' => [ + 'action' => 'ens:DeployInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'KeyName', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥名', - 'description' => 'Public key name'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mykey', + [ + 'apiName' => 'DetachInstanceSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DetachInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'KeyGroup', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥分组', - 'description' => 'Public key grouping'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'g-test', + ], + [ + 'apiName' => 'DescribeBandwitdhByInternetChargeType', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeBandwitdhByInternetChargeType', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'KeyType', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥类型', - 'description' => 'Public key type'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'adb', + ], + [ + 'apiName' => 'StartLoadBalancerListener', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StartLoadBalancerListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'title' => '当前页码', - 'description' => 'The page number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + ], + [ + 'apiName' => 'CreateLoadBalancerTCPListener', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerTCPListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '每页显示的记录数量', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', + ], + [ + 'apiName' => 'GetClusterAddonInstance', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:GetClusterAddonInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求的唯一标识符', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'xxxsxxxxx', - ], - 'PublicKeys' => [ - 'title' => '公钥列表', - 'description' => 'Public key list'."\n", - 'type' => 'array', - 'items' => [ - 'title' => '公钥', - 'description' => 'The public key.'."\n", - 'type' => 'object', - 'properties' => [ - 'KeyName' => [ - 'title' => '公钥名', - 'description' => 'Public key name'."\n", - 'type' => 'string', - 'example' => 'mykey', - ], - 'KeyGroup' => [ - 'title' => '公钥分组', - 'description' => 'Public key grouping'."\n", - 'type' => 'string', - 'example' => 'test-group', - ], - 'KeyType' => [ - 'title' => '公钥类型', - 'description' => 'Public key type'."\n", - 'type' => 'string', - 'example' => 'adb', - ], - 'Content' => [ - 'title' => '公钥内容', - 'description' => 'Public key content'."\n", - 'type' => 'string', - 'example' => 'fvsvshbvjfksvj', - ], - 'Description' => [ - 'title' => '公钥描述', - 'description' => 'Public key description'."\n", - 'type' => 'string', - 'example' => '测试', - ], - 'CreationTime' => [ - 'title' => '创建时间', - 'description' => 'The creation time of the voiceprint.'."\n", - 'type' => 'string', - 'example' => '2025-10-09T15:13:21+08:00', - ], - ], - ], - ], - 'PageNumber' => [ - 'title' => '分页时的当前页码', - 'description' => 'Current page number when paging'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '每页显示的记录数量', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'TotalCount' => [ - 'title' => '总数', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - ], + [ + 'apiName' => 'ModifyEpnInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyEpnInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', + [ + 'apiName' => 'RenewARMServerInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RenewARMServerInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DescribeSDGSharedDisks', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDGSharedDisks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DescribeImageInfos', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeImageInfos', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'ReleaseAICInstance', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleaseAICInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxsxxxxx\\",\\n \\"PublicKeys\\": [\\n {\\n \\"KeyName\\": \\"mykey\\",\\n \\"KeyGroup\\": \\"test-group\\",\\n \\"KeyType\\": \\"adb\\",\\n \\"Content\\": \\"fvsvshbvjfksvj\\",\\n \\"Description\\": \\"测试\\",\\n \\"CreationTime\\": \\"2025-10-09T15:13:21+08:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10\\n}","type":"json"}]', - 'title' => 'ListAICPublicKeys', - ], - 'DeleteAICPublicKey' => [ - 'summary' => 'Deletes a specified AIC public key. You can delete a public key only if it is not associated with the public key.', - 'path' => '', - 'methods' => [ - 'post', + [ + 'apiName' => 'DescribeSDGs', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDGs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeElbAvailableResourceInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeElbAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'StartInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StartInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + [ + 'apiName' => 'DescribeEnsRegionIdResource', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRegionIdResource', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'KeyName', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥名', - 'description' => 'Public Key Name'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'mykey', - 'maxLength' => 128, + [ + 'apiName' => 'AttachInstancesToNodePool', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:AttachInstancesToNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - ], + [ + 'apiName' => 'CreateDisk', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', + [ + 'apiName' => 'ReleasePrePaidInstance', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:ReleasePrePaidInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', + ], + ], + [ + 'apiName' => 'DescribeStorageVolume', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeStorageVolume', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DeleteObject', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteObject', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DescribeNetworks', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'MountInstanceSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:MountInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', - 'title' => 'DeleteAICPublicKey', - ], - 'ListAICPublicKeyDeliveries' => [ - 'summary' => 'Queries the related information of AIC public keys. Paged query is supported.', - 'path' => '', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'CreateSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:CreateSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeleteMountTarget', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DeleteMountTarget', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'AttachEnsInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AttachEnsInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + [ + 'apiName' => 'LeaveSecurityGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:LeaveSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'KeyName', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥名', - 'description' => 'Public Key Name'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mykey', + [ + 'apiName' => 'DescribeCloudDiskTypes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeCloudDiskTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'KeyGroup', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥分组', - 'description' => 'Public Key Grouping'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'g-test', + ], + [ + 'apiName' => 'ModifyClusterNodePool', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyClusterNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'KeyType', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥类型', - 'description' => 'Public key type'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'adb', + ], + [ + 'apiName' => 'AssignPrivateIpAddresses', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:AssignPrivateIpAddresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aic-xxxx-0', + ], + [ + 'apiName' => 'CreateNatGateway', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateNatGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'title' => '当前页码', - 'description' => 'The page number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + ], + [ + 'apiName' => 'AssociateHaVip', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AssociateHaVip', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'HaVip', 'arn' => 'acs:ens::{#accountId}:havip/{#HaVipId}'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '每页显示的记录数量', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', + ], + [ + 'apiName' => 'RollbackApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RollbackApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求的唯一标识符', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'xxxsxxxxx', - ], - 'PublicKeyDeliverInfo' => [ - 'title' => '公钥列表', - 'description' => 'Public Key List'."\n", - 'type' => 'array', - 'items' => [ - 'title' => '公钥', - 'description' => 'The public key.'."\n", - 'type' => 'object', - 'properties' => [ - 'KeyName' => [ - 'title' => '公钥名', - 'description' => 'Public Key Name'."\n", - 'type' => 'string', - 'example' => 'mykey', - ], - 'KeyGroup' => [ - 'title' => '公钥分组', - 'description' => 'Public Key Grouping'."\n", - 'type' => 'string', - 'example' => 'test-group', - ], - 'KeyType' => [ - 'title' => '公钥类型', - 'description' => 'Public key type'."\n", - 'type' => 'string', - 'example' => 'adb', - ], - 'InstanceId' => [ - 'title' => '实例Id', - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'aic-xxxx-0', - ], - 'CreationTime' => [ - 'title' => '创建时间', - 'description' => 'The creation time.'."\n", - 'type' => 'string', - 'example' => '2025-10-09T15:13:21+08:00', - ], - ], - ], - ], - 'PageNumber' => [ - 'title' => '分页时的当前页码', - 'description' => 'Current page number when paging'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '每页显示的记录数量', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'TotalCount' => [ - 'title' => '总数', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - ], + [ + 'apiName' => 'DeleteNatGateway', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteNatGateway', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', + [ + 'apiName' => 'DeleteApplication', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', + ], + ], + [ + 'apiName' => 'CreateInstance', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DeleteAICPublicKey', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DeleteAICPublicKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'AttachNetworkInterface', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AttachNetworkInterface', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeCloudDiskAvailableResourceInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeCloudDiskAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxsxxxxx\\",\\n \\"PublicKeyDeliverInfo\\": [\\n {\\n \\"KeyName\\": \\"mykey\\",\\n \\"KeyGroup\\": \\"test-group\\",\\n \\"KeyType\\": \\"adb\\",\\n \\"InstanceId\\": \\"aic-xxxx-0\\",\\n \\"CreationTime\\": \\"2025-10-09T15:13:21+08:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10\\n}","type":"json"}]', - 'title' => 'ListAICPublicKeyDeliveries', - ], - 'ShareAICImage' => [ - 'summary' => 'Share the specified AIC image to other users.', - 'path' => '', - 'methods' => [ - 'post', + [ + 'apiName' => 'DescribeApplication', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeleteFileSystem', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DeleteFileSystem', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateSnapshot', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + [ + 'apiName' => 'DescribeNetworkPeerConnections', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworkPeerConnections', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'title' => '镜像名', - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'mykey', - 'maxLength' => 128, + [ + 'apiName' => 'DescribeClusterNodePools', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterNodePools', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Users', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '用户组', - 'description' => 'The user groups.'."\n", - 'type' => 'array', - 'items' => [ - 'title' => '用户id', - 'description' => 'The user ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '14134343', - ], - 'required' => true, - 'maxItems' => 10, - 'minItems' => 1, + ], + [ + 'apiName' => 'CreateLoadBalancerHTTPListener', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerHTTPListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => 'AAE90880-4970-4D81-A534-A6C0F3631F74', - ], - ], + [ + 'apiName' => 'DescribeSnatTableEntries', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSnatTableEntries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', + [ + 'apiName' => 'DescribeLoadBalancerTCPListenerAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerTCPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', + ], + ], + [ + 'apiName' => 'DescribeAvailableResourceInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'UpgradeApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:UpgradeApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DeleteSnapshot', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'RemoveSDGs', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:RemoveSDGs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAE90880-4970-4D81-A534-A6C0F3631F74\\"\\n}","type":"json"}]', - 'title' => 'ShareAICImage', - ], - 'UploadAICPublicKey' => [ - 'summary' => 'Upload a new AIC public key.', - 'path' => '', - 'methods' => [ - 'post', + [ + 'apiName' => 'DescribeClusterKubeConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterKubeConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeleteHaVips', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteHaVips', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'HaVip', 'arn' => 'acs:ens::{#accountId}:havip/{#HaVipIds}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeRegionIsps', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeRegionIsps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'PreloadRegionSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:PreloadRegionSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateLoadBalancer', + 'description' => '', 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'KeyName', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥名', - 'description' => 'Public Key Name'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'mykey', - 'maxLength' => 128, - 'minLength' => 8, + [ + 'apiName' => 'CopySnapshot', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CopySnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'KeyGroup', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥分组', - 'description' => 'Public Key Grouping'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'g-test', - 'maxLength' => 128, + ], + [ + 'apiName' => 'StopLoadBalancerListener', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:StopLoadBalancerListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'KeyType', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥类型', - 'description' => 'Public key type'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'adb', + ], + [ + 'apiName' => 'DescribeNetworkAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworkAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Content', - 'in' => 'query', - 'schema' => [ - 'title' => '公钥内容', - 'description' => 'Public Key'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'verify_dffeb6610035dcb77b413a59c3', - 'maxLength' => 1024, + ], + [ + 'apiName' => 'ModifyClusterAddon', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:ModifyClusterAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'title' => '描述', - 'description' => 'The description of the document.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '测试', - 'maxLength' => 128, + ], + [ + 'apiName' => 'DescribeClusterUserKubeconfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeClusterUserKubeconfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request'."\n", - 'type' => 'string', - 'example' => '125B04C7-3D0D-4245-AF96-14E3758E3F06', - ], - ], + [ + 'apiName' => 'DescribeDeviceService', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDeviceService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', + [ + 'apiName' => 'DeleteEip', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteEip', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', + ], + ], + [ + 'apiName' => 'CreateEnsService', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateEnsService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'CreateLoadBalancerUDPListener', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateLoadBalancerUDPListener', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'RebootInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RebootInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"125B04C7-3D0D-4245-AF96-14E3758E3F06\\"\\n}","type":"json"}]', - 'title' => 'UploadAICPublicKey', - ], - 'DescribeSDGSharedDisks' => [ - 'summary' => 'You can query the information of shared disks in a specified SDG.', - 'path' => '', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeUserBandWidthData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeUserBandWidthData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'ModifyInstanceChargeType', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceChargeType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeHistoryEvents', + 'description' => '', 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '205308', - 'abilityTreeNodes' => [ - 'FEATUREensZ35IDE', + 'ramAction' => [ + 'action' => 'ens:DescribeHistoryEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'SdgId', - 'in' => 'query', - 'schema' => [ - 'title' => 'sdg的id', - 'description' => 'sdg ID'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sdg-xxxx', + [ + 'apiName' => 'ReinitInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ReinitInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], + [ + 'apiName' => 'SetLoadBalancerStatus', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeNetworkInterfaces', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeNetworkInterfaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AuthorizeSecurityGroupEgress', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AuthorizeSecurityGroupEgress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'title' => '区域id', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-xx', + ], + [ + 'apiName' => 'DescribeNASAvailableResourceInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeNASAvailableResourceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Namespace', - 'in' => 'query', - 'schema' => [ - 'title' => '命名空间', - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', + ], + [ + 'apiName' => 'DescribeDataDownloadURL', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeDataDownloadURL', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'title' => '页码,用于分页查询', - 'description' => 'The page number, which is used for paged query'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + ], + [ + 'apiName' => 'DescribeImages', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '每页显示的记录数量', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', + ], + [ + 'apiName' => 'AttachDisk', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AttachDisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求的唯一标识符', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'xxxsxxxxx', - ], - 'SharedDisks' => [ - 'title' => '共享盘列表', - 'description' => 'Shared disk list'."\n", - 'type' => 'array', - 'items' => [ - 'title' => '共享磁盘列表中的第一个磁盘', - 'description' => 'First disk in the shared disk list'."\n", - 'type' => 'object', - 'properties' => [ - 'SdgId' => [ - 'title' => '共享盘的SdgId', - 'description' => 'SdgId of the shared disk'."\n", - 'type' => 'string', - 'example' => 'sdg-fqehhfdjv', - ], - 'RegionId' => [ - 'title' => '节点id', - 'description' => 'The node ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-1', - ], - 'Namespace' => [ - 'title' => '命名空间', - 'description' => 'The namespace of the service.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'DiskId' => [ - 'title' => '共享盘id', - 'description' => 'shared disk id'."\n", - 'type' => 'string', - 'example' => 'd-57kvvpuj1rk2ghumlgs6', - ], - 'SharedNum' => [ - 'title' => '共享挂载数', - 'description' => 'Number of shared mounts'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Status' => [ - 'title' => '共享盘状态', - 'description' => 'Shared disk status'."\n", - 'type' => 'string', - 'example' => 'avaliable', - ], - 'DiskType' => [ - 'title' => '共享盘类型', - 'description' => 'Shared disk type'."\n", - 'type' => 'string', - 'example' => 'standard', - ], - 'CreationTime' => [ - 'title' => '共享盘创建时间', - 'description' => 'The time when the shared disk was created.'."\n", - 'type' => 'string', - 'example' => '2025-10-09T15:13:21+08:00', - ], - ], - ], - ], - 'PageNumber' => [ - 'title' => '分页时的当前页码', - 'description' => 'Current page number when paging'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => '每页显示的记录数量', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'TotalCount' => [ - 'title' => '总数', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - ], + [ + 'apiName' => 'ModifyImageSharePermission', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyImageSharePermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'Image', 'arn' => 'acs:ens::{#accountId}:image/{#ImageId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Interface.Call.Failed', - 'errorMessage' => '%s.', + [ + 'apiName' => 'DeleteSnatIpForSnatEntry', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSnatIpForSnatEntry', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Interface.Call.Error', - 'errorMessage' => 'The interface call error', + ], + ], + [ + 'apiName' => 'DescribeKeyPairs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeKeyPairs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'SetLoadBalancerTCPListenerAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:SetLoadBalancerTCPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerListenMonitor', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerListenMonitor', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeEnsRegions', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxsxxxxx\\",\\n \\"SharedDisks\\": [\\n {\\n \\"SdgId\\": \\"sdg-fqehhfdjv\\",\\n \\"RegionId\\": \\"cn-hangzhou-1\\",\\n \\"Namespace\\": \\"default\\",\\n \\"DiskId\\": \\"d-57kvvpuj1rk2ghumlgs6\\",\\n \\"SharedNum\\": 10,\\n \\"Status\\": \\"avaliable\\",\\n \\"DiskType\\": \\"standard\\",\\n \\"CreationTime\\": \\"2025-10-09T15:13:21+08:00\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10\\n}","type":"json"}]', - 'title' => 'DescribeSDGSharedDisks', - ], - 'DescribeClusterKubeConfig' => [ - 'summary' => 'Queries the certificate of a Container Service for Kubernetes (ACK) edge cluster.', - 'methods' => [ - 'post', + [ + 'apiName' => 'CreateStorageVolume', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateStorageVolume', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DeleteNetworkAcl', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:DeleteNetworkAcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeSDGDeploymentStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:DescribeSDGDeploymentStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeLoadBalancerUDPListenerAttribute', + 'description' => '', 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c8f0377146d104687ac562eef9403****', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerUDPListenerAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The information about the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'c8f0377146d104687ac562eef9403****', - ], - 'Kubeconfig' => [ - 'description' => 'The cluster certificate.'."\n", - 'type' => 'string', - 'example' => 'apiVersion: v1'."\n" - .'clusters:'."\n" - .'- cluster:'."\n" - .' certificate-authority-data:***'."\n" - .' server: https://****:6443'."\n" - .' name: kubernetes'."\n" - .'contexts:'."\n" - .'- context:'."\n" - .' cluster: kubernetes'."\n" - .' user: "2580306074811*****"'."\n" - .' name: 258*******'."\n" - .'kind: Config'."\n" - .'users:'."\n" - .'- name: "2580306074811*****"'."\n" - .' user:'."\n" - .' client-certificate-data:***'."\n" - .' client-key-data: ***', - ], - ], + [ + 'apiName' => 'RemoveInstanceSDG', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveInstanceSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => '请求参数错误 ', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + [ + 'apiName' => 'ModifyInstanceBootConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyInstanceBootConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'ExportImage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:ExportImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 404 => [ - [ - 'errorCode' => 'StatusNotFound', - 'errorMessage' => '证书不存在', + ], + [ + 'apiName' => 'ModifyHaVipAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifyHaVipAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => '内部服务错误', + ], + [ + 'apiName' => 'DescribeEnsRouteEntryList', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeEnsRouteEntryList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'EventRedeployInstance', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:EventRedeployInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ClusterId\\": \\"c8f0377146d104687ac562eef9403****\\",\\n \\"Kubeconfig\\": \\"apiVersion: v1\\\\nclusters:\\\\n- cluster:\\\\n certificate-authority-data:***\\\\n server: https://****:6443\\\\n name: kubernetes\\\\ncontexts:\\\\n- context:\\\\n cluster: kubernetes\\\\n user: \\\\\\"2580306074811*****\\\\\\"\\\\n name: 258*******\\\\nkind: Config\\\\nusers:\\\\n- name: \\\\\\"2580306074811*****\\\\\\"\\\\n user:\\\\n client-certificate-data:***\\\\n client-key-data: ***\\"\\n}","type":"json"}]', - 'title' => 'DescribeClusterKubeConfig', - 'description' => '* The maximum number of times that each user can call this operation per second is 100.'."\n", - ], - 'DescribeCluster' => [ - 'summary' => 'Queries Container Service for Kubernetes (ACK) edge clusters.', - 'methods' => [ - 'post', + [ + 'apiName' => 'RemoveSDG', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:RemoveSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DeleteSecurityGroupPermissions', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ens:DeleteSecurityGroupPermissions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateKeyPair', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ens:CreateKeyPair', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', + [ + 'apiName' => 'DescribeServcieSchedule', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ens:DescribeServcieSchedule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c8f0377146d104687ac562eef9403****', + [ + 'apiName' => 'DescribeLoadBalancerListeners', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeLoadBalancerListeners', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'Clusters' => [ - 'description' => 'An array that consists of the information about clusters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Information about a cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The cluster name.'."\n", - 'type' => 'string', - 'example' => 'vc-a622bb**', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'c8f0377146d104687ac562eef9403****', - ], - 'CurrentVersion' => [ - 'description' => 'The version of the cluster.'."\n", - 'type' => 'string', - 'example' => '1.18.8', - ], - 'NextVersion' => [ - 'description' => 'The next version of the cluster.'."\n", - 'type' => 'string', - 'example' => '1.20.8', - ], - 'Status' => [ - 'description' => 'The health status of the instance.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* healthy'."\n" - .'* unhealthy'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'healthy' => 'healthy', - 'unhealthy' => 'unhealthy', - ], - 'example' => 'healthy', - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'PushApplicationData', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:PushApplicationData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'BadRequest', - 'errorMessage' => '请求参数错误 ', + [ + 'apiName' => 'BatchEventRebootInstance', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:BatchEventRebootInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Permission denied.', + ], + ], + [ + 'apiName' => 'DescribeSnatAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ens:DescribeSnatAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.%s', - 'errorMessage' => 'The specified field %s invalid. Please check it again.', + ], + ], + [ + 'apiName' => 'ModifySnatEntry', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:ModifySnatEntry', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'NatGatewaySnatEntry', 'arn' => 'acs:ens::{#accountId}:natgatewaysnatentry/{#SnatEntryId}'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => '内部服务错误', + ], + [ + 'apiName' => 'UnloadRegionSDG', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ens:UnloadRegionSDG', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + [ + 'apiName' => 'DescribeSecurityGroups', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ens:DescribeSecurityGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Clusters\\": [\\n {\\n \\"Name\\": \\"vc-a622bb**\\",\\n \\"ClusterId\\": \\"c8f0377146d104687ac562eef9403****\\",\\n \\"CurrentVersion\\": \\"1.18.8\\",\\n \\"NextVersion\\": \\"1.20.8\\",\\n \\"Status\\": \\"healthy\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeCluster', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n", - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'ens.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ens.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'ens.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'ens.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'ens.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'ens.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'ens.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'ens.aliyuncs.com', + [ + 'apiName' => 'AuthorizeSecurityGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ens:AuthorizeSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ENS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], + ['validationType' => 'always', 'resourceType' => 'Image', 'arn' => 'acs:ens::{#accountId}:image/{#ImageId}'], + ['validationType' => 'always', 'resourceType' => 'HaVip', 'arn' => 'acs:ens::{#accountId}:havip/{#HaVipId}'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairId}'], + ['validationType' => 'always', 'resourceType' => ' Instance', 'arn' => 'acs:ens::{#accountId}:instance/{#InstanceIds}'], + ['validationType' => 'always', 'resourceType' => ' KeyPair', 'arn' => 'acs:ens::{#accountId}:keyPair/{#KeyPairName}'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:ens:*:{#accountId}:instance/*'], + ['validationType' => 'always', 'resourceType' => 'disk', 'arn' => 'acs:ens::{#accountId}:disk/{#DiskId}'], + ['validationType' => 'always', 'resourceType' => 'NatGatewayForwardEntry', 'arn' => 'acs:ens::{#accountId}:natgatewayforwardentry/{#ForwardEntryId}'], + ['validationType' => 'always', 'resourceType' => 'HaVip', 'arn' => 'acs:ens::{#accountId}:havip/{#HaVipIds}'], + ['validationType' => 'always', 'resourceType' => 'NatGatewaySnatEntry', 'arn' => 'acs:ens::{#accountId}:natgatewaysnatentry/{#SnatEntryId}'], ], ], ]; -- cgit v1.2.3