From 7347bac4ab7e136157fc94777e6cf87ef9e08599 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Fri, 13 Feb 2026 10:54:11 +0800 Subject: first commit --- data/zh_cn/ecs/2014-05-26/api-docs.php | 112149 ++++++++++++++++++++++++++++++ 1 file changed, 112149 insertions(+) create mode 100644 data/zh_cn/ecs/2014-05-26/api-docs.php (limited to 'data/zh_cn/ecs/2014-05-26') diff --git a/data/zh_cn/ecs/2014-05-26/api-docs.php b/data/zh_cn/ecs/2014-05-26/api-docs.php new file mode 100644 index 0000000..0ed5699 --- /dev/null +++ b/data/zh_cn/ecs/2014-05-26/api-docs.php @@ -0,0 +1,112149 @@ + '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'Ecs', + 'version' => '2014-05-26', + ], + 'directories' => [ + [ + 'id' => 86352, + 'title' => '地域', + 'type' => 'directory', + 'children' => [ + 'DescribeRegions', + 'DescribeZones', + 'DescribeAvailableResource', + 'DescribeAccountAttributes', + 'DescribeResourcesModification', + 'DescribeRecommendInstanceType', + ], + ], + [ + 'id' => 86384, + 'title' => '询价', + 'type' => 'directory', + 'children' => [ + 'DescribePrice', + 'DescribeRenewalPrice', + 'DescribeInstanceModificationPrice', + ], + ], + [ + 'id' => 86036, + 'title' => '实例', + 'type' => 'directory', + 'children' => [ + 'RunInstances', + 'CreateInstance', + 'StartInstance', + 'StartInstances', + 'StopInstance', + 'StopInstances', + 'RebootInstance', + 'RebootInstances', + 'DeleteInstance', + 'DeleteInstances', + 'DescribeInstanceStatus', + 'DescribeInstances', + 'DescribeInstanceTypeFamilies', + 'DescribeInstanceTypes', + 'DescribeInstanceAttribute', + 'ModifyInstanceAttribute', + 'ModifyInstanceClockOptions', + 'ModifyInstanceNetworkOptions', + 'ModifyInstanceChargeType', + 'ModifyInstanceSpec', + 'ModifyPrepayInstanceSpec', + 'ModifyInstanceAutoReleaseTime', + 'AttachInstanceRamRole', + 'DescribeInstanceRamRole', + 'DetachInstanceRamRole', + 'DescribeInstanceVncUrl', + 'ModifyInstanceVncPasswd', + 'ModifyInstanceMetadataOptions', + 'DescribeUserData', + 'RenewInstance', + 'DescribeInstanceAutoRenewAttribute', + 'ModifyInstanceAutoRenewAttribute', + 'ReActivateInstances', + 'DescribeSpotPriceHistory', + 'DescribeSpotAdvice', + ], + ], + [ + 'id' => 86358, + 'title' => '镜像', + 'type' => 'directory', + 'children' => [ + 'CreateImage', + 'DescribeImages', + 'ModifyImageAttribute', + 'DeleteImage', + 'DescribeImageFromFamily', + 'DescribeImageSupportInstanceTypes', + 'DescribeImageSharePermission', + 'ModifyImageSharePermission', + 'ModifyImageShareGroupPermission', + 'ImportImage', + 'ExportImage', + 'CopyImage', + 'CancelCopyImage', + 'CreateImageComponent', + 'DescribeImageComponents', + 'DeleteImageComponent', + 'CreateImagePipeline', + 'DescribeImagePipelines', + 'DeleteImagePipeline', + 'StartImagePipelineExecution', + 'DescribeImagePipelineExecutions', + 'CancelImagePipelineExecution', + ], + ], + [ + 'id' => 86099, + 'title' => '块存储', + 'type' => 'directory', + 'children' => [ + 'CreateDisk', + 'DescribeDisks', + 'AttachDisk', + 'DetachDisk', + 'ResizeDisk', + 'ModifyDiskAttribute', + 'ModifyDiskChargeType', + 'ModifyDiskSpec', + 'ReplaceSystemDisk', + 'ResetDisk', + 'ResetDisks', + 'ReInitDisk', + 'ModifyDiskDeployment', + 'DeleteDisk', + 'EnableDiskEncryptionByDefault', + 'DescribeDiskEncryptionByDefaultStatus', + 'DescribeDiskDefaultKMSKeyId', + 'ModifyDiskDefaultKMSKeyId', + 'ResetDiskDefaultKMSKeyId', + 'DisableDiskEncryptionByDefault', + ], + ], + [ + 'id' => 86254, + 'title' => '快照', + 'type' => 'directory', + 'children' => [ + 'OpenSnapshotService', + 'CreateSnapshot', + 'DescribeSnapshots', + 'DescribeSnapshotsUsage', + 'ModifySnapshotAttribute', + 'ModifySnapshotCategory', + 'CopySnapshot', + 'DeleteSnapshot', + 'DescribeSnapshotLinks', + 'CreateSnapshotGroup', + 'DescribeSnapshotGroups', + 'ModifySnapshotGroup', + 'DeleteSnapshotGroup', + 'CreateAutoSnapshotPolicy', + 'DescribeAutoSnapshotPolicyEx', + 'DescribeAutoSnapshotPolicyAssociations', + 'ModifyAutoSnapshotPolicyEx', + 'ApplyAutoSnapshotPolicy', + 'CancelAutoSnapshotPolicy', + 'DeleteAutoSnapshotPolicy', + 'DescribeSnapshotPackage', + 'LockSnapshot', + 'DescribeLockedSnapshots', + 'UnlockSnapshot', + ], + ], + [ + 'id' => 86129, + 'title' => '网络', + 'type' => 'directory', + 'children' => [ + 'DescribeBandwidthLimitation', + 'ModifyInstanceNetworkSpec', + 'AllocatePublicIpAddress', + 'ConvertNatPublicIpToEip', + 'ModifyInstanceVpcAttribute', + 'DescribeClassicLinkInstances', + 'AttachClassicLinkVpc', + 'DetachClassicLinkVpc', + ], + ], + [ + 'id' => 86145, + 'title' => '弹性网卡', + 'type' => 'directory', + 'children' => [ + 'CreateNetworkInterface', + 'DescribeNetworkInterfaces', + 'DescribeNetworkInterfaceAttribute', + 'ModifyNetworkInterfaceAttribute', + 'DeleteNetworkInterface', + 'AttachNetworkInterface', + 'DetachNetworkInterface', + 'AssignPrivateIpAddresses', + 'UnassignPrivateIpAddresses', + 'AssignIpv6Addresses', + 'UnassignIpv6Addresses', + 'CreateNetworkInterfacePermission', + 'DescribeNetworkInterfacePermissions', + ], + ], + [ + 'id' => 86410, + 'title' => '前缀列表', + 'type' => 'directory', + 'children' => [ + 'CreatePrefixList', + 'DescribePrefixLists', + 'DescribePrefixListAttributes', + 'DescribePrefixListAssociations', + 'ModifyPrefixList', + 'DeletePrefixList', + ], + ], + [ + 'id' => 204543, + 'title' => '端口列表', + 'type' => 'directory', + 'children' => [ + 'CreatePortRangeList', + 'DescribePortRangeLists', + 'DescribePortRangeListEntries', + 'DescribePortRangeListAssociations', + 'ModifyPortRangeList', + 'DeletePortRangeList', + ], + ], + [ + 'id' => 86278, + 'title' => '安全组', + 'type' => 'directory', + 'children' => [ + 'CreateSecurityGroup', + 'DescribeSecurityGroups', + 'DescribeSecurityGroupAttribute', + 'ModifySecurityGroupPolicy', + 'ModifySecurityGroupAttribute', + 'DeleteSecurityGroup', + 'AuthorizeSecurityGroup', + 'ModifySecurityGroupRule', + 'RevokeSecurityGroup', + 'AuthorizeSecurityGroupEgress', + 'ModifySecurityGroupEgressRule', + 'RevokeSecurityGroupEgress', + 'DescribeSecurityGroupReferences', + 'JoinSecurityGroup', + 'LeaveSecurityGroup', + ], + ], + [ + 'id' => 86301, + 'title' => '密钥对', + 'type' => 'directory', + 'children' => [ + 'CreateKeyPair', + 'ImportKeyPair', + 'DescribeKeyPairs', + 'AttachKeyPair', + 'DetachKeyPair', + 'DeleteKeyPairs', + ], + ], + [ + 'id' => 86213, + 'title' => '启动模板', + 'type' => 'directory', + 'children' => [ + 'CreateLaunchTemplate', + 'DescribeLaunchTemplates', + 'DeleteLaunchTemplate', + 'CreateLaunchTemplateVersion', + 'DescribeLaunchTemplateVersions', + 'ModifyLaunchTemplateDefaultVersion', + 'DeleteLaunchTemplateVersion', + ], + ], + [ + 'id' => 86247, + 'title' => '弹性供应组', + 'type' => 'directory', + 'children' => [ + 'CreateAutoProvisioningGroup', + 'DescribeAutoProvisioningGroups', + 'DescribeAutoProvisioningGroupInstances', + 'ModifyAutoProvisioningGroup', + 'DescribeAutoProvisioningGroupHistory', + 'DeleteAutoProvisioningGroup', + ], + ], + [ + 'id' => 86294, + 'title' => '部署集', + 'type' => 'directory', + 'children' => [ + 'CreateDeploymentSet', + 'DescribeDeploymentSetSupportedInstanceTypeFamily', + 'DescribeDeploymentSets', + 'ModifyInstanceDeployment', + 'ModifyDeploymentSetAttribute', + 'DeleteDeploymentSet', + ], + ], + [ + 'id' => 86228, + 'title' => '资源保障', + 'type' => 'directory', + 'children' => [ + 'CreateElasticityAssurance', + 'DescribeElasticityAssurances', + 'DescribeElasticityAssuranceInstances', + 'ModifyElasticityAssurance', + 'RenewElasticityAssurances', + 'ModifyElasticityAssuranceAutoRenewAttribute', + 'DescribeElasticityAssuranceAutoRenewAttribute', + 'PurchaseElasticityAssurance', + 'CreateCapacityReservation', + 'DescribeCapacityReservations', + 'DescribeCapacityReservationInstances', + 'ModifyCapacityReservation', + 'DescribeInstanceAttachmentAttributes', + 'ModifyInstanceAttachmentAttributes', + 'ReleaseCapacityReservation', + ], + ], + [ + 'id' => 86239, + 'title' => '预留实例券', + 'type' => 'directory', + 'children' => [ + 'PurchaseReservedInstancesOffering', + 'DescribeReservedInstances', + 'ModifyReservedInstances', + 'ModifyReservedInstanceAttribute', + 'RenewReservedInstances', + 'DescribeReservedInstanceAutoRenewAttribute', + 'ModifyReservedInstanceAutoRenewAttribute', + ], + ], + [ + 'id' => 86119, + 'title' => '存储容量单位包', + 'type' => 'directory', + 'children' => [ + 'PurchaseStorageCapacityUnit', + 'DescribeStorageCapacityUnits', + 'ModifyStorageCapacityUnitAttribute', + ], + ], + [ + 'id' => 86326, + 'title' => '云助手', + 'type' => 'directory', + 'children' => [ + 'RunCommand', + 'CreateCommand', + 'InvokeCommand', + 'DescribeInvocations', + 'DescribeInvocationResults', + 'ModifyInvocationAttribute', + 'StopInvocation', + 'DescribeCommands', + 'ModifyCommand', + 'DeleteCommand', + 'SendFile', + 'DescribeSendFileResults', + 'DescribeCloudAssistantStatus', + 'InstallCloudAssistant', + 'StartTerminalSession', + 'EndTerminalSession', + 'DescribeTerminalSessions', + 'ModifyCloudAssistantSettings', + 'DescribeCloudAssistantSettings', + 'CreateActivation', + 'DescribeActivations', + 'DisableActivation', + 'DeleteActivation', + 'DescribeManagedInstances', + 'ModifyManagedInstance', + 'DeregisterManagedInstance', + 'ListPluginStatus', + ], + ], + [ + 'id' => 86308, + 'title' => '系统事件', + 'type' => 'directory', + 'children' => [ + 'DescribeInstancesFullStatus', + 'DescribeDisksFullStatus', + 'DescribeInstanceHistoryEvents', + 'CreateSimulatedSystemEvents', + 'CancelSimulatedSystemEvents', + 'AcceptInquiredSystemEvent', + ], + ], + [ + 'id' => 178259, + 'title' => '资源诊断', + 'type' => 'directory', + 'children' => [ + 'DescribeDiagnosticMetrics', + 'CreateDiagnosticMetricSet', + 'DescribeDiagnosticMetricSets', + 'ModifyDiagnosticMetricSet', + 'DeleteDiagnosticMetricSets', + 'CreateDiagnosticReport', + 'DescribeDiagnosticReports', + 'DescribeDiagnosticReportAttributes', + 'DeleteDiagnosticReports', + ], + ], + [ + 'id' => 86315, + 'title' => '运维与监控', + 'type' => 'directory', + 'children' => [ + 'GetInstanceScreenshot', + 'GetInstanceConsoleOutput', + 'DescribeDiskMonitorData', + 'DescribeInstanceMonitorData', + 'DescribeEniMonitorData', + 'DescribeSnapshotMonitorData', + 'DescribeInstanceMaintenanceAttributes', + 'ModifyInstanceMaintenanceAttributes', + 'RedeployInstance', + 'ReportInstancesStatus', + ], + ], + [ + 'id' => 86344, + 'title' => '标签与资源组', + 'type' => 'directory', + 'children' => [ + 'TagResources', + 'ListTagResources', + 'UntagResources', + 'JoinResourceGroup', + ], + ], + [ + 'id' => 86076, + 'title' => '专有宿主机', + 'type' => 'directory', + 'children' => [ + 'AllocateDedicatedHosts', + 'DescribeDedicatedHosts', + 'DescribeDedicatedHostTypes', + 'ModifyDedicatedHostAttribute', + 'ModifyDedicatedHostsChargeType', + 'DescribeDedicatedHostAutoRenew', + 'ModifyDedicatedHostAutoRenewAttribute', + 'RenewDedicatedHosts', + 'ModifyDedicatedHostAutoReleaseTime', + 'RedeployDedicatedHost', + 'ReleaseDedicatedHost', + 'CreateDedicatedHostCluster', + 'ModifyDedicatedHostClusterAttribute', + 'DescribeDedicatedHostClusters', + 'DeleteDedicatedHostCluster', + ], + ], + [ + 'id' => 86093, + 'title' => '高性能集群', + 'type' => 'directory', + 'children' => [ + 'CreateHpcCluster', + 'DescribeHpcClusters', + 'ModifyHpcClusterAttribute', + 'DeleteHpcCluster', + ], + ], + [ + 'id' => 178292, + 'title' => '任务', + 'type' => 'directory', + 'children' => [ + 'DescribeTasks', + 'DescribeTaskAttribute', + 'CancelTask', + ], + ], + [ + 'id' => 178261, + 'title' => 'Deprecated', + 'type' => 'directory', + 'children' => [ + 'DescribeUserBusinessBehavior', + 'ModifyUserBusinessBehavior', + 'DescribeLimitation', + 'DescribeClusters', + 'DeleteNetworkInterfacePermission', + 'DeleteBandwidthPackage', + 'ModifyBandwidthPackageSpec', + 'DescribeBandwidthPackages', + 'CreateVSwitch', + 'DeleteVSwitch', + 'ModifyVSwitchAttribute', + 'DescribeVSwitches', + 'CreatePhysicalConnection', + 'DeletePhysicalConnection', + 'ModifyPhysicalConnectionAttribute', + 'EnablePhysicalConnection', + 'DescribePhysicalConnections', + 'CancelPhysicalConnection', + 'TerminatePhysicalConnection', + 'CreateVpc', + 'DeleteVpc', + 'DescribeVpcs', + 'ModifyVpcAttribute', + 'RemoveBandwidthPackageIps', + 'CreateHaVip', + 'DeleteHaVip', + 'AssociateHaVip', + 'ModifyHaVipAttribute', + 'DescribeHaVips', + 'UnassociateHaVip', + 'CreateVirtualBorderRouter', + 'DeleteVirtualBorderRouter', + 'ModifyVirtualBorderRouterAttribute', + 'RecoverVirtualBorderRouter', + 'TerminateVirtualBorderRouter', + 'DescribeVirtualBorderRouters', + 'DescribeVirtualBorderRoutersForPhysicalConnection', + 'CreateRouterInterface', + 'DeleteRouterInterface', + 'ActivateRouterInterface', + 'DeactivateRouterInterface', + 'ModifyRouterInterfaceAttribute', + 'ModifyRouterInterfaceSpec', + 'ModifyVRouterAttribute', + 'DescribeRouterInterfaces', + 'UnassociateEipAddress', + 'AllocateEipAddress', + 'ModifyEipAddressAttribute', + 'ReleaseEipAddress', + 'AssociateEipAddress', + 'DescribeEipAddresses', + 'DescribeEipMonitorData', + 'CreateNatGateway', + 'DeleteNatGateway', + 'DescribeNatGateways', + 'DescribeNewProjectEipMonitorData', + 'DeleteRouteEntry', + 'DeleteForwardEntry', + 'CreateForwardEntry', + 'AddBandwidthPackageIps', + 'DescribeVRouters', + 'CreateRouteEntry', + 'DescribeForwardTableEntries', + 'ModifyForwardEntry', + 'DescribeAccessPoints', + 'DescribeRouteTables', + 'ConnectRouterInterface', + 'ExportSnapshot', + 'ReleasePublicIpAddress', + 'AddTags', + 'DescribeResourceByTags', + 'DescribeTags', + 'RemoveTags', + ], + ], + [ + 'id' => 362367, + 'title' => '其他', + 'type' => 'directory', + 'children' => [ + 'EnableNetworkInterfaceQoS', + 'DisableNetworkInterfaceQoS', + ], + ], + [ + 'id' => 0, + 'title' => '其它', + 'type' => 'directory', + 'children' => [ + 'DescribePlanMaintenanceWindows', + 'CreatePlanMaintenanceWindow', + 'ModifyPlanMaintenanceWindow', + 'DeletePlanMaintenanceWindow', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'DescribeRegions' => [ + 'summary' => '根据计费方式、资源类型等参数查询地域信息列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28984', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的计费方式,更多信息,请参见[计费概述](~~25398~~)。取值范围:'."\n" + ."\n" + .'- PrePaid:包年包月。此时,请确认自己的账号支持余额支付或者信用支付,否则将报错InvalidPayMethod。'."\n" + .'- PostPaid:按量付费。'."\n" + .'- SpotWithPriceLimit:设置上限价格。'."\n" + .'- SpotAsPriceGo:系统自动出价,最高按量付费价格。'."\n" + ."\n" + .'默认值:PostPaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- scu:存储容量单位包。'."\n" + ."\n" + .'默认值:instance。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '根据汉语、英语和日语筛选返回结果。更多详情,请参见[RFC 7231](https://tools.ietf.org/html/rfc7231)。取值范围: '."\n" + .' '."\n" + .'- zh-CN:简体中文。'."\n" + .'- zh-TW:繁体中文。'."\n" + .'- en-US:英文。'."\n" + .'- ja:日文。'."\n" + .'- fr:法语。'."\n" + .'- de:德语。'."\n" + .'- ko:韩语。'."\n" + ."\n" + .'默认值:zh-CN。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'de' => '德语', + 'en-US' => '英文', + 'ko' => '韩语', + 'zh-TW' => '繁体中文', + 'ja' => '日文', + 'fr' => '法语', + 'zh-CN' => '简体中文', + ], + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Region' => [ + 'description' => '地域信息集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => ' 集群是否售罄。可能值:'."\n" + ."\n" + .'- available。'."\n" + .'- soldOut。', + 'type' => 'string', + 'example' => 'available', + ], + 'RegionEndpoint' => [ + 'description' => '地域对应的接入地址(Endpoint)。', + 'type' => 'string', + 'example' => 'ecs.cn-qingdao.aliyuncs.com', + ], + 'LocalName' => [ + 'description' => '地域名称。', + 'type' => 'string', + 'example' => '华北1(青岛)', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Unauthorized.EmptyRegion', + 'errorMessage' => 'The specified account has no access authority to any region.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The specified instanceChargeType is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAcceptLanguage.NotFound', + 'errorMessage' => 'Only Chinese (zh-CN), English (en-US), and Japanese (ja) are allowed.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"Status\\": \\"available\\",\\n \\"RegionEndpoint\\": \\"ecs.cn-qingdao.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北1(青岛)\\",\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 38EC7366-F5A9-46B1-BDB1-0FDC2E296397\\n \\n \\n cn-qingdao-et2-b01\\n ecs.aliyuncs.com\\n 华北1(青岛)\\n \\n \\n cn-qingdao-nebula\\n ecs.cn-qingdao-nebula.aliyuncs.com\\n cn-qingdao-nebula\\n \\n \\n","errorExample":""}]', + 'title' => '查询地域列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeZones' => [ + 'summary' => '根据地域ID、计费方式等参数查询可用区信息列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29018', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Verbose', + 'in' => 'query', + 'schema' => [ + 'description' => '是否展示详细信息。'."\n" + ."\n" + .'- true:展示。'."\n" + .'- false:不展示。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'true', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区里支持的资源计费方式。更多信息,请参见[计费概述](~~25398~~)。取值范围: '."\n" + ."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .'默认值:PostPaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例的竞价策略。当`InstanceChargeType=PostPaid`时,您可以传入该参数。更多信息,请参见[抢占式实例](~~52088~~)。取值范围:'."\n" + .' '."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,最高按量付费价格。'."\n" + ."\n" + .'默认值:NoSpot。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '根据汉语、英语和日语筛选返回结果。更多信息,请参见[RFC 7231](https://tools.ietf.org/html/rfc7231)。取值范围: '."\n" + .' '."\n" + .'- zh-CN:简体中文。'."\n" + .'- zh-TW:繁体中文。'."\n" + .'- en-US:英文。'."\n" + .'- ja:日文。'."\n" + .'- fr:法语。'."\n" + .'- de:德语。'."\n" + .'- ko:韩语。'."\n" + ."\n" + .'默认值:zh-CN。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'de' => '德语', + 'en-US' => '英文', + 'ko' => '韩语', + 'zh-TW' => '繁体中文', + 'ja' => '日文', + 'fr' => '法语', + 'zh-CN' => '简体中文', + ], + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Zones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Zone' => [ + 'description' => '可用区及可用区下支持的资源信息集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'ZoneType' => [ + 'description' => '可用区类型。可能值:'."\n" + ."\n" + .''."\n" + .'- AvailabilityZone:公共云可用区。'."\n" + .'- CloudBoxZone:云盒可用区。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- AvailabilityZone:公共云可用区。'."\n" + ."\n" + .''."\n", + 'type' => 'string', + 'example' => 'AvailabilityZone', + ], + 'LocalName' => [ + 'description' => '可用区本地语言名。', + 'type' => 'string', + 'example' => '华东 1 可用区 G', + ], + 'AvailableResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ResourcesInfo' => [ + 'description' => '可供创建的具体资源组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IoOptimized' => [ + 'description' => '是否为I/O优化实例。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'SystemDiskCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'supportedSystemDiskCategory' => [ + 'description' => '系统盘类型列表。', + 'type' => 'array', + 'items' => [ + 'description' => '允许创建的系统盘类型。可能值:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。', + 'type' => 'string', + 'example' => 'cloud_essd', + ], + ], + ], + ], + 'InstanceGenerations' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'supportedInstanceGeneration' => [ + 'description' => '支持的实例规格族代数列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格族代数。', + 'type' => 'string', + 'example' => 'ecs-6', + ], + ], + ], + ], + 'DataDiskCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'supportedDataDiskCategory' => [ + 'description' => '允许创建的数据盘类型。', + 'type' => 'array', + 'items' => [ + 'description' => '数据盘类型。可能值:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- ephemeral_ssd:本地SSD盘。', + 'type' => 'string', + 'example' => 'cloud_essd', + ], + ], + ], + ], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'supportedInstanceType' => [ + 'description' => '实例规格列表。', + 'type' => 'array', + 'items' => [ + 'description' => '当前可用区、网络类型(NetworkTypes)、I/O优化实例(IoOptimized)下允许创建的实例规格列表。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + ], + ], + ], + 'InstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'supportedInstanceTypeFamily' => [ + 'description' => '允许创建的实例规格族列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格族。', + 'type' => 'string', + 'example' => 'ecs.r7t', + ], + ], + ], + ], + 'NetworkTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'supportedNetworkCategory' => [ + 'description' => '支持的网络类型列表。', + 'type' => 'array', + 'items' => [ + 'description' => '支持的网络类型。可能值:'."\n" + ."\n" + .'- VPC:专有网络VPC。'."\n" + .'- Classic:经典网络。', + 'type' => 'string', + 'example' => 'vpc', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'AvailableResourceCreation' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ResourceTypes' => [ + 'description' => '允许创建的资源类型列表。', + 'type' => 'array', + 'items' => [ + 'description' => '允许创建的资源类型。可能值:'."\n" + ."\n" + .'- VSwitch:交换机。'."\n" + .'- IoOptimized:I/O优化实例。'."\n" + .'- Instance:实例。'."\n" + .'- DedicatedHost:专有宿主机。'."\n" + .'- Disk:云盘。', + 'type' => 'string', + 'example' => 'DedicatedHost', + ], + ], + ], + ], + 'DedicatedHostGenerations' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHostGeneration' => [ + 'description' => '支持的专有宿主机代数列表。', + 'type' => 'array', + 'items' => [ + 'description' => '支持的专有宿主机代数。', + 'type' => 'string', + 'example' => 'ddh-6', + ], + ], + ], + ], + 'AvailableInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypes' => [ + 'description' => '当前可用区下可创建的所有规格列表。', + 'type' => 'array', + 'items' => [ + 'description' => '当前可用区下可创建的规格。', + 'type' => 'string', + 'example' => 'ecs.g6.xlarge', + ], + ], + ], + ], + 'AvailableDiskCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskCategories' => [ + 'description' => '允许创建的云盘种类集合。', + 'type' => 'array', + 'items' => [ + 'description' => '允许创建的云盘种类。可能值:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_essd:ESSD云盘。', + 'type' => 'string', + 'example' => 'cloud', + ], + ], + ], + ], + 'AvailableDedicatedHostTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHostType' => [ + 'description' => '支持的专有宿主机规格列表。', + 'type' => 'array', + 'items' => [ + 'description' => '支持的专有宿主机规格。', + 'type' => 'string', + 'example' => 'ddh.g6', + ], + ], + ], + ], + 'AvailableVolumeCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VolumeCategories' => [ + 'description' => '支持的共享存储类型列表。', + 'type' => 'array', + 'items' => [ + 'description' => '支持的共享存储类型。', + 'type' => 'string', + 'example' => 'san_efficiency', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSpotStrategy', + 'errorMessage' => 'The specified SpotStrategy is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegion.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The InstanceChargeType does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidAcceptLanguage.NotFound', + 'errorMessage' => 'Only Chinese (zh-CN), English (en-US), and Japanese (ja) are allowed.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Zones\\": {\\n \\"Zone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ZoneType\\": \\"AvailabilityZone\\",\\n \\"LocalName\\": \\"华东 1 可用区 G\\",\\n \\"AvailableResources\\": {\\n \\"ResourcesInfo\\": [\\n {\\n \\"IoOptimized\\": true,\\n \\"SystemDiskCategories\\": {\\n \\"supportedSystemDiskCategory\\": [\\n \\"cloud_essd\\"\\n ]\\n },\\n \\"InstanceGenerations\\": {\\n \\"supportedInstanceGeneration\\": [\\n \\"ecs-6\\"\\n ]\\n },\\n \\"DataDiskCategories\\": {\\n \\"supportedDataDiskCategory\\": [\\n \\"cloud_essd\\"\\n ]\\n },\\n \\"InstanceTypes\\": {\\n \\"supportedInstanceType\\": [\\n \\"ecs.g5.large\\"\\n ]\\n },\\n \\"InstanceTypeFamilies\\": {\\n \\"supportedInstanceTypeFamily\\": [\\n \\"ecs.r7t\\"\\n ]\\n },\\n \\"NetworkTypes\\": {\\n \\"supportedNetworkCategory\\": [\\n \\"vpc\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"AvailableResourceCreation\\": {\\n \\"ResourceTypes\\": [\\n \\"DedicatedHost\\"\\n ]\\n },\\n \\"DedicatedHostGenerations\\": {\\n \\"DedicatedHostGeneration\\": [\\n \\"ddh-6\\"\\n ]\\n },\\n \\"AvailableInstanceTypes\\": {\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.xlarge\\"\\n ]\\n },\\n \\"AvailableDiskCategories\\": {\\n \\"DiskCategories\\": [\\n \\"cloud\\"\\n ]\\n },\\n \\"AvailableDedicatedHostTypes\\": {\\n \\"DedicatedHostType\\": [\\n \\"ddh.g6\\"\\n ]\\n },\\n \\"AvailableVolumeCategories\\": {\\n \\"VolumeCategories\\": [\\n \\"san_efficiency\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n \\n \\n ddh-5\\n ddh-6\\n \\n \\n ecs.g6.xlarge\\n ecs.g7t.4xlarge\\n \\n cn-hangzhou-g\\n \\n ddh.g6\\n ddh.r6\\n \\n \\n \\n \\n ecs-5\\n ecs-6\\n \\n \\n vpc\\n \\n true\\n \\n cloud_efficiency\\n cloud_essd\\n \\n \\n ecs.c6.xlarge\\n ecs.g5.large\\n \\n \\n ecs.r7t\\n ecs.r7\\n \\n \\n cloud_efficiency\\n cloud_essd\\n \\n \\n \\n \\n cloud_efficiency\\n cloud_essd\\n \\n AvailabilityZone\\n 华东 1 可用区 G\\n \\n VSwitch\\n IoOptimized\\n Instance\\n DedicatedHost\\n Disk\\n \\n \\n san_efficiency\\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询可用区列表', + 'description' => 'DescribeZones仅查询阿里云提供的可用区列表并返回少量库存信息。如果您需要查询具体可用区下可购买的实例规格和云盘规格,推荐您使用[DescribeAvailableResource](~~66186~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAvailableResource' => [ + 'summary' => '查询指定可用区的资源库存状态。该接口主要用于在创建实例(RunInstances)或修改实例规格(ModifyInstanceSpec)前,确认目标资源(如实例规格、系统盘类型)在特定可用区是否库存充足。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28903', + 'abilityTreeNodes' => [ + 'FEATUREecs2UXJI2', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源的计费方式。更多信息,请参见[计费概述](~~25398~~)。取值范围: '."\n" + .' '."\n" + .'- PrePaid:包年包月。 '."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .'默认值:PostPaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例的竞价策略。取值范围: '."\n" + .' '."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,最高按量付费价格。'."\n" + ."\n" + .'默认值:NoSpot。'."\n" + ."\n" + .'当参数`InstanceChargeType`取值为`PostPaid`时,参数`SpotStrategy`才有效。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:'."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'> 当`InstanceChargeType`取值为`PostPaid`,并且`SpotStrategy`值为`SpotWithPriceLimit`或`SpotAsPriceGo`时该参数生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '6', + 'minimum' => '0', + 'example' => '1', + ], + ], + [ + 'name' => 'DestinationResource', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的资源类型。取值范围: '."\n" + .' '."\n" + .'- Zone:可用区。'."\n" + .'- IoOptimized:I/O优化。'."\n" + .'- InstanceType:实例规格。'."\n" + .'- Network:网络类型。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- SystemDisk:系统盘。'."\n" + .'- DataDisk:数据盘。'."\n" + ."\n" + .'>当DestinationResource取值为`SystemDisk`时,由于系统盘受实例规格限制,此时必须传入InstanceType。'."\n" + ."\n" + .'参数DestinationResource的取值方式请参见本文中的**接口说明**。', + 'type' => 'string', + 'required' => true, + 'example' => 'InstanceType', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。'."\n" + ."\n" + .'默认值:无。返回该地域(`RegionId`)下所有可用区符合查询条件的资源。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-e', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。取值范围: '."\n" + .' '."\n" + .'- none:非I/O优化实例。'."\n" + .'- optimized:I/O优化实例。'."\n" + ."\n\n" + .'默认值:optimized。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dh-bp165p6xk2tlw61e****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格。更多信息,请参见[实例规格族](~~25378~~),您也可以调用[DescribeInstanceTypes](~~25620~~)接口获得最新的规格表。'."\n" + ."\n" + .'参数InstanceType的取值方式请参见本文开头的**接口说明**。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'SystemDiskCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘类型。取值范围: '."\n" + .' '."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- ephemeral_ssd:本地SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .''."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .''."\n" + ."\n" + .'参数默认值说明:'."\n" + ."\n" + .'- 当InstanceType为已停售的实例规格,该参数默认值为`cloud`。'."\n" + .'- 其它情况下,该参数默认值为`cloud_efficiency`。2026年1月30日后,对于仅支持cloud_essd的实例规格,默认值由 cloud_efficiency调整为cloud_essd PL0,详情参见[变更公告](https://www.aliyun.com/notice/117844)。'."\n" + ."\n" + .'> 参数ResourceType取值为instance、DestinationResource取值为DataDisk时,参数SystemDiskCategory是必选参数。如果未传递参数值,则以默认值生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'DataDiskCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘类型。取值范围: '."\n" + .' '."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- ephemeral_ssd:本地SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .''."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'NetworkCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '网络类型。取值范围: '."\n" + .' '."\n" + .'- vpc:专有网络。'."\n" + .'- classic:经典网络。'."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'Cores', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格的vCPU内核数目。取值参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'当DestinationResource取值为InstanceType时,Cores才为有效参数。 ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格的内存大小,单位为GiB。取值参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'当DestinationResource取值为InstanceType时,Memory才为有效参数。 ', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '8.0', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:云盘。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- ddh:专有宿主机。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + ], + [ + 'name' => 'Scope', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的范围。取值范围:'."\n" + .' '."\n" + .'- Region:地域级别。'."\n" + .'- Zone:可用区级别。', + 'type' => 'string', + 'required' => false, + 'example' => 'Region', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0041D94C-FB92-4C49-B115-259DA1C*****', + ], + 'AvailableZones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableZone' => [ + 'description' => '可用区库存信息的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区库存信息。', + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-e', + ], + 'Status' => [ + 'description' => '可用区的状态描述。可能值: '."\n" + .' '."\n" + .'- Available:资源可售 ,代表该可用区有可售的任意资源,不仅指待查询的某一种资源。'."\n" + .'- SoldOut:资源已售罄,代表该可用区下已没有可售卖的任何资源。', + 'type' => 'string', + 'example' => 'Available', + ], + 'StatusCategory' => [ + 'description' => '根据可用区下库存情况对可用区状态进行详细描述。可能值:'."\n" + ."\n" + .'- WithStock:当前有库存,且会持续补充资源。'."\n" + .'- ClosedWithStock:当前有库存,但不会继续补充资源。'."\n" + .'- WithoutStock:库存售罄,将会补充资源,建议选用WithStock状态的产品规格。'."\n" + .'- ClosedWithoutStock:库存售罄,且不补充资源,请选用WithStock状态的产品规格。', + 'type' => 'string', + 'example' => 'WithStock', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AvailableResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableResource' => [ + 'description' => '可供创建的具体资源组成的数组。', + 'type' => 'array', + 'items' => [ + 'description' => '可供创建的具体资源集合。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '资源类型。可能值: '."\n" + .' '."\n" + .'- Zone:可用区。'."\n" + .'- IoOptimized:I/O优化。 '."\n" + .'- InstanceType:实例规格。'."\n" + .'- SystemDisk:系统盘。 '."\n" + .'- DataDisk:数据盘。 '."\n" + .'- Network:网络类型。'."\n" + .'- ddh:专有宿主机。'."\n" + .' ', + 'type' => 'string', + 'example' => 'InstanceType', + ], + 'SupportedResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedResource' => [ + 'description' => '支持的可供创建的具体资源组成的数组。', + 'type' => 'array', + 'items' => [ + 'description' => '支持的可供创建的具体资源信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '具体资源类型的状态描述。可能值: '."\n" + .' '."\n" + .'- Available:资源可售。 '."\n" + .'- SoldOut:资源已售罄。', + 'type' => 'string', + 'example' => 'Available', + ], + 'Value' => [ + 'description' => '资源值。', + 'type' => 'string', + 'example' => 'ecs.d1ne.xlarge', + ], + 'Max' => [ + 'description' => '云盘容量范围的最大值。'."\n" + ."\n" + .'> 仅当入参DestinationResource取值为`SystemDisk`或`DataDisk`时该参数才生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2048', + ], + 'Unit' => [ + 'description' => '云盘容量的单位。'."\n" + ."\n" + .'> 仅当入参DestinationResource取值为`SystemDisk`或`DataDisk`时该参数才生效。', + 'type' => 'string', + 'example' => 'GiB', + ], + 'StatusCategory' => [ + 'description' => '根据库存情况对资源状态进行详细描述。可能值:'."\n" + ."\n" + .'- WithStock:当前有库存,且会持续补充资源。'."\n" + .'- ClosedWithStock:当前有库存,但不会继续补充资源。'."\n" + .'- WithoutStock:库存售罄,将会补充资源,建议选用WithStock状态的产品规格。'."\n" + .'- ClosedWithoutStock:库存售罄,且不补充资源,请选用WithStock状态的产品规格。', + 'type' => 'string', + 'example' => 'WithStock', + ], + 'Min' => [ + 'description' => '云盘容量范围的最小值。'."\n" + ."\n" + .'> 仅当入参DestinationResource取值为`SystemDisk`或`DataDisk`时该参数才生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The specified InstanceChargeType is not valid.', + ], + [ + 'errorCode' => 'Invalid.Param', + 'errorMessage' => 'The input parameter DestinationResource that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'InvalidParam.TypeAndCpuMem.Conflict', + 'errorMessage' => 'The specified \'InstanceType\' and \'Cores\',\'Memory\' are not blank at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Cores', + 'errorMessage' => 'The specified parameter \'Cores\' should be empty.', + ], + [ + 'errorCode' => 'InvalidParam.Memory', + 'errorMessage' => 'The specified parameter \'Memory\' should be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.Scope', + 'errorMessage' => 'The specified parameter Scope is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.RegionIdNotSupported', + 'errorMessage' => 'The region does not support preemptible instances.', + ], + [ + 'errorCode' => 'OperationDenied.FlavorNotSupported', + 'errorMessage' => 'The flavor does not support preemptible instances.', + ], + [ + 'errorCode' => 'OperationDenied.TimestampNotSupported', + 'errorMessage' => 'Preemptible instances are not for sale for current time.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerId', + 'errorMessage' => 'The specified parameter ResourceOwnerId is not available anymore.', + ], + ], + [ + [ + 'errorCode' => 'Invalid.RegionId', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'Unavailable.Regions', + 'errorMessage' => 'The available region does not exist.', + ], + [ + 'errorCode' => 'Invalid.ResourceType', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + [ + 'errorCode' => 'Invalid.DestinationResource', + 'errorMessage' => 'The specified DestinationResource is not valid.', + ], + [ + 'errorCode' => 'Invalid.IoOptimized', + 'errorMessage' => 'The specified IoOptimized is not valid.', + ], + [ + 'errorCode' => 'Invalid.NetworkCategory', + 'errorMessage' => 'The specified NetworkCategory is not valid.', + ], + [ + 'errorCode' => 'Invalid.SpotStrategy', + 'errorMessage' => 'The specified SpotStrategy is not valid.', + ], + [ + 'errorCode' => 'Invalid.NetworkType', + 'errorMessage' => 'The specified NetworkType is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceId is not found in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified Dedicated Host does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0041D94C-FB92-4C49-B115-259DA1C*****\\",\\n \\"AvailableZones\\": {\\n \\"AvailableZone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-e\\",\\n \\"Status\\": \\"Available\\",\\n \\"StatusCategory\\": \\"WithStock\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AvailableResources\\": {\\n \\"AvailableResource\\": [\\n {\\n \\"Type\\": \\"InstanceType\\",\\n \\"SupportedResources\\": {\\n \\"SupportedResource\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"Value\\": \\"ecs.d1ne.xlarge\\",\\n \\"Max\\": 2048,\\n \\"Unit\\": \\"GiB\\",\\n \\"StatusCategory\\": \\"WithStock\\",\\n \\"Min\\": 20\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 0041D94C-FB92-4C49-B115-259DA1C*****\\n \\n \\n Available\\n cn-hangzhou\\n \\n \\n InstanceType\\n \\n \\n Available\\n ecs.g5.large\\n WithStock\\n \\n \\n \\n \\n cn-hangzhou-i\\n WithStock\\n \\n \\n","errorExample":""}]', + 'title' => '查询可用区的资源库存', + 'description' => '参数`DestinationResource`的取值有不同的逻辑与要求。在下列的顺序列表中,顺序越低的取值需要设置更多的参数,不支持通过低顺序的取值筛选高顺序的资源类别。'."\n" + ."\n" + .'- 取值顺序:`Zone > IoOptimized > InstanceType = Network = ddh > SystemDisk > DataDisk`'."\n" + ."\n" + .'- 取值示例:'."\n" + ."\n" + .' - 若参数`DestinationResource`取值为`DataDisk`:'."\n" + ."\n" + .' - `ResourceType`取值为`disk`表示查询与ECS实例规格无关的数据盘类型,可以不传入参数`InstanceType`。'."\n" + ."\n" + .' - `ResourceType`取值为`instance`表示查询待挂载至ECS实例的数据盘类型,由于实例规格对数据盘有限制,所以需要同时指定`InstanceType`与参数`DataDiskCategory `。'."\n" + ."\n" + .' - 若参数`DestinationResource`取值为`SystemDisk`,`ResourceType`取值为`instance`,由于ECS实例规格对系统盘存在限制,则必须要传入参数`InstanceType`。'."\n" + ."\n" + .' - 若参数`DestinationResource`取值为`InstanceType`,建议传入参数`IoOptimized`和`InstanceType`。'."\n" + ."\n" + .' - 查询指定地域下所有可用区的ecs.g5.large库存供应情况:`RegionId=cn-hangzhou &DestinationResource=InstanceType &IoOptimized=optimized &InstanceType=ecs.g5.large`。'."\n" + ."\n" + .' - 查询指定地域下有ecs.g5.large库存供应的可用区列表:`RegionId=cn-hangzhou &DestinationResource=Zone &IoOptimized=optimized &InstanceType=ecs.g5.large`。'."\n" + ."\n" + .'
'."\n" + .'查询杭州地域供应实例规格为ecs.g5.large的可用区列表。'."\n" + ."\n" + .'```'."\n" + .'"RegionId": "cn-hangzhou",'."\n" + .'"DestinationResource": "Zone",'."\n" + .'"InstanceType": "ecs.g5.large"'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'查询杭州地域、所有可用区下的实例类型为ecs.g5.large的库存。'."\n" + ."\n" + .'```'."\n" + .'"RegionId": "cn-hangzhou",'."\n" + .'"DestinationResource": "InstanceType",'."\n" + .'"InstanceType": "ecs.g5.large"'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'【只购买数据盘】查询杭州地域、可用区b下的数据盘类型为cloud_efficiency的库存。'."\n" + ."\n" + .'```'."\n" + .'"RegionId": "cn-hangzhou",'."\n" + .'"ZoneId": "cn-hangzhou-b",'."\n" + .'"ResourceType": "disk",'."\n" + .'"DestinationResource": "DataDisk"'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'【购买ECS实例和系统盘】查询杭州地域、可用区b下的实例类型为ecs.g7.large、系统盘类型为cloud_essd的库存。'."\n" + ."\n" + .'```'."\n" + .'"RegionId": "cn-hangzhou",'."\n" + .'"ZoneId": "cn-hangzhou-b",'."\n" + .'"ResourceType": "instance",'."\n" + .'"InstanceType": "ecs.g7.large",'."\n" + .'"DestinationResource": "SystemDisk",'."\n" + .'"SystemDiskCategory": "cloud_essd"'."\n" + .'```'."\n" + .'
', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAccountAttributes' => [ + 'summary' => '查询您在一个阿里云地域下能创建的ECS资源配额。包括您能创建的安全组数量、弹性网卡数量、按量付费vCPU核数、抢占式实例vCPU核数、按量付费云盘总容量配额、专用宿主机数量、网络类型以及账号是否已完成实名认证。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28896', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-b', + ], + ], + [ + 'name' => 'AttributeName', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '查询某类资源在指定地域下的使用配额,N的取值范围为1~8。取值范围:'."\n" + ."\n" + .'- instance-network-type:可选择的网络类型。'."\n" + .'- max-security-groups:安全组数量。'."\n" + .'- max-elastic-network-interfaces:弹性网卡的数量。'."\n" + .'- max-postpaid-instance-vcpu-count:按量付费实例的vCPU核数上限。'."\n" + .'- max-spot-instance-vcpu-count:抢占式实例vCPU核数上限。'."\n" + .'- used-postpaid-instance-vcpu-count:已使用按量付费实例的vCPU核数。'."\n" + .'- used-spot-instance-vcpu-count:已使用抢占式实例vCPU核数。'."\n" + .'- max-postpaid-yundisk-capacity:用作数据盘的按量付费云盘的总容量上限。(该参数值已弃用)'."\n" + .'- used-postpaid-yundisk-capacity:已使用的用作数据盘的按量付费云盘容量。(该参数值已弃用)'."\n" + .'- max-dedicated-hosts:专用宿主机数量。'."\n" + .'- supported-postpaid-instance-types:按量付费I/O优化实例规格。'."\n" + .'- max-axt-command-count:云助手命令的数量。'."\n" + .'- max-axt-invocation-daily:每天可以执行的云助手命令次数。'."\n" + .'- real-name-authentication:账号是否完成了实名认证。'."\n" + ."\n" + .' > 您只有完成了实名认证才可以在中国内地地域中创建ECS实例。'."\n" + .'- max-cloud-assistant-activation-count:可创建的云助手托管实例激活码数量上限。'."\n" + ."\n" + .'默认值为空。', + 'type' => 'array', + 'items' => [ + 'description' => '查询某类资源在指定地域下的使用配额,N的取值范围为1~8。取值范围:'."\n" + ."\n" + .'- instance-network-type:可选择的网络类型。'."\n" + .'- max-security-groups:安全组数量。'."\n" + .'- max-elastic-network-interfaces:弹性网卡的数量。'."\n" + .'- max-postpaid-instance-vcpu-count:按量付费实例的vCPU核数上限。'."\n" + .'- max-spot-instance-vcpu-count:抢占式实例vCPU核数上限。'."\n" + .'- used-postpaid-instance-vcpu-count:已使用按量付费实例的vCPU核数。'."\n" + .'- used-spot-instance-vcpu-count:已使用抢占式实例vCPU核数。'."\n" + .'- max-postpaid-yundisk-capacity:用作数据盘的按量付费云盘的总容量上限。(该参数值已弃用)'."\n" + .'- used-postpaid-yundisk-capacity:已使用的用作数据盘的按量付费云盘容量。(该参数值已弃用)'."\n" + .'- max-dedicated-hosts:专用宿主机数量。'."\n" + .'- supported-postpaid-instance-types:按量付费I/O优化实例规格。'."\n" + .'- max-axt-command-count:云助手命令的数量。'."\n" + .'- max-axt-invocation-daily:每天可以执行的云助手命令次数。'."\n" + ."\n" + .'- max-cloud-assistant-activation-count:可创建的云助手托管实例激活码数量上限。'."\n" + ."\n" + .'- real-name-authentication:账号是否完成了实名认证。'."\n" + ."\n" + .' > 您只有完成了实名认证才可以在中国内地地域中创建ECS实例。'."\n" + ."\n" + .'默认值为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'max-security-groups', + ], + 'required' => false, + 'example' => 'max-security-groups', + 'maxItems' => 30, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8CE45CD5-31FB-47C2-959D-CA8144CE****', + ], + 'AccountAttributeItems' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AccountAttributeItem' => [ + 'description' => '指定地域下账号特权AccountAttributeItem的信息集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AttributeName' => [ + 'description' => '资源在指定地域下的使用配额分类。可能值:'."\n" + ."\n" + .'- instance-network-type:可选择的网络类型。'."\n" + .'- max-security-groups:安全组数量。'."\n" + .'- max-elastic-network-interfaces:弹性网卡的数量。'."\n" + .'- max-postpaid-instance-vcpu-count:按量付费实例的vCPU核数上限。'."\n" + .'- max-spot-instance-vcpu-count:抢占式实例vCPU核数上限。'."\n" + .'- used-postpaid-instance-vcpu-count:已使用按量付费实例的vCPU核数。'."\n" + .'- used-spot-instance-vcpu-count:已使用抢占式实例vCPU核数。'."\n" + .'- max-postpaid-yundisk-capacity:用作数据盘的按量付费云盘的总容量上限。(该参数值已弃用)'."\n" + .'- used-postpaid-yundisk-capacity:已使用的用作数据盘的按量付费云盘容量。(该参数值已弃用)'."\n" + .'- max-dedicated-hosts:专用宿主机数量。'."\n" + .'- supported-postpaid-instance-types:按量付费I/O优化实例规格。'."\n" + .'- max-axt-command-count:云助手命令的数量。'."\n" + .'- max-axt-invocation-daily:每天可以执行的云助手命令次数。'."\n" + .'- real-name-authentication:账号是否完成了实名认证。'."\n" + ."\n" + .'- max-cloud-assistant-activation-count:可创建的云助手托管实例激活码数量上限。', + 'type' => 'string', + 'example' => 'max-security-groups', + ], + 'AttributeValues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ValueItem' => [ + 'description' => '资源的使用配额具体数值。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DiskCategory' => [ + 'description' => '数据盘的云盘种类。可能值:'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n", + 'type' => 'string', + 'example' => 'cloud_ssd', + ], + 'Value' => [ + 'description' => '当前地域下某类资源的使用配额具体数值。可能值:'."\n" + ."\n" + .'以下分类返回值为0或正整数:'."\n" + ."\n" + .'- max-security-groups'."\n" + .'- max-elastic-network-interfaces'."\n" + .'- max-postpaid-instance-vcpu-count'."\n" + .'- max-spot-instance-vcpu-count'."\n" + .'- used-postpaid-instance-vcpu-count'."\n" + .'- used-spot-instance-vcpu-count'."\n" + .'- max-postpaid-yundisk-capacity(该参数值已弃用)'."\n" + .'- used-postpaid-yundisk-capacity(该参数值已弃用)'."\n" + .'- max-dedicated-hosts'."\n" + .'- max-axt-command-count'."\n" + .'- max-axt-invocation-daily'."\n" + ."\n" + .'- max-cloud-assistant-activation-count'."\n" + ."\n" + .'分类为supported-postpay-instance-types时返回值:实例规格取值。参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'分类为real-name-authentications时返回值:'."\n" + ."\n" + .'- yes'."\n" + .'- none '."\n" + .'- unnecessary'."\n" + ."\n" + .'分类为instance-network-type时返回值:'."\n" + ."\n" + .'- vpc'."\n" + .'- classic', + 'type' => 'string', + 'example' => '800', + ], + 'ExpiredTime' => [ + 'description' => '特权到期时间,仅存在到期时间的账号特权会返回该参数。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间。格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2019-01-01T12:30:00Z', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-b', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'Count' => [ + 'description' => '特权属性类型的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'InstanceChargeType' => [ + 'description' => '实例计费方式。', + 'type' => 'string', + 'example' => 'PrePaid', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Invalid.Parameter', + 'errorMessage' => 'The required parameter regionId must be not null.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The process of creating snapshot has failed due to some unknown error.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The service is unavailable, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8CE45CD5-31FB-47C2-959D-CA8144CE****\\",\\n \\"AccountAttributeItems\\": {\\n \\"AccountAttributeItem\\": [\\n {\\n \\"AttributeName\\": \\"max-security-groups\\",\\n \\"AttributeValues\\": {\\n \\"ValueItem\\": [\\n {\\n \\"DiskCategory\\": \\"cloud_ssd\\",\\n \\"Value\\": \\"800\\",\\n \\"ExpiredTime\\": \\"2019-01-01T12:30:00Z\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"Count\\": 3,\\n \\"InstanceChargeType\\": \\"PrePaid\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n \\n \\n 100\\n \\n \\n max-security-groups\\n \\n \\n \\n \\n 2\\n \\n \\n max-dedicated-hosts\\n \\n \\n \\n \\n 1000\\n \\n \\n max-postpaid-instance-vcpu-count\\n \\n \\n \\n \\n 1000\\n \\n \\n max-spot-instance-vcpu-count\\n \\n \\n \\n \\n 5000\\n \\n \\n max-elastic-network-interfaces\\n \\n \\n \\n \\n yes\\n \\n \\n real-name-authentication\\n \\n \\n \\n \\n vpc\\n \\n \\n instance-network-type\\n \\n \\n \\n \\n 229376\\n cloud_efficiency\\n \\n \\n 204800\\n cloud_ssd\\n \\n \\n 204800\\n cloud_essd\\n \\n \\n max-postpaid-yundisk-capacity\\n \\n \\n \\n \\n ecs.f3-c16f1.4xlarge\\n \\n \\n ecs.g5.2xlarge\\n \\n \\n supported-postpaid-instance-types\\n \\n \\n 8CE45CD5-31FB-47C2-959D-CA8144CE****\\n","errorExample":""}]', + 'title' => '查询资源配额', + 'description' => '[注册](https://account.aliyun.com/register/register.htm)了阿里云账号后,您可以在不同的阿里云地域中创建一定数量的ECS资源,更多信息,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'[注册](https://account.alibabacloud.com/register/intl_register.htm)了阿里云账号后,您可以在不同的阿里云地域中创建一定数量的ECS资源,更多信息,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'您也可以根据自己的需求,在[配额中心](https://quotas.console.aliyun.com/products)申请提高资源使用配额。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeResourcesModification' => [ + 'summary' => '变更实例规格或系统盘类型之前,查询某一可用区下实例规格或系统盘的库存情况。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28988', + 'abilityTreeNodes' => [ + 'FEATUREecsY77CXF', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '待变更实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待变更规格或系统盘类型的实例ID(InstanceId)。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'MigrateAcrossZone', + 'in' => 'query', + 'schema' => [ + 'description' => '是否支持跨集群升级实例规格。取值范围: '."\n" + .' '."\n" + .'- true:支持。'."\n" + .'- false:不支持。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'当参数MigrateAcrossZone取值为true时,一旦您根据返回信息升级了云服务器,请留意以下注意事项: '."\n" + .' '."\n" + .'- 经典网络类型实例: '."\n" + .' - 对于[已停售的实例规格](~~55263~~),非I/O优化实例变配到I/O优化实例时,实例私网IP地址、云盘设备名和软件授权码会发生变化。对于Linux实例,普通云盘(cloud)会被识别为xvda或者xvdb等,高效云盘(cloud_efficiency)和SSD云盘(cloud_ssd)会被识别为vda或者vdb等。 '."\n" + .' - 对于[正常售卖的实例规格族](~~25378~~),实例的私网IP地址会发生变化。 '."\n" + .' '."\n" + .'- 专有网络VPC类型实例:对于[已停售的实例规格](~~55263~~),非I/O优化实例变配到I/O优化实例时,云服务器云盘设备名和软件授权码会发生变化。Linux实例的普通云盘(cloud)会被识别为xvda或者xvdb等,高效云盘(cloud_efficiency)和SSD云盘(cloud_ssd)会被识别为vda或者vdb等。 ', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DestinationResource', + 'in' => 'query', + 'schema' => [ + 'description' => '待变更的实例资源类型。取值范围: '."\n" + .' '."\n" + .'- InstanceType:实例规格。'."\n" + .'- SystemDisk:系统盘类型。'."\n" + ."\n" + .' 取值为SystemDisk时,必须同时指定InstanceType参数。表示目标规格要求的云盘类型。', + 'type' => 'string', + 'required' => true, + 'example' => 'InstanceType', + ], + ], + [ + 'name' => 'OperationType', + 'in' => 'query', + 'schema' => [ + 'description' => '更改资源配置的操作类型。'."\n" + ."\n" + .'- 包年包月资源的取值范围: '."\n" + ."\n" + .' - Upgrade:升级资源。'."\n" + .' - Downgrade:降级资源。'."\n" + .' - RenewDowngrade:续费降配。'."\n" + .' - RenewModify:过期实例的续费变配。'."\n" + ."\n" + .'- 按量付费资源的取值:Upgrade。'."\n" + ."\n" + .'默认值:Upgrade。', + 'type' => 'string', + 'required' => false, + 'example' => 'Upgrade', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '目标实例规格。更多信息,请参见[实例规格族](~~25378~~),也可以调用[DescribeInstanceTypes](~~25620~~) 接口获得最新的规格表。'."\n" + ."\n" + .'当参数DestinationResource取值为SystemDisk时,必须同时指定InstanceType参数。表示目标规格要求的云盘类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g7.large', + ], + ], + [ + 'name' => 'Cores', + 'in' => 'query', + 'schema' => [ + 'description' => '目标实例规格的vCPU内核数目。取值请参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'仅当DestinationResource=InstanceType参数有效,Cores为有效参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => [ + 'description' => '目标实例规格的内存大小,单位为GiB。取值请参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'仅当DestinationResource=InstanceType,Memory才为有效参数。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '8.0', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标可用区ID。'."\n" + ."\n" + .'当需要跨可用区变更实例规格时,需要指定该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-e', + ], + ], + [ + 'name' => 'Conditions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '条件列表。', + 'type' => 'array', + 'items' => [ + 'description' => '目前仅支持DiskCategory,表示查询当前实例变更云盘类型后支持变配到的规格。'."\n" + ."\n" + .'仅当DestinationResource=InstanceType,Conditions为有效参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'DiskCategory', + 'enum' => [], + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'AvailableZones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableZone' => [ + 'description' => '数据中心信息AvailableZone组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-e', + ], + 'Status' => [ + 'description' => '资源状态。可能值: '."\n" + .' '."\n" + .'- Available:资源充足。'."\n" + .'- SoldOut:资源已售罄。'."\n" + .' ', + 'type' => 'string', + 'example' => 'Available', + ], + 'StatusCategory' => [ + 'description' => '根据库存详细分类资源类别。可能值:'."\n" + ."\n" + .'- WithStock:库存充足。'."\n" + .'- ClosedWithStock:库存接近水位低线。'."\n" + .'- WithoutStock:库存告罄。', + 'type' => 'string', + 'example' => 'WithStock', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AvailableResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableResource' => [ + 'description' => '可供创建的具体资源组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '资源类型。可能值: '."\n" + .' '."\n" + .'- InstanceType:实例规格。'."\n" + .'- SystemDisk:系统盘类型。', + 'type' => 'string', + 'example' => 'InstanceType', + ], + 'SupportedResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedResource' => [ + 'description' => '支持的可供创建的具体资源组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '资源状态。可能值:'."\n" + .' '."\n" + .'- Available:资源充足。'."\n" + .'- SoldOut:资源已售罄。'."\n" + .' ', + 'type' => 'string', + 'example' => 'Available', + ], + 'Value' => [ + 'description' => '资源值。', + 'type' => 'string', + 'example' => 'ecs.g7.large', + ], + 'Max' => [ + 'description' => '云盘容量范围的最大值。'."\n" + ."\n" + .'仅当入参DestinationResource取值为SystemDisk时该参数才生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2048', + ], + 'Unit' => [ + 'description' => '云盘容量的单位。'."\n" + .'仅当入参DestinationResource取值为SystemDisk时该参数才生效。', + 'type' => 'string', + 'example' => 'GiB', + ], + 'StatusCategory' => [ + 'description' => '根据库存详细分类资源类别。可能值:'."\n" + ."\n" + .'- WithStock:库存充足。'."\n" + ."\n" + .'- ClosedWithStock:库存接近水位低线。'."\n" + ."\n" + .'- WithoutStock:库存告罄。', + 'type' => 'string', + 'example' => 'WithStock', + ], + 'Min' => [ + 'description' => '云盘容量范围的最小值。'."\n" + ."\n" + .'仅当入参DestinationResource取值为SystemDisk时该参数才生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + ], + 'ConditionSupportedResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ConditionSupportedResource' => [ + 'description' => '有条件支持的可供创建的具体资源列表。', + 'type' => 'array', + 'items' => [ + 'description' => '有条件支持的可供创建的具体资源。满足条件后,可以将当前资源变更到列表中的资源。', + 'type' => 'object', + 'properties' => [ + 'Conditions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Condition' => [ + 'description' => '条件列表。', + 'type' => 'array', + 'items' => [ + 'description' => '条件列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '条件名。目前可选值:'."\n" + ."\n" + .'DiskCategory:盘类型不满足。', + 'type' => 'string', + 'example' => 'DiskCategory', + ], + ], + ], + ], + ], + ], + 'Status' => [ + 'description' => '资源的库存状态。可能值:'."\n" + ."\n" + .'- Available:资源充足。'."\n" + ."\n" + .'- SoldOut:资源已售罄。', + 'type' => 'string', + 'example' => 'Available', + ], + 'Value' => [ + 'description' => '资源值。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'Max' => [ + 'description' => '云盘容量范围的最大值。'."\n" + ."\n" + .'仅当入参DestinationResource取值为SystemDisk时该参数才生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2048', + ], + 'Unit' => [ + 'description' => '云盘容量的单位。'."\n" + ."\n" + .'仅当入参DestinationResource取值为SystemDisk时该参数才生效。', + 'type' => 'string', + 'example' => 'GiB', + ], + 'StatusCategory' => [ + 'description' => '根据库存详细分类资源类别。可能值:'."\n" + ."\n" + .'- WithStock:库存充足。'."\n" + ."\n" + .'- ClosedWithStock:库存接近水位低线。'."\n" + ."\n" + .'- WithoutStock:库存告罄。', + 'type' => 'string', + 'example' => 'WithStock', + ], + 'Min' => [ + 'description' => '云盘容量范围的最小值。'."\n" + ."\n" + .'仅当入参DestinationResource取值为SystemDisk时该参数才生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.OperationType', + 'errorMessage' => 'The specified operationType is not valid.', + ], + [ + 'errorCode' => 'Invalid.Param', + 'errorMessage' => 'The input parameter DestinationResource that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The specified InstanceChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidCondition.Malformed', + 'errorMessage' => 'The specified Condition is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidParam.TypeAndCpuMem.Conflict', + 'errorMessage' => 'The specified \'InstanceType\' and \'Cores\',\'Memory\' are not blank at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Cores', + 'errorMessage' => 'The specified parameter \'Cores\' should be empty.', + ], + [ + 'errorCode' => 'InvalidParam.Memory', + 'errorMessage' => 'The specified parameter \'Memory\' should be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerId', + 'errorMessage' => 'The specified parameter ResourceOwnerId is not available anymore.', + ], + ], + [ + [ + 'errorCode' => 'Invalid.RegionId', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'Unavailable.Regions', + 'errorMessage' => 'The available regions does not exists.', + ], + [ + 'errorCode' => 'Invalid.ResourceType', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + [ + 'errorCode' => 'Invalid.DestinationResource', + 'errorMessage' => 'The specified DestinationResource is not valid.', + ], + [ + 'errorCode' => 'Invalid.IoOptimized', + 'errorMessage' => 'The specified IoOptimized is not valid.', + ], + [ + 'errorCode' => 'Invalid.NetworkCategory', + 'errorMessage' => 'The specified NetworkCategory is not valid.', + ], + [ + 'errorCode' => 'Invalid.SpotStrategy', + 'errorMessage' => 'The specified SpotStrategy is not valid.', + ], + [ + 'errorCode' => 'Invalid.ResourceId', + 'errorMessage' => 'The specified ResourceId is not valid.', + ], + [ + 'errorCode' => 'Invalid.InstancePayType', + 'errorMessage' => 'The specified InstancePayType is not valid.', + ], + [ + 'errorCode' => 'Invalid.OperationType', + 'errorMessage' => 'The specified OperationType is not valid.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified operation is denied as this instanceType is not support.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceId is not found in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"AvailableZones\\": {\\n \\"AvailableZone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-e\\",\\n \\"Status\\": \\"Available\\",\\n \\"StatusCategory\\": \\"WithStock\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AvailableResources\\": {\\n \\"AvailableResource\\": [\\n {\\n \\"Type\\": \\"InstanceType\\",\\n \\"SupportedResources\\": {\\n \\"SupportedResource\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"Value\\": \\"ecs.g7.large\\",\\n \\"Max\\": 2048,\\n \\"Unit\\": \\"GiB\\",\\n \\"StatusCategory\\": \\"WithStock\\",\\n \\"Min\\": 20\\n }\\n ]\\n },\\n \\"ConditionSupportedResources\\": {\\n \\"ConditionSupportedResource\\": [\\n {\\n \\"Conditions\\": {\\n \\"Condition\\": [\\n {\\n \\"Key\\": \\"DiskCategory\\"\\n }\\n ]\\n },\\n \\"Status\\": \\"Available\\",\\n \\"Value\\": \\"ecs.g5.large\\",\\n \\"Max\\": 2048,\\n \\"Unit\\": \\"GiB\\",\\n \\"StatusCategory\\": \\"WithStock\\",\\n \\"Min\\": 20\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n cn-hangzhou-e\\n Available\\n WithStock\\n cn-hangzhou\\n \\n InstanceType\\n \\n Available\\n ecs.g5.large\\n WithStock\\n \\n \\n \\n DiskCategory\\n \\n Available\\n ecs.g5.large\\n WithStock\\n \\n \\n \\n","errorExample":""}]', + 'title' => '变更实例规格或系统盘类型之前,查询某一可用区下实例规格或系统盘的库存情况', + 'description' => '常见变更场景示例如下:'."\n" + .'### 示例1:查询当前实例支持变配的规格'."\n" + .'查询实例i-bp67acfmxazb4p****支持变配到的规格,以及相应规格在实例所属可用区下的库存情况。'."\n" + .'```'."\n" + .'http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification'."\n" + .'&RegionId=cn-hangzhou'."\n" + .'&ResourceId=i-bp67acfmxazb4p****'."\n" + .'&DestinationResource=InstanceType'."\n" + .'&OperationType=Upgrade'."\n" + .'&公共请求参数'."\n" + .'```'."\n" + .'### 示例2:查询当前实例变更云盘类型后支持变配到的规格'."\n" + .'查询实例i-bp67acfmxazb4p****变更云盘类型后,可以变配到的规格,以及相应规格在实例所属可用区下的库存情况。'."\n" + .'```'."\n" + .'http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification'."\n" + .'&RegionId=cn-hangzhou'."\n" + .'&ResourceId=i-bp67acfmxazb4p****'."\n" + .'&DestinationResource=InstanceType'."\n" + .'&OperationType=Upgrade'."\n" + .'&Conditions.0=DiskCategory'."\n" + .'&公共请求参数'."\n" + .'```'."\n" + ."\n" + .'### 示例3:查询目标规格要求的云盘类型'."\n" + .'查询目标规格(例如ecs.g7.large)要求的云盘类型(即当前实例i-bp67acfmxazb4p****变更到该云盘类型后才支持变配到目标规格),以及云盘类型在实例所属可用区下的库存情况。'."\n" + .'> 目标规格需通过示例2查询。'."\n" + .'```'."\n" + .'http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification'."\n" + .'&RegionId=cn-hangzhou'."\n" + .'&ResourceId=i-bp67acfmxazb4p****'."\n" + .'&DestinationResource=SystemDisk'."\n" + .'&OperationType=Upgrade'."\n" + .'&InstanceType=ecs.g7.large'."\n" + .'&公共请求参数'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeRecommendInstanceType' => [ + 'summary' => '(Beta)调用DescribeRecommendInstanceType根据一个指定的实例规格,查找一个或多个备选的实例规格。针对已经或者即将停售的实例规格,DescribeRecommendInstanceType会罗列出作为替补的所有实例规格。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28982', + 'abilityTreeNodes' => [ + 'FEATUREecs2UXJI2', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Cores', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例vCPU核数。'."\n" + ."\n" + .'>同时指定`Cores`参数和`Memory`参数会匹配所有满足vCPU核数和内存大小的实例规格。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例内存大小,单位为GiB。'."\n" + ."\n" + .'>同时指定`Cores`参数和`Memory`参数会匹配所有满足vCPU核数和内存大小的实例规格。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '8.0', + ], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格族级别。取值范围:'."\n" + ."\n" + .'- EntryLevel:入门级。'."\n" + .'- EnterpriseLevel:企业级。'."\n" + .'- CreditEntryLevel:积分入门级。详情请参见[突发性能实例](~~59977~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'EnterpriseLevel', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的实例规格。更多详情,请参见[实例规格族](~~25378~~),也可以调用[DescribeInstanceTypes](~~25620~~)接口获得最新的规格表。'."\n" + ."\n" + .'> 如果您指定了`InstanceType`,则无法指定`Cores`或者`Memory`。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.hfg6.large', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例的网络类型。取值范围:'."\n" + ."\n" + .'- classic:经典网络'."\n" + .'- vpc:专有网络VPC'."\n" + ."\n" + .'默认值:vpc', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例的计费方式。更多详情,请参见[计费概述](~~25398~~)。取值范围:'."\n" + ."\n" + .'- PrePaid:包年包月'."\n" + .'- PostPaid:按量付费'."\n" + ."\n" + .'默认值:PostPaid', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + 'default' => 'PostPaid', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的竞价策略。取值范围:'."\n" + ."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,最高按量付费价格。'."\n" + ."\n" + .'> 使用`SpotStrategy`时,`InstanceChargerType`必须设置为`PostPaid`。'."\n" + ."\n" + .'默认值:NoSpot', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + 'default' => 'NoSpot', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。实例规格只支持非I/O优化时,不能设置IoOptimized参数。取值范围:'."\n" + ."\n" + .'- optimized:I/O优化'."\n" + .'- none:非IO优化'."\n" + ."\n" + .'默认值:optimized'."\n" + ."\n" + .'如果您设置的是已停售实例规格。默认值:none', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'PriorityStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '优先推荐策略。取值范围:'."\n" + ."\n" + .'- InventoryFirst:库存优先。'."\n" + .'- PriceFirst:价格优先,按每小时vCPU单价从低到高排序。'."\n" + .'- NewProductFirst:最新产品优先。'."\n" + ."\n" + .'默认值:InventoryFirst', + 'type' => 'string', + 'required' => false, + 'example' => 'PriceFirst', + 'default' => 'InventoryFirst', + ], + ], + [ + 'name' => 'MaxPrice', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例或者抢占式实例可接受的每小时最高价格。'."\n" + ."\n" + .'>设置抢占式实例的最高单价时,`SpotStrategy`必须设置为`SpotWithPriceLimit`。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '10.0', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。您可以调用[DescribeZones](~~25610~~)查看最新的阿里云可用区列表。'."\n" + ."\n" + .'建议同时ZoneMatchMode取值为Include(默认值),优先推荐ZoneId指定的可用区中的实例规格,并列出同地域下其他可用区中的实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-f', + ], + ], + [ + 'name' => 'SystemDiskCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘'."\n" + .'- cloud_ssd:SSD云盘'."\n" + .'- cloud_essd:ESSD云盘'."\n" + .'- cloud:普通云盘'."\n" + ."\n" + .'非I/O优化实例的默认值:cloud'."\n" + ."\n" + .'I/O优化实例的默认值:cloud_efficiency', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'ZoneMatchMode', + 'in' => 'query', + 'schema' => [ + 'description' => '是否仅推荐ZoneId指定的可用区中的实例规格。取值范围:'."\n" + ."\n" + .'- Strict:仅推荐ZoneId指定的可用区中的实例规格。'."\n" + ."\n" + .'- Include:推荐同地域下其他可用区中的实例规格。'."\n" + ."\n\n" + .'当指定`ZoneId`时,该参数的默认值为Strict,表示仅推荐ZoneId指定的可用区中的实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'Strict', + ], + ], + [ + 'name' => 'Scene', + 'in' => 'query', + 'schema' => [ + 'description' => '在哪种场景下推荐实例规格。取值范围:'."\n" + ."\n" + .'- UPGRADE:升级或降低实例规格。'."\n" + .'- CREATE:创建实例。'."\n" + ."\n" + .'默认值:CREATE', + 'type' => 'string', + 'required' => false, + 'example' => 'CREATE', + 'default' => 'CREATE', + ], + ], + [ + 'name' => 'InstanceTypeFamily', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '设置备选的实例规格族集合,备选的实例规格会从该参数设置的实例规格族中选择。最多可输入10个实例规格族。', + 'type' => 'array', + 'items' => [ + 'description' => '实例的规格族。规格族取值请参见[实例规格族](~~25378~~)。您也可以调用[DescribeInstanceTypeFamilys](~~25620~~)查询规格族列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.hfg6', + ], + 'required' => false, + 'example' => 'ecs.hfg6', + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RecommendInstanceType' => [ + 'description' => '推荐的实例规格集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CommodityCode' => [ + 'description' => '实例规格的商品编码。', + 'type' => 'string', + 'example' => 'ecs', + ], + 'ZoneId' => [ + 'description' => '实例规格所在的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'Priority' => [ + 'description' => '排序优先级。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'NetworkType' => [ + 'description' => 'ECS实例的网络类型。', + 'type' => 'string', + 'example' => 'vpc', + ], + 'Scene' => [ + 'description' => '在哪种场景下推荐实例规格。', + 'type' => 'string', + 'example' => 'CREATE', + ], + 'SpotStrategy' => [ + 'description' => '抢占式实例的抢占策略。', + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'RegionId' => [ + 'description' => '实例规格所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'InstanceChargeType' => [ + 'description' => '实例的计费方式。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'Zones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'zone' => [ + 'description' => '实例规格所在的可用区集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneNo' => [ + 'description' => '实例规格所在的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'NetworkTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkType' => [ + 'description' => '实例规格的网络类型集合。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格的网络类型。', + 'type' => 'string', + 'example' => 'vpc', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'InstanceType' => [ + 'description' => '实例规格名称。', + 'type' => 'object', + 'properties' => [ + 'SupportIoOptimized' => [ + 'description' => '实例规格是否支持I/O优化。', + 'type' => 'string', + 'example' => 'optimized', + ], + 'Cores' => [ + 'description' => '实例规格的vCPU核数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Memory' => [ + 'description' => '实例规格的内存大小,单位为MB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8192', + ], + 'InstanceType' => [ + 'description' => '实例规格名称。', + 'type' => 'string', + 'example' => 'ecs.hfg6.large', + ], + 'InstanceTypeFamily' => [ + 'description' => '实例规格族。', + 'type' => 'string', + 'example' => 'ecs.hfg6', + ], + 'Generation' => [ + 'description' => '实例规格族系列。', + 'type' => 'string', + 'example' => 'ecs-4', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RecommendEmpty.InstanceTypeNotAuthorized', + 'errorMessage' => 'The recommend instanceTypes are not authorized.', + ], + [ + 'errorCode' => 'RecommendEmpty.InstanceTypeSoldOut', + 'errorMessage' => 'The recommend instanceTypes are out of usage.', + ], + [ + 'errorCode' => 'RecommendEmpty.DiskCategoryNotRecommended', + 'errorMessage' => 'The specified disk category is not available for recommended.', + ], + [ + 'errorCode' => 'InvalidNetworkType.ValueNotSupported', + 'errorMessage' => 'The specified parameter NetworkType is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotStrategy.ValueNotSupported', + 'errorMessage' => 'The specified parameter SpotStrategy is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The specified parameter InstanceChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidPriorityStrategy.ValueNotSupported', + 'errorMessage' => 'The specified parameter PriorityStrategy is not supported.', + ], + [ + 'errorCode' => 'InvalidParam.TypeAndCpuMem.Conflict', + 'errorMessage' => 'The specified parameters InstanceType and Cores,Memory should not be blank at the same time.', + ], + [ + 'errorCode' => 'InvalidIoOptimized.NotFound', + 'errorMessage' => 'The specified parameter IoOptimized is not valid.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotFound', + 'errorMessage' => 'The specified parameter SystemDiskCategory is not supported.', + ], + [ + 'errorCode' => 'InvalidInstanceTypeFamily.NotFound', + 'errorMessage' => 'The specified InstanceTypeFamily is not valid.', + ], + [ + 'errorCode' => 'InvalidMaxPrice.NotSupported', + 'errorMessage' => 'The specified MaxPrice is not valid.', + ], + [ + 'errorCode' => 'InvalidZoneId.MalFormed', + 'errorMessage' => 'The specified ZoneId is not valid when Cores and Memory is not null.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified InstanceType is not valid.', + ], + [ + 'errorCode' => 'InvalidZoneId.ValueNotSupported', + 'errorMessage' => 'The specified ZoneId is not valid.', + ], + [ + 'errorCode' => 'InvalidCoreAndMemory.ValueNotSupported', + 'errorMessage' => 'The specified Cores/Memory does not match instance type.', + ], + [ + 'errorCode' => 'QuotaExceed.AfterpayInstance', + 'errorMessage' => 'Living afterpay instances quota exceeded.', + ], + [ + 'errorCode' => 'RecommendEmpty.PerformanceNotSatisfied', + 'errorMessage' => 'The performance of recommend instanceType is not satisfied.', + ], + [ + 'errorCode' => 'RecommendEmpty.PriceNotSatisfied', + 'errorMessage' => 'The current price of recommend instanceTypes above user max price.', + ], + [ + 'errorCode' => 'RecommendEmpty.QuotaNotSatisfied', + 'errorMessage' => 'The quota of recommend instanceTypes are out of usage.', + ], + [ + 'errorCode' => 'RecommendEmpty.IzNotMatched', + 'errorMessage' => 'The iz of recommend instanceTypes are not match.', + ], + [ + 'errorCode' => 'RecommendEmpty.InstanceTypeNotMatched', + 'errorMessage' => 'The recommend instanceTypes are not match.', + ], + [ + 'errorCode' => 'InvalidScene.ValueNotSupported', + 'errorMessage' => 'The specified Scene is invalid.', + ], + [ + 'errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', + 'errorMessage' => 'The recommend instanceTypeFamily are not match.', + ], + [ + 'errorCode' => 'RecommendEmpty.GenerationNotMatch', + 'errorMessage' => 'The recommend instanceType generation are not match.', + ], + [ + 'errorCode' => 'RecommendEmpty.NetworkTypeNotSupported', + 'errorMessage' => 'The recommend instanceType networkType are not match.', + ], + [ + 'errorCode' => 'InvalidInstanceFamilyLevel.NotSupported', + 'errorMessage' => 'The specified InstanceFamilyLevel is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Data\\": {\\n \\"RecommendInstanceType\\": [\\n {\\n \\"CommodityCode\\": \\"ecs\\",\\n \\"ZoneId\\": \\"cn-hangzhou-h\\",\\n \\"Priority\\": 2,\\n \\"NetworkType\\": \\"vpc\\",\\n \\"Scene\\": \\"CREATE\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"Zones\\": {\\n \\"zone\\": [\\n {\\n \\"ZoneNo\\": \\"cn-hangzhou-h\\",\\n \\"NetworkTypes\\": {\\n \\"NetworkType\\": [\\n \\"vpc\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"InstanceType\\": {\\n \\"SupportIoOptimized\\": \\"optimized\\",\\n \\"Cores\\": 1,\\n \\"Memory\\": 8192,\\n \\"InstanceType\\": \\"ecs.hfg6.large\\",\\n \\"InstanceTypeFamily\\": \\"ecs.hfg6\\",\\n \\"Generation\\": \\"ecs-4\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"Data\\":{\\n \\"RecommendInstanceType\\":[\\n {\\n \\"CommodityCode\\":\\"ecs\\",\\n \\"RegionNo\\":\\"us-west-ot7-a01\\",\\n \\"Scene\\":\\"CREATE\\",\\n \\"Zones\\":{\\n \\"zone\\":[\\n\\n ]\\n },\\n \\"InstanceType\\":{\\n \\"Memory\\":8192,\\n \\"Cores\\":1,\\n \\"InstanceTypeFamily\\":\\"ecs.s1\\",\\n \\"SupportIoOptimized\\":\\"none\\",\\n \\"Generation\\":\\"ecs-1\\",\\n \\"InstanceType\\":\\"ecs.s1.large\\"\\n }\\n },\\n {\\n \\"CommodityCode\\":\\"ecs\\",\\n \\"RegionNo\\":\\"us-west-ot7-a01\\",\\n \\"Scene\\":\\"CREATE\\",\\n \\"Zones\\":{\\n \\"zone\\":[\\n {\\n \\"ZoneNo\\":\\"us-west-1a\\",\\n \\"NetworkTypes\\":{\\n \\"NetworkType\\":[\\n \\"vpc\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"InstanceType\\":{\\n \\"Memory\\":8192,\\n \\"Cores\\":1,\\n \\"InstanceTypeFamily\\":\\"ecs.e4\\",\\n \\"SupportIoOptimized\\":\\"optimized\\",\\n \\"Generation\\":\\"ecs-3\\",\\n \\"InstanceType\\":\\"ecs.e4.small\\"\\n }\\n },\\n {\\n \\"CommodityCode\\":\\"ecs\\",\\n \\"RegionNo\\":\\"us-west-ot7-a01\\",\\n \\"Scene\\":\\"CREATE\\",\\n \\"Zones\\":{\\n \\"zone\\":[\\n {\\n \\"ZoneNo\\":\\"us-west-1a\\",\\n \\"NetworkTypes\\":{\\n \\"NetworkType\\":[\\n \\"vpc\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"InstanceType\\":{\\n \\"Memory\\":8192,\\n \\"Cores\\":2,\\n \\"InstanceTypeFamily\\":\\"ecs.sn2\\",\\n \\"SupportIoOptimized\\":\\"optimized\\",\\n \\"Generation\\":\\"ecs-2\\",\\n \\"InstanceType\\":\\"ecs.sn2.medium\\"\\n }\\n },\\n {\\n \\"CommodityCode\\":\\"ecs\\",\\n \\"RegionNo\\":\\"us-west-ot7-a01\\",\\n \\"Scene\\":\\"CREATE\\",\\n \\"Zones\\":{\\n \\"zone\\":[\\n\\n ]\\n },\\n \\"InstanceType\\":{\\n \\"Memory\\":8192,\\n \\"Cores\\":1,\\n \\"InstanceTypeFamily\\":\\"ecs.e3\\",\\n \\"SupportIoOptimized\\":\\"optimized\\",\\n \\"Generation\\":\\"ecs-2\\",\\n \\"InstanceType\\":\\"ecs.e3.small\\"\\n }\\n }\\n ]\\n },\\n \\"RequestId\\":\\"775643e7-8297-40ee-b9e6-f0a252aa152d\\"\\n}"},{"type":"xml","example":"\\n 5EEED58E-C640-4E62-B6E3-A251B5E910D5\\n \\n \\n cn-hangzhou-h\\n PostPaid\\n 1\\n vpc\\n cn-hangzhou\\n CREATE\\n \\n optimized\\n 2\\n ecs-5\\n ecs.hfg6\\n 8192\\n ecs.hfg6.large\\n \\n NoSpot\\n \\n \\n \\n vpc\\n \\n cn-hangzhou-h\\n \\n \\n \\n \\n cn-hangzhou-i\\n PostPaid\\n 2\\n vpc\\n cn-hangzhou\\n CREATE\\n \\n optimized\\n 2\\n ecs-5\\n ecs.hfg6\\n 8192\\n ecs.hfg6.large\\n \\n NoSpot\\n \\n \\n \\n vpc\\n \\n cn-hangzhou-i\\n \\n \\n \\n \\n cn-hangzhou-j\\n PostPaid\\n 3\\n vpc\\n cn-hangzhou\\n CREATE\\n \\n optimized\\n 2\\n ecs-5\\n ecs.hfg6\\n 8192\\n ecs.hfg6.large\\n \\n NoSpot\\n \\n \\n \\n vpc\\n \\n cn-hangzhou-j\\n \\n \\n \\n \\n","errorExample":"\\n \\n \\n ecs\\n us-west-ot7-a01\\n CREATE\\n \\n \\n 8192\\n 1\\n ecs.s1\\n none\\n ecs-1\\n ecs.s1.large\\n \\n \\n \\n ecs\\n us-west-ot7-a01\\n CREATE\\n \\n \\n us-west-1a\\n \\n vpc\\n \\n \\n \\n \\n 8192\\n 1\\n ecs.e4\\n optimized\\n ecs-3\\n ecs.e4.small\\n \\n \\n \\n ecs\\n us-west-ot7-a01\\n CREATE\\n \\n \\n us-west-1a\\n \\n vpc\\n \\n \\n \\n \\n 8192\\n 2\\n ecs.sn2\\n optimized\\n ecs-2\\n ecs.sn2.medium\\n \\n \\n \\n ecs\\n us-west-ot7-a01\\n CREATE\\n \\n \\n 8192\\n 1\\n ecs.e3\\n optimized\\n ecs-2\\n ecs.e3.small\\n \\n \\n \\n 775643e7-8297-409e6-f0a252aa152d\\n"}]', + 'title' => '查找备选实例规格', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribePrice' => [ + 'summary' => '本接口用于查询指定资源的最新价格,支持根据资源类型查询ECS实例、云盘、专有宿主机、弹性保障服务、容量预定服务的最新价格,包括活动规则、价格、折扣等信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28981', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '目标资源的类型。取值范围:'."\n" + .'- instance:查询ECS实例的最新价格列表。当取值为`instance`时,必须同时指定参数`InstanceType`。'."\n" + .'- disk:查询云盘的最新价格列表。当取值为`disk`时,必须同时指定参数`DataDisk.1.Category`和`DataDisk.1.Size`。'."\n" + .'- diskperformance:查询ESSD AutoPL云盘预配置性能的最新价格列表。必须同时指定参数`DataDisk.1.Category`和`DataDisk.1.ProvisionedIops`。'."\n" + .'- bandwidth:查询带宽的最新价格列表。'."\n" + .'- ddh:查询专有宿主机的最新价格列表。'."\n" + .'- ElasticityAssurance:查询弹性保障服务的价格信息。当取值为`ElasticityAssurance`时,必须同时指定参数`InstanceType`。'."\n" + .'- CapacityReservation:查询容量预定服务的价格信息。当取值为`CapacityReservation`时,必须同时指定参数`InstanceType`。'."\n" + ."\n" + .'默认值:instance。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '仅当参数ResourceType的值为instance时,该参数生效。'."\n" + ."\n" + .'镜像ID,表示启动实例时希望装载的运行环境。您可以调用[DescribeImages](~~25534~~)查询您可用的镜像资源。如果不指定,默认查询Linux系统镜像的价格。', + 'type' => 'string', + 'required' => false, + 'example' => 'centos_7_05_64_20G_alibase_20181212.vhd', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的资源规格。参数`ResourceType`的值为`instance`时,您必须同时指定该参数。更多详情,请参见[实例规格族](~~25378~~),也可以调用[DescribeInstanceTypes](~~25620~~)接口获得最新的规格表。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + ], + [ + 'name' => 'DedicatedHostType', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的规格。您可以调用[DescribeDedicatedHostTypes](~~134240~~)接口获得最新的专有宿主机规格表。', + 'type' => 'string', + 'required' => false, + 'example' => 'ddh.c5', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '查询的实例是否为I/O优化实例。取值范围:'."\n" + ."\n" + .'- none:非I/O优化。'."\n" + .'- optimized:I/O优化。'."\n" + ."\n" + .'当InstanceType为[系列I](~~55263~~)的规格时,默认值为none。'."\n" + ."\n" + .'当InstanceType为非[系列I](~~55263~~)的规格时,默认值为optimized。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'InstanceNetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的网络类型。取值范围:'."\n" + ."\n" + .'- classic:实例的网络类型为经典网络(Classic)。'."\n" + .'- vpc:实例的网络类型为专有网络(VPC)。'."\n" + ."\n" + .'默认值:vpc。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络带宽计费方式。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按带宽流量计费。'."\n" + ."\n" + .'默认值:PayByTraffic。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s(Megabit per second)。取值范围:0~100。'."\n" + ."\n" + .'默认值:0。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的云盘种类。查询系统盘价格时,必须同时指定`ImageId`。取值范围:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- ephemeral_ssd:本地SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .''."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .''."\n" + ."\n" + .'参数默认值说明:'."\n" + ."\n" + .'- 当InstanceType为已停售的实例规格,且参数`IoOptimized`取值为`none`时,该参数默认值为`cloud`。'."\n" + .'- 其它情况下,该参数默认值为`cloud_efficiency`。2026年1月30日后,对于仅支持cloud_essd的实例规格,默认值由 cloud_efficiency调整为cloud_essd PL0,详情参见[变更公告](https://www.aliyun.com/notice/117844)。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘大小,单位为GiB。取值范围:'."\n" + ."\n" + .'- 普通云盘:20~500。'."\n" + .'- ESSD云盘:'."\n" + .' - PL0:1~2048。'."\n" + .' - PL1:20~2048。'."\n" + .' - PL2:461~2048。'."\n" + .' - PL3:1261~2048。'."\n" + .'- ESSD AutoPL 云盘:1~2048。'."\n" + .'- 其他云盘类型:20~2048。'."\n" + ."\n" + .'默认值:max{20, 参数ImageId对应的镜像大小}。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘类型为ESSD云盘时,区分性能等级。仅当`SystemDiskCategory=cloud_essd时`该参数有效。取值范围:'."\n" + ."\n" + .'PL0。'."\n" + .'PL1(默认)。'."\n" + .'PL2。'."\n" + .'PL3。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'DataDisk.1.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘容量。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Size`参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + ], + [ + 'name' => 'DataDisk.1.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘类型。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Category`参数。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'cloud' => '普通云盘', + 'cloud_efficiency' => '高效云盘', + 'cloud_ssd' => 'SSD 云盘', + 'cloud_auto' => 'ESSD AutoPL 云盘', + 'cloud_regional_disk_auto' => 'ESSD 同城冗余云盘', + 'cloud_essd' => 'ESSD 云盘', + 'elastic_ephemeral_disk_standard' => '弹性临时盘-标准版', + 'cloud_essd_entry' => 'ESSD Entry 云盘', + 'elastic_ephemeral_disk_premium' => '弹性临时盘-高级版', + ], + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'DataDisk.1.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘的性能等级。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.PerformanceLevel`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'DataDisk.2.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘容量。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Size`参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '200', + ], + ], + [ + 'name' => 'DataDisk.2.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘类型。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Category`参数。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'cloud' => '普通云盘', + 'cloud_efficiency' => '高效云盘', + 'cloud_ssd' => 'SSD 云盘', + 'cloud_auto' => 'ESSD AutoPL 云盘', + 'cloud_regional_disk_auto' => 'ESSD 同城冗余云盘', + 'cloud_essd' => 'ESSD 云盘', + 'elastic_ephemeral_disk_standard' => '弹性临时盘-标准版', + 'cloud_essd_entry' => 'ESSD Entry 云盘', + 'elastic_ephemeral_disk_premium' => '弹性临时盘-高级版', + ], + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'DataDisk.2.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘的性能等级'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.PerformanceLevel`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'DataDisk.3.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘容量。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Size`参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + ], + [ + 'name' => 'DataDisk.3.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘类型。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Category`参数。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'cloud' => '普通云盘', + 'cloud_efficiency' => '高效云盘', + 'cloud_ssd' => 'SSD 云盘', + 'cloud_auto' => 'ESSD AutoPL 云盘', + 'cloud_regional_disk_auto' => 'ESSD 同城冗余云盘', + 'cloud_essd' => 'ESSD 云盘', + 'elastic_ephemeral_disk_standard' => '弹性临时盘-标准版', + 'cloud_essd_entry' => 'ESSD Entry 云盘', + 'elastic_ephemeral_disk_premium' => '弹性临时盘-高级版', + ], + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'DataDisk.3.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘的性能等级。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.PerformanceLevel`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'DataDisk.4.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘容量。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Size`参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + ], + [ + 'name' => 'DataDisk.4.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘类型。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.Category`参数。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'cloud' => '普通云盘', + 'cloud_efficiency' => '高效云盘', + 'cloud_ssd' => 'SSD 云盘', + 'cloud_auto' => 'ESSD AutoPL 云盘', + 'cloud_regional_disk_auto' => 'ESSD 同城冗余云盘', + 'cloud_essd' => 'ESSD 云盘', + 'elastic_ephemeral_disk_standard' => '弹性临时盘-标准版', + 'cloud_essd_entry' => 'ESSD Entry 云盘', + 'elastic_ephemeral_disk_premium' => '弹性临时盘-高级版', + ], + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'DataDisk.4.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘的性能等级。'."\n" + ."\n" + .'为提高扩展性,建议您使用`DataDisk.N.PerformanceLevel`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务器ECS的计费时长。取值范围:'."\n" + ."\n" + .''."\n" + .'- 当参数PriceUnit取值为Month时:1~9。'."\n" + .'- 当参数PriceUnit取值为Year时:1~5。'."\n" + .'- 当参数PriceUnit取值为Hour时:1。'."\n" + .'- 当参数PriceUnit取值为Week时:1~4。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- 当参数PriceUnit取值为Month时:1~9。'."\n" + .'- 当参数PriceUnit取值为Year时:1~5。'."\n" + .'- 当参数PriceUnit取值为Hour时:1。'."\n" + ."\n" + .''."\n" + ."\n" + .'默认值:1。'."\n" + ."\n\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PriceUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '查询云服务器ECS不同计费周期的价格。取值范围:'."\n" + ."\n" + .''."\n" + .'- Month:按月计费的价格单位。'."\n" + .'- Year:按年计费的价格单位。'."\n" + .'- Hour(默认):按小时计费的价格单位。'."\n" + .'- Week:按周计费的价格单位。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- Month:按月计费的价格单位。'."\n" + .'- Year:按年计费的价格单位。'."\n" + .'- Hour(默认):按小时计费的价格单位。'."\n" + ."\n" + .''."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Year', + ], + ], + [ + 'name' => 'Amount', + 'in' => 'query', + 'schema' => [ + 'description' => '查询批量购买某种配置的云服务器ECS的价格。取值范围:1~1000。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'OfferingType', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的付款类型。取值范围:'."\n" + ."\n" + .'- No Upfront:零预付。'."\n" + .'- Partial Upfront:部分预付。'."\n" + .'- All Upfront:全预付。', + 'type' => 'string', + 'required' => false, + 'example' => 'All Upfront', + ], + ], + [ + 'name' => 'InstanceAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '在一个实例规格内,需要预留的实例的总数量。'."\n" + ."\n" + .'取值范围:1~1000。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'Scope', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的范围。取值范围: '."\n" + .' '."\n" + .'- Region:地域级别。 '."\n" + .'- Zone:可用区级别。'."\n" + ."\n" + .'默认值:Region。', + 'type' => 'string', + 'required' => false, + 'example' => 'Zone', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '实例使用的镜像的操作系统类型。取值范围: '."\n" + .'- Windows:Windows Server类型的操作系统。'."\n" + .'- Linux:Linux及类Unix类型的操作系统。', + 'type' => 'string', + 'required' => false, + 'example' => 'Linux', + ], + ], + [ + 'name' => 'Capacity', + 'in' => 'query', + 'schema' => [ + 'description' => '容量大小,单位为GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1024', + ], + ], + [ + 'name' => 'AssuranceTimes', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障的总次数。取值:Unlimited,目前仅支持在服务生效期内的无限次模式。'."\n" + ."\n" + .'默认值:Unlimited。', + 'type' => 'string', + 'required' => false, + 'example' => 'Unlimited', + ], + ], + [ + 'name' => 'InstanceCpuCoreCount', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障内支持实例的vCPU总数量。调用API时系统会根据用户指定的InstanceType换算出需要弹性保证内支持实例的数量(向上取整)。'."\n" + ."\n" + .'>当调用API查询弹性保障价格时,参数InstanceCoreCpuCount和InstanceAmount只能指定其中一个。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1024', + ], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => [ + 'description' => '互联网服务运营商,取值范围: '."\n" + .'- cmcc:移动。'."\n" + .'- telecom:电信。'."\n" + .'- unicom:联通。'."\n" + .'- multiCarrier:多线。', + 'type' => 'string', + 'required' => false, + 'example' => 'cmcc', + ], + ], + [ + 'name' => 'InstanceTypeList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例规格。目前仅支持无限次保障服务设置单个实例规格。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格。目前仅支持无限次保障服务设置单个实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.xlarge', + ], + 'required' => false, + 'example' => 'ecs.g6.xlarge', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例的抢占策略。取值范围:'."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,最高按量付费价格。'."\n" + ."\n" + .'默认值:NoSpot。'."\n" + ."\n" + .'> 当`PriceUnit=Hour`、`Period=1`时,该参数才有效。由于`PriceUnit`默认值为`Hour`,`Period`默认值为`1`,因此您在设置该参数值时,无需设置`PriceUnit`和`Period`参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + 'default' => 'NoSpot', + 'enum' => [ + 'NoSpot', + 'SpotWithPriceLimit', + 'SpotAsPriceGo', + ], + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:'."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'> 当SpotStrategy值为SpotWithPriceLimit或SpotAsPriceGo时该参数生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。'."\n" + ."\n" + .'> 抢占式实例不同可用区价格可能不同,查询抢占式实例价格时,建议传入ZoneId查询指定可用区的抢占式实例价格。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hagzhou-i', + ], + ], + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '数据盘列表集合。', + 'type' => 'array', + 'items' => [ + 'description' => '数据盘列表集合。', + 'type' => 'object', + 'properties' => [ + 'Category' => [ + 'description' => '第N块数据盘的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- ephemeral_ssd:本地SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .''."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .''."\n" + ."\n" + .'N的取值范围:1~16。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + 'Size' => [ + 'description' => '第N块数据盘的容量大小,内存单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud:5~2000。'."\n" + .'- cloud_efficiency:20~32768。'."\n" + .'- cloud_ssd:20~32768。'."\n" + .'- cloud_auto:1~32768。'."\n" + .''."\n" + .'- cloud_essd_entry:10~32768。'."\n" + .''."\n" + .'- cloud_essd:具体取值范围与`DataDisk.N.PerformanceLevel`的取值有关。 '."\n" + .' - PL0:1~32768。'."\n" + .' - PL1:20~32768。'."\n" + .' - PL2:461~32768。'."\n" + .' - PL3:1261~32768。'."\n" + .'- ephemeral_ssd:5~800。'."\n" + ."\n" + .'N的取值范围:1~16。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2000', + ], + 'PerformanceLevel' => [ + 'description' => '第N块数据盘类型为ESSD云盘时,区分性能等级。仅当`DataDisk.N.Category=cloud_essd`时该参数有效。取值范围:'."\n" + ."\n" + .'- PL0。'."\n" + .'- PL1(默认)。'."\n" + .'- PL2。'."\n" + .'- PL3。'."\n" + ."\n" + .'N的取值范围:1~16。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置的读写IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50000}。'."\n" + ."\n" + .'>当`DiskCategory`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '40000', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'SchedulerOptions.DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '仅当参数ResourceType的值为instance时,该参数生效。'."\n" + ."\n" + .'专有宿主机ID。您可以通过[DescribeDedicatedHosts ](~~134242~~)查询专有宿主机ID列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'dh-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '分时弹性保障服务生效时间。时间格式以 ISO 8601 为标准,需要使用 UTC +0 时间,格式为yyyy-MM-ddTHH:mm:ssZ。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '2020-10-30T06:32:00Z', + ], + ], + [ + 'name' => 'RecurrenceRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障-分时保障重复规则列表。'."\n" + ."\n" + .''."\n" + ."\n" + .'> 弹性保障-分时保障功能当前仅对部分地域和用户开放,若您有使用需求,请[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'> 弹性保障-分时保障功能当前仅对部分地域和用户开放,若您有使用需求,请[提交工单](https://smartservice.console.aliyun.com/service/create-ticket-intl)。'."\n" + ."\n" + .'', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障-分时保障重复规则。'."\n" + ."\n\n" + .'> - 修改重复规则时,**修改前和修改后的总保障时长必须相同**。更多修改示例,请参见[修改重复规则](~~2867405~~)。'."\n" + .'> - 修改后的重复规则将于次日生效。', + 'type' => 'object', + 'properties' => [ + 'StartHour' => [ + 'description' => '分时保障生效时间,取值必须为整点。'."\n" + ."\n" + .'> 同时指定StartHour和EndHour,且两者至少需要相差4小时。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + 'RecurrenceType' => [ + 'description' => '重复规则的策略类型。取值范围:'."\n" + .'- Daily:按天重复。'."\n" + .'- Weekly:按周重复。'."\n" + .'- Monthly:按月重复。'."\n" + ."\n" + .'> 必须同时指定`RecurrenceType`和`RecurrenceValue`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Daily', + ], + 'EndHour' => [ + 'description' => '分时保障结束时间,取值必须为整点。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + 'RecurrenceValue' => [ + 'description' => '重复规则执行数值。'."\n" + ."\n" + .'- `RecurrenceType`为`Daily`时,只能填一个值,取值范围:1~31。表示每几天执行一次。'."\n" + .'- `RecurrenceType`为`Weekly`时,可以填入多个值,多个值间使用半角逗号(,)隔开。周日、周一、周二、周三、周四、周五、周六的值依次为:0,1,2,3,4,5,6。例如`1,2`表示周一和周二执行。'."\n" + .'- `RecurrenceType`为`Monthly`时,格式为`A-B`。A、B的取值范围为1~31,并且B必须大于等于A。例如:`1-5`表示每月的1~5日重复执行。'."\n" + ."\n" + .'> 必须同时指定`RecurrenceType`和`RecurrenceValue`。', + 'type' => 'string', + 'required' => false, + 'example' => '5', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SchedulerOptions.DeploymentSetStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集策略。取值范围:'."\n" + .'- Availability:高可用策略。'."\n" + .'- AvailabilityGroup:部署集组高可用策略。'."\n" + .'- LowLatency:网络低时延策略。'."\n" + .'- ProximityLooseDispersion:邻近松散部署集策略。'."\n" + ."\n" + .'>仅当策略设置为 ProximityLooseDispersion 时,API响应中会包含 "Resource": "deploymentSet" 对应的价格详情。其他部署集策略免费,故API响应中不会包含"Resource": "deploymentSet" 的价格信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'ProximityLooseDispersion', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PriceInfo' => [ + 'description' => '价格信息类型(Price),包括价格和优惠规则。', + 'type' => 'object', + 'properties' => [ + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '活动规则。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '活动规则描述。', + 'type' => 'string', + 'example' => '买满1年,立享官网价格8.5折优惠。', + ], + 'RuleId' => [ + 'description' => '活动规则ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '587', + ], + ], + ], + ], + ], + ], + 'Price' => [ + 'description' => '价格。', + 'type' => 'object', + 'properties' => [ + 'OriginalPrice' => [ + 'description' => '原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '4368', + ], + 'ReservedInstanceHourPrice' => [ + 'description' => '0预付或部分预付的预留实例券的小时价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '1', + ], + 'DiscountPrice' => [ + 'description' => '折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '655.2', + ], + 'Currency' => [ + 'description' => '货币单位。'."\n" + ."\n" + .'中国站:CNY。'."\n" + ."\n" + .'国际站:USD。', + 'type' => 'string', + 'example' => 'CNY', + ], + 'TradePrice' => [ + 'description' => '最终价,为原价减去折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '3712.8', + ], + 'DetailInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DetailInfo' => [ + 'description' => '配置明细价格信息。'."\n" + ."\n" + .'> 仅当ResourceType = instance时返回。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OriginalPrice' => [ + 'description' => '原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '4368', + ], + 'DiscountPrice' => [ + 'description' => '折扣价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '655.2', + ], + 'Resource' => [ + 'description' => '配置名称。可能值:'."\n" + ."\n" + .'- instanceType:实例。'."\n" + .'- bandwidth:带宽。'."\n" + .'- image:镜像。'."\n" + .'- systemDisk:系统盘。'."\n" + .'- dataDisk:数据盘。', + 'type' => 'string', + 'example' => 'instanceType', + ], + 'SubRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '定价规则子集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '规则子集描述。', + 'type' => 'string', + 'example' => '买满1年,立享官网价格8.5折优惠', + ], + 'RuleId' => [ + 'description' => '活动规则ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '587', + ], + ], + ], + ], + ], + ], + 'TradePrice' => [ + 'description' => '成交价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '3712.8', + ], + ], + ], + ], + ], + ], + ], + ], + 'RelatedPrice' => [ + 'description' => '关联价格。', + 'type' => 'object', + 'properties' => [ + 'MarketplaceImagePrice' => [ + 'description' => '市场镜像价格。', + 'type' => 'object', + 'properties' => [ + 'Currency' => [ + 'description' => '货币单位。'."\n" + ."\n" + .'中国站:CNY。'."\n" + ."\n" + .'国际站:USD。', + 'type' => 'string', + 'example' => 'CNY', + ], + 'OriginalPrice' => [ + 'description' => '原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '100', + ], + 'DiscountPrice' => [ + 'description' => '折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0', + ], + 'TradePrice' => [ + 'description' => '最终价,为原价减去折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '100', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.RecurrenceRules', + 'errorMessage' => 'The specified parameter RecurrenceRules is invalid.', + ], + [ + 'errorCode' => 'InvalidRecurrenceRules.CountLimitExceeded', + 'errorMessage' => 'The count of RecurrenceRules exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidRecurrenceRulesStartHourEndHour.TooShort', + 'errorMessage' => 'The recurrence hour between RecurrenceRules.StartHour and RecurrenceRules.EndHour is too short.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesStartHourEndHour', + 'errorMessage' => 'The specified parameter RecurrenceRules.StartHour or RecurrenceRules.EndHour is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueMonthly', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Monthly is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueWeekly', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Weekly is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueDaily', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Daily is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceType', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceType is invalid.', + ], + [ + 'errorCode' => 'InvalidStartTime.NotSupported', + 'errorMessage' => 'The StartTime of TimeDivisionElasticityAssurance cannot between any of active time ranges.', + ], + [ + 'errorCode' => 'InvalidSpotAuthorized', + 'errorMessage' => 'The specified Spot param is unauthorized.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The specified ZoneId is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => 'The specified InternetChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthOut.ValueNotSupported', + 'errorMessage' => 'The specified parameter "InternetMaxBandwidthOut" is not valid.', + ], + [ + 'errorCode' => 'AccountForbidden.ProductCreationLimited', + 'errorMessage' => 'The commodity must be officially operated by Aliyun and in pay-as-you-go billing method.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "SystemDisk.Category" is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DataDisk.n.Category" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified image does not support the specified instance type.', + ], + [ + 'errorCode' => 'InvalidNetworkType.Mismatch', + 'errorMessage' => 'Specified parameter "InternetChargeType" conflict with instance network type.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Mismatch', + 'errorMessage' => 'The specified disk categories\' combination is not supported.', + ], + [ + 'errorCode' => 'InvalidIoOptimizedValue.ValueNotSupported', + 'errorMessage' => 'IoOptimized value not supported.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid.', + ], + [ + 'errorCode' => 'InstanceDiskCategoryLimitExceed', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'InstanceDiskNumber.LimitExceed', + 'errorMessage' => 'The total number of specified disk in an instance exceeds.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanImageSize', + 'errorMessage' => 'The specified parameter "SystemDisk.Size" is less than the image size.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'Throttling.User', + 'errorMessage' => 'Request was denied due to user flow control.', + ], + [ + 'errorCode' => 'PriceNotFound', + 'errorMessage' => 'The price of your queried resource is not available now, please try other resources.', + ], + [ + 'errorCode' => 'InvalidResourceType.ValueNotSupported', + 'errorMessage' => 'The specified parameter ResourceType is not valid.', + ], + [ + 'errorCode' => 'InvalidPriceUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PriceUnit is not valid.', + ], + [ + 'errorCode' => 'IncorrectImageStatus', + 'errorMessage' => 'The specified image is an Alibaba Cloud Marketplace image. The sale of this image has ended. For more information, contact the image service provider.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The current operation is not supported due to unfinished Temporary Upgrade.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter DataDisk.n.PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'InvalidCapacity.ValueNotSupported', + 'errorMessage' => 'The specified parameter Capacity is not valid.', + ], + [ + 'errorCode' => 'InvalidActivity.NotSupported', + 'errorMessage' => 'The specified discount activity is not supported.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchEncryptAlgorithm', + 'errorMessage' => 'The specified parameter Encrypted must be true when EncryptAlgorithm is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchKmsKeyId', + 'errorMessage' => 'The specified parameter Encrypted must be true when KmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter Encrypted is different from the Encrypted of the snapshot.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is different from the encrypt algorithm of the snapshot.', + ], + [ + 'errorCode' => 'InvalidKmsKeyId.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter KmsKeyId is different from the KmsKeyId of the snapshot.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidAssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.Platform', + 'errorMessage' => 'The specified parameter Platform is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceRenewWithDowngradeInPlan', + 'errorMessage' => 'The operation is denied due to the specified instance has renew with downgrade record in plan.', + ], + [ + 'errorCode' => 'OperationDenied.TestAccountRetricted', + 'errorMessage' => 'Test-account for testing has been prohibited from creating instance in this region. Please contact 400181.', + ], + [ + 'errorCode' => 'UnsupportedIspNetworkChargeType', + 'errorMessage' => 'The network charge type is not supported when specifying ISP.', + ], + [ + 'errorCode' => 'EncryptedOption.Conflict', + 'errorMessage' => 'Disk encryption attributes conflict.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified parameter SystemDisk.Size is invalid', + ], + [ + 'errorCode' => 'UnsupportedIspChargeType', + 'errorMessage' => 'The specified Isp does not support the charge type.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified instanceType is not supported by the image architecture.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskCategory" is not valid.', + ], + [ + 'errorCode' => 'InvalidMarketImage.NotAuthorized', + 'errorMessage' => 'The specified marketplace image is not authorized for your channel, please use other image.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ImageNotSubscribed', + 'errorMessage' => 'The specified image has not be subscribed.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified Image is disabled or is deleted.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueUnauthorized', + 'errorMessage' => 'The disk category is not authorized.', + ], + [ + 'errorCode' => 'InstanceDiskCategoryLimitExceed', + 'errorMessage' => 'The total size of specified disk category in an instance exceeds.', + ], + [ + 'errorCode' => 'ImageRemovedInMarket', + 'errorMessage' => 'The specified market image is not available, Or the specified user defined image includes product code because it is based on an image subscribed from marketplace, and that image in marketplace includeing exact the same product code has been removed.', + ], + [ + 'errorCode' => 'QuotaExceed.PortableCloudDisk', + 'errorMessage' => 'The quota of portable cloud disk exceeds.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InstanceDiskNumLimitExceed', + 'errorMessage' => 'The number of specified disk in an instance exceeds.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified image is not support IoOptimized Instance.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified image don\'t support the InstanceType instance.', + ], + [ + 'errorCode' => 'InvalidDiskSize.TooSmall', + 'errorMessage' => 'Specified disk size is less than the size of snapshot.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Mismatch', + 'errorMessage' => 'The specified disk categories combination is not supported.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not support the specified instance type.', + ], + [ + 'errorCode' => 'QuotaExceed.BuyImage', + 'errorMessage' => 'The specified image is from the image market, you have not bought it or your quota has been exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'There is no authority to create instance in the specified region.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidAmount.Malformed', + 'errorMessage' => 'The specified parameter Amount is not valid.', + ], + [ + 'errorCode' => 'InvalidChargeType.MarketImage', + 'errorMessage' => 'The specified chargeType of marketplace image is invalid.', + ], + [ + 'errorCode' => 'InvalidDiskIds.NotFound', + 'errorMessage' => 'Some of the specified disks do not exist.', + ], + [ + 'errorCode' => 'PrePaidInstance.Expired', + 'errorMessage' => 'The prePaid instance has expired.', + ], + [ + 'errorCode' => 'OperationDenied.PerformanceLevelNotMatch', + 'errorMessage' => 'The specified DataDisk.n.PerformanceLevel and DataDisk.n.Size do not match.', + ], + [ + 'errorCode' => 'InvalidAction.Unauthorized', + 'errorMessage' => 'The specified action is not valid.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportEncryptAlgorithm', + 'errorMessage' => 'The current region does not support creating encrypted disks with EncryptAlgorithm.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportDiskCategory', + 'errorMessage' => 'The instanceType of the specified instance does not support this disk category.', + ], + [ + 'errorCode' => 'InvalidOperation.PublicIpAddressNoStock', + 'errorMessage' => 'The public IP address for the specified Region or ChargeType of the instance is out of stock. Please try another Region or ChargeType.', + ], + [ + 'errorCode' => 'UnsupportedIspRegion', + 'errorMessage' => 'The specified region does not support Isp.', + ], + [ + 'errorCode' => 'InvalidIspBandwidthOut', + 'errorMessage' => 'The specified parameter InternetMaxBandwidthOut should be larger than 0 when specifying parameter Isp.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => 'The specified InstanceType has been offline', + ], + [ + 'errorCode' => 'InvalidIspUID', + 'errorMessage' => 'The current account does not have permission to specify the Isp parameter.', + ], + [ + 'errorCode' => 'UnsupportedIspClassicNetwork', + 'errorMessage' => 'The Isp parameter is not supported in the classic network.', + ], + [ + 'errorCode' => 'InvalidIspType.ValueNotSupported', + 'errorMessage' => 'The specified parameter Isp is invalid.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter SystemDisk.Category is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified Category of Data Disk is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified Image is disabled or is deleted.', + ], + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified instancetype is not support IoOptimized instance.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The InstanceChargeType does not exist in our records.', + ], + [ + 'errorCode' => 'DependencyViolation.IoOptimized', + 'errorMessage' => 'The specified instancetype must be IoOptimized instance.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanImageSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the image size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanMinSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the minimum size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.MoreThanMaxSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is more than the maximum size.', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthOut.ValueNotSupported', + 'errorMessage' => 'The specified vm bandwidth is not valid.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified parameter SystemDisk.Size is invalid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.Missing', + 'errorMessage' => 'The InstanceType parameter that is mandatory for processing the request is not provided.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidNetworkType.ValueNotSupported', + 'errorMessage' => 'The specified parameter NetworkType is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Missing', + 'errorMessage' => 'The DataDisk.1.Category parameter that is mandatory for processing the request is not provided.', + ], + [ + 'errorCode' => 'Invalid.InstanceId.NotFound', + 'errorMessage' => 'The Instance provided does not exist.', + ], + [ + 'errorCode' => 'InvalidMarketImage.NotFound', + 'errorMessage' => 'The specified marketplace image does not exist, please change the imageId and try again.', + ], + [ + 'errorCode' => 'InvalidDiskIds.NotPortable', + 'errorMessage' => 'The specified DiskId is not portable.', + ], + [ + 'errorCode' => 'InvalidSystemDisk.NotFound', + 'errorMessage' => 'The specified system disk does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostType.Missing', + 'errorMessage' => 'The dedicatedHostType parameter that is mandatory for processing the request is not provided.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified SchedulerOptions.DedicatedHostId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PriceInfo\\": {\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"买满1年,立享官网价格8.5折优惠。\\",\\n \\"RuleId\\": 587\\n }\\n ]\\n },\\n \\"Price\\": {\\n \\"OriginalPrice\\": 4368,\\n \\"ReservedInstanceHourPrice\\": 1,\\n \\"DiscountPrice\\": 655.2,\\n \\"Currency\\": \\"CNY\\",\\n \\"TradePrice\\": 3712.8,\\n \\"DetailInfos\\": {\\n \\"DetailInfo\\": [\\n {\\n \\"OriginalPrice\\": 4368,\\n \\"DiscountPrice\\": 655.2,\\n \\"Resource\\": \\"instanceType\\",\\n \\"SubRules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"买满1年,立享官网价格8.5折优惠\\",\\n \\"RuleId\\": 587\\n }\\n ]\\n },\\n \\"TradePrice\\": 3712.8\\n }\\n ]\\n }\\n },\\n \\"RelatedPrice\\": {\\n \\"MarketplaceImagePrice\\": {\\n \\"Currency\\": \\"CNY\\",\\n \\"OriginalPrice\\": 100,\\n \\"DiscountPrice\\": 0,\\n \\"TradePrice\\": 100\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\n \\n \\n CNY\\n 655.2\\n 0\\n 4368\\n 3712.8\\n \\n \\n \\n 买满1年,立享官网价格8.5折优惠。\\n ONE_YEAR_85_PERCENT\\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询价格', + 'description' => '查询不同类型资源的价格时,参数设置也有所不同:'."\n" + .' - `ResourceType=instance`时,必须同时指定参数`InstanceType`。'."\n" + .' 默认查询付费方式(`ChargeType`)为按量付费(`PostPaid`)的价格,您可以通过指定`PriceUnit`参数查询云服务器ECS不同计费周期的价格。'."\n" + .' - `ResourceType=disk`时,必须同时指定参数`DataDisk.1.Category`和`DataDisk.1.Size`。查询`disk`资源的价格时,只返回云盘按量付费的价格,即参数`PriceUnit`只能取值为`Hour`。'."\n" + .'- `ResourceType=diskperformance`时,必须同时指定参数`DataDisk.1.Category`和`DataDisk.1.ProvisionedIops`。'."\n" + .' - `ResourceType=ddh`时,您必须同时指定参数`DedicatedHostType`。'."\n" + .' - `ResourceType=ElasticityAssurance`时,必须同时指定参数`InstanceType`。'."\n" + .' - `ResourceType=CapacityReservation`时,必须同时指定参数`InstanceType`。'."\n" + .'- `ResourceType=bandwidth`时,只返回按流量计费(`PayByTraffic`)的价格。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeRenewalPrice' => [ + 'summary' => '查询云服务器ECS资源的续费价格。仅支持查询包年包月资源的续费价格。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28985', + 'abilityTreeNodes' => [ + 'FEATUREecsSX5FCF', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '查询续费价格的资源类型。取值:instance。'."\n" + ."\n" + .'默认值:instance。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '查询续费价格的资源ID。参数`ResourceType`取值为`instance`时,`ResourceId`可以理解为`InstanceId`。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1f2o4ldh8l29zv****', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '指定续费时长。取值范围:'."\n" + ."\n" + .'- 当参数`PriceUnit`取值为`Month`时:1~9。'."\n" + .'- 当参数`PriceUnit`取值为`Year`时:1~3。'."\n" + ."\n" + .'默认值:1。'."\n" + ."\n" + .'> 续费时长参数(`Period`、`PeriodUnit`)与统一到期日参数(`ExpectedRenewDay`)不能同时设置。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PriceUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '指定续费周期。取值范围:'."\n" + ."\n" + .'- Month:续费周期为一个月。'."\n" + .'- Year:续费周期为一年。'."\n" + ."\n" + .'默认值:Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'ExpectedRenewDay', + 'in' => 'query', + 'schema' => [ + 'description' => '统一到期日。指定该参数后,将查询实例续费至统一到期日的价格信息。取值范围:1~28。'."\n" + ."\n" + .'关于统一到期日功能的更多信息,请参见[统一实例到期日](~~108486~~)。'."\n" + ."\n" + .'> 续费时长参数(`Period`、`PeriodUnit`)与统一到期日参数(`ExpectedRenewDay`)不能同时设置。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。 ', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PriceInfo' => [ + 'description' => '价格信息类型(PriceInfo)组成的数据类型,包括价格和优惠规则信息。', + 'type' => 'object', + 'properties' => [ + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '活动规则。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '活动规则描述。', + 'type' => 'string', + 'example' => '买满1年,立享官网价格8.5折优惠。', + ], + 'RuleId' => [ + 'description' => '活动ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890', + ], + ], + ], + ], + ], + ], + 'Price' => [ + 'description' => '价格。', + 'type' => 'object', + 'properties' => [ + 'OriginalPrice' => [ + 'description' => '原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '4368', + ], + 'DiscountPrice' => [ + 'description' => '折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '655.2', + ], + 'Currency' => [ + 'description' => '货币单位。'."\n" + ."\n" + .'中国站:CNY。'."\n" + ."\n" + .'国际站:USD。', + 'type' => 'string', + 'example' => 'CNY', + ], + 'TradePrice' => [ + 'description' => '最终价,为原价减去折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '3712.8', + ], + 'DetailInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DetailInfo' => [ + 'description' => '资源定价详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Resource' => [ + 'description' => '价格对应的资源名称。', + 'type' => 'string', + 'example' => 'instance', + ], + 'OriginalPrice' => [ + 'description' => '原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '4368', + ], + 'DiscountPrice' => [ + 'description' => '折扣价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '655.2', + ], + 'TradePrice' => [ + 'description' => '成交价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '3712.8', + ], + 'SubRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '定价规则子集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '定价规则描述。', + 'type' => 'string', + 'example' => '买满1年,立享官网价格8.5折优惠。', + ], + 'RuleId' => [ + 'description' => '定价规则ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidResourceType.ValueNotSupported', + 'errorMessage' => 'The specified parameter ResourceType is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid.', + ], + [ + 'errorCode' => 'InvalidPriceUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PriceUnit is not valid.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'Throttling.User', + 'errorMessage' => 'Request was denied due to user flow control.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededMaximumExpirationDate', + 'errorMessage' => 'The specified renewal period cannot exceed the maximum expiration date. We recommend you try shortening the renewal period at next attempt.', + ], + [ + 'errorCode' => 'InvalidExpectedRenewDay.Conflict', + 'errorMessage' => 'The specified expectedRenewDay is in conflict with period.', + ], + [ + 'errorCode' => 'InvalidExpectedRenewDay.ValueNotSupported', + 'errorMessage' => 'The specified parameter ExpectedRenewDay is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can not exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'OperationRestricted.Renewal', + 'errorMessage' => 'The renewal operation has been restricted because the zone is closed. %s', + ], + ], + 403 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + [ + 'errorCode' => 'InvalidAction.Unauthorized', + 'errorMessage' => 'The specified action is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PriceInfo\\": {\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"买满1年,立享官网价格8.5折优惠。\\",\\n \\"RuleId\\": 1234567890\\n }\\n ]\\n },\\n \\"Price\\": {\\n \\"OriginalPrice\\": 4368,\\n \\"DiscountPrice\\": 655.2,\\n \\"Currency\\": \\"CNY\\",\\n \\"TradePrice\\": 3712.8,\\n \\"DetailInfos\\": {\\n \\"DetailInfo\\": [\\n {\\n \\"Resource\\": \\"instance\\",\\n \\"OriginalPrice\\": 4368,\\n \\"DiscountPrice\\": 655.2,\\n \\"TradePrice\\": 3712.8,\\n \\"SubRules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"买满1年,立享官网价格8.5折优惠。\\",\\n \\"RuleId\\": 1234567890\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n \\n \\n \\n 买满1年,立享官网价格8.5折优惠。\\n 1234567890\\n \\n \\n \\n \\n 4368\\n 655.2\\n CNY\\n 3712.8\\n \\n \\n instance\\n 4368\\n 655.2\\n 3712.8\\n \\n \\n 买满1年,立享官网价格8.5折优惠。\\n 1234567890\\n \\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询资源续费价格', + 'description' => '- 仅支持查询包年包月ECS实例续费时长的价格或者续费至统一到期日的价格。'."\n" + .'- 参数设置的注意事项如下:'."\n" + .' - 只设置必选参数时,默认查询实例续费时长1个月的价格信息。'."\n" + .' - 不支持同时查询续费时长价格和续费至统一到期日的价格,即续费时长参数(`Period`、`PeriodUnit`)与续费至统一到期日参数(`ExpectedRenewDay`)不能同时设置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceModificationPrice' => [ + 'summary' => '查询未到期的包年包月ECS实例升配时目标实例规格的价格信息、新增包年包月数据盘的价格信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28950', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要查询升配价格的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1f2o4ldh8l****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例升配的目标实例规格。建议您先调用[DescribeResourcesModification](~~66187~~)查询指定可用区内可升配的实例规格信息。'."\n" + ."\n" + .'> 查询时,实例规格参数(`InstanceType`)和数据盘参数(`DataDisk.N.*`)不得同时为空,必须至少指定一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6e.large', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘类型。仅当从已停售的实例规格升配至在售实例规格,并将非I/O优化实例规格升级为I/O优化实例规格时,才需要传入参数值。关于实例规格的更多信息,请参见[实例规格族](~~25378~~)以及[已停售的实例规格](~~55263~~)。'."\n" + ."\n" + .'取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '数据盘类型信息。', + 'type' => 'array', + 'items' => [ + 'description' => '数据盘类型信息。', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => [ + 'description' => '当数据盘类型为ESSD云盘时,设置云盘的性能等级。N的取值必须和`DataDisk.N.Category=cloud_essd`中的N保持一致。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'默认值:PL1。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'Size' => [ + 'description' => '数据盘的容量大小。N的取值范围:1~16,内存单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:20~32768。'."\n" + .'- cloud_ssd:20~32768。'."\n" + .'- cloud_essd:具体取值范围与`DataDisk.N.PerformanceLevel`的取值有关。 '."\n" + .' - PL0:1~32768。'."\n" + .' - PL1:20~32768。'."\n" + .' - PL2:461~32768。'."\n" + .' - PL3:1261~32768。'."\n" + .'- cloud:5~2000。'."\n" + ."\n" + .'默认值:指定数据盘类型相应的容量大小的最小值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + 'Category' => [ + 'description' => '数据盘类型。当您需要查询ECS实例挂载的新包年包月数据盘的价格时,可以传入该参数值。N的取值范围:1~16。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。'."\n" + ."\n" + .'默认值:无。'."\n" + ."\n" + .'> 查询时,实例规格参数(`InstanceType`)和数据盘参数(`DataDisk.N.*`)不得同时为空,必须至少指定一个。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_essd', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A3DC3196-379B-4F32-A2C5-B937134FAD8A', + ], + 'PriceInfo' => [ + 'description' => '价格信息类型(PriceInfo)组成的数据类型,包括价格和优惠规则信息。', + 'type' => 'object', + 'properties' => [ + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '活动规则。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '活动规则描述。', + 'type' => 'string', + 'example' => '升级优惠', + ], + 'RuleId' => [ + 'description' => '活动ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890', + ], + ], + ], + ], + ], + ], + 'Price' => [ + 'description' => '价格。', + 'type' => 'object', + 'properties' => [ + 'OriginalPrice' => [ + 'description' => '原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '175.200', + ], + 'DiscountPrice' => [ + 'description' => '折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '61.320', + ], + 'Currency' => [ + 'description' => '货币单位。可能值:'."\n" + ."\n" + .'- 中国站:CNY。'."\n" + ."\n" + .'- 国际站:USD。', + 'type' => 'string', + 'example' => 'CNY', + ], + 'TradePrice' => [ + 'description' => '最终价,为原价减去折扣。', + 'type' => 'number', + 'format' => 'float', + 'example' => '113.880', + ], + 'DetailInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DetailInfo' => [ + 'description' => '配置明细价格信息。'."\n" + ."\n" + .'> 仅当ResourceType = instance时返回。', + 'type' => 'array', + 'items' => [ + 'description' => '配置明细价格信息。', + 'type' => 'object', + 'properties' => [ + 'Resource' => [ + 'description' => '配置名称。可能值:'."\n" + ."\n" + .'- instanceType:实例。'."\n" + .'- bandwidth:带宽。'."\n" + .'- image:镜像。'."\n" + .'- systemDisk:系统盘。'."\n" + .'- dataDisk:数据盘。', + 'type' => 'string', + 'example' => 'instanceType', + ], + 'OriginalPrice' => [ + 'description' => '原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '4368', + ], + 'DiscountPrice' => [ + 'description' => '折扣价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '655.2', + ], + 'TradePrice' => [ + 'description' => '成交价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '3712.8', + ], + 'SubRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '定价规则子集。', + 'type' => 'array', + 'items' => [ + 'description' => '定价规则子集。', + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '规则子集描述。', + 'type' => 'string', + 'example' => '买满1年,立享官网价格8.5折优惠', + ], + 'RuleId' => [ + 'description' => '活动规则ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '315716429631488', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.InstanceTypeOrDataDisk', + 'errorMessage' => 'You must specify the parameter InstanceType or DataDisk.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "SystemDisk.Category" is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Missing', + 'errorMessage' => 'The DataDisk.1.Category parameter that is mandatory for processing the request is not provided.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DataDisk.n.Category" is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskCategory" is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter DataDisk.n.PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskSize.TooSmall', + 'errorMessage' => 'Specified disk size is too small when choose PL0 of cloud_essd.', + ], + [ + 'errorCode' => 'OperationDenied.PerformanceLevelNotMatch', + 'errorMessage' => 'The specified DataDisk.n.PerformanceLevel and DataDisk.n.Size do not match.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidAction.WithActiveElasticUpgrade', + 'errorMessage' => 'The instance has active Elastic Upgrade.', + ], + [ + 'errorCode' => 'PriceNotFound', + 'errorMessage' => 'The price of your queried resource is not available now, please try other resources.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'PostPaid instance do not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportUpgrade', + 'errorMessage' => 'The specified InstanceType can only be downgraded. This API supports querying prices only of InstanceType that can be upgraded.', + ], + [ + 'errorCode' => 'InstanceExpired', + 'errorMessage' => 'The PrePaid instance has been expired.', + ], + [ + 'errorCode' => 'Throttling.User', + 'errorMessage' => 'Request was denied due to user flow control.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => 'The specified InstanceType has been offline', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'There is no authority to create instance in the specified region.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A3DC3196-379B-4F32-A2C5-B937134FAD8A\\",\\n \\"PriceInfo\\": {\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"升级优惠\\",\\n \\"RuleId\\": 1234567890\\n }\\n ]\\n },\\n \\"Price\\": {\\n \\"OriginalPrice\\": 175.2,\\n \\"DiscountPrice\\": 61.32,\\n \\"Currency\\": \\"CNY\\",\\n \\"TradePrice\\": 113.88,\\n \\"DetailInfos\\": {\\n \\"DetailInfo\\": [\\n {\\n \\"Resource\\": \\"instanceType\\",\\n \\"OriginalPrice\\": 4368,\\n \\"DiscountPrice\\": 655.2,\\n \\"TradePrice\\": 3712.8,\\n \\"SubRules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"买满1年,立享官网价格8.5折优惠\\",\\n \\"RuleId\\": 315716429631488\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n }\\n}","type":"json"}]', + 'title' => '查询未到期的包年包月ECS实例升配时目标实例规格的价格信息、新增包年包月数据盘的价格信息', + 'description' => '- 仅支持查询未到期的包年包月ECS实例升配的价格信息,暂不支持查询实例降配的价格信息。'."\n" + .'- 不支持查询按量付费ECS实例变配时的价格信息。由于按量付费ECS实例变配后的价格与新购实例的价格一致,因此您可以直接调用[DescribePrice](~~107829~~)查询ECS实例的最新价格。'."\n" + .'- 实例升配前,建议您先调用[DescribeResourcesModification](~~66187~~)查询指定可用区内可升配的实例规格信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RunInstances' => [ + 'summary' => '本接口用于批量创建ECS实例,支持自动启动、分配公网IP及设置自动释放时间。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29315', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + 'FEATUREecsL143PE', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID,启动实例时选择的镜像资源。您可以通过[DescribeImages](~~25534~~)查询您可以使用的镜像资源。如果您不指定`LaunchTemplateId`或`LaunchTemplateName`以确定启动模板,也不通过指定`ImageFamily`选用镜像族系最新可用镜像,则`ImageId`为必选参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_2_1903_x64_20G_alibase_20200324.vhd', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像族系名称,通过设置该参数来获取当前镜像族系内最新可用镜像来创建实例。'."\n" + ."\n" + .'镜像族系的名称长度为2~128个字符。镜像族系名称不能以特殊字符、数字、http://、https://开头,只可包含特殊字符中的"."、"_"、"-"和":"。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 设置了参数`ImageId`,则不能设置该参数。'."\n" + .'- 未设置参数`ImageId`,但指定的`LaunchTemplateId`或`LaunchTemplateName`对应的启动模板设置了`ImageId`,则不能设置该参数。'."\n" + .'- 未设置`ImageId`,且指定的`LaunchTemplateId`或`LaunchTemplateName`对应的启动模板未设置`ImageId`,则可以设置该参数。'."\n" + .'- 未设置`ImageId`,且未设置`LaunchTemplateId`、`LaunchTemplateName`参数,则可以设置该参数。'."\n" + .'> 阿里云官方镜像关联的镜像族系信息请参见[公共镜像概述](~~108393~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'hangzhou-daily-update', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的资源规格。如果您不指定`LaunchTemplateId`或`LaunchTemplateName`以确定启动模板,`InstanceType`为必选参数。 '."\n" + ."\n" + .'- 产品选型:参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~25620~~)查看目标实例规格的性能数据,或者参见[选型配置](~~58291~~)了解如何选择实例规格。'."\n" + .'- 查询库存:调用[DescribeAvailableResource](~~66186~~)查看指定地域或者可用区内的资源供给情况。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '新创建实例所属于的安全组ID。同一个安全组内的实例之间可以互相访问,一个安全组能容纳的实例数量视安全组类型而定,具体请参见[使用限制](~~25412#SecurityGroupQuota~~)的安全组章节。'."\n" + ."\n" + .'> `SecurityGroupId`决定了实例的网络类型,例如,如果设置的安全组的网络类型为专有网络VPC,实例则为VPC类型,并同时需要指定参数`VSwitchId`。'."\n" + ."\n" + .'如果您不设置`LaunchTemplateId`或`LaunchTemplateName`以确定实例启动模板,则安全组ID为必选参数。您需要注意:'."\n" + ."\n" + .'- 您可以通过`SecurityGroupId`设置一个安全组,也可以通过`SecurityGroupIds.N`设置一个或多个安全组,但不支持同时设置`SecurityGroupId`和`SecurityGroupIds.N`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`SecurityGroupId`或`SecurityGroupIds.N`,只能设置`NetworkInterface.N.SecurityGroupId`或`NetworkInterface.N.SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '虚拟交换机ID。如果您创建的是VPC类型ECS实例,必须指定虚拟交换机ID,且安全组和虚拟交换机在同一个专有网络VPC中。您可以调用[DescribeVSwitches](~~35748~~)查询已创建的交换机的相关信息。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 如果您设置了`VSwitchId`参数,则设置的`ZoneId`参数必须和交换机所在的可用区保持一致。您也可以不设置`ZoneId`参数,系统将自动选择指定交换机所在的可用区。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`VSwitchId`,只能设置`NetworkInterface.N.VSwitchId`。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1s5fnvk4gn2tws0****', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文等)和数字。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。默认值为实例的`InstanceId`。'."\n" + ."\n" + .'创建多台ECS实例时,您可以批量设置有序的实例名称,并且可以包含方括号([])和逗号(,)。具体操作,请参见[批量设置有序的实例名称或主机名称](~~196048~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-node-[1,4]-alibabacloud', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'Instance_Description', + ], + ], + [ + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => [ + 'description' => '公网入带宽最大值,单位为Mbit/s。取值范围:'."\n" + ."\n" + .'- 当所购公网出带宽小于等于10 Mbit/s时:1~10,默认为10。'."\n" + .'- 当所购公网出带宽大于10 Mbit/s时:1~`InternetMaxBandwidthOut`的取值,默认为`InternetMaxBandwidthOut`的取值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s。取值范围:0~100。'."\n" + ."\n" + .'默认值:0。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例主机名称。限制说明如下:'."\n" + ."\n" + .'- 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- Windows实例:字符长度为2~15,不支持半角句号(.),不能全是数字。允许包含大小写英文字母、数字和短划线(-)。'."\n" + .'- 其他类型实例(Linux等):'."\n" + .' - 字符长度为2~64,支持多个半角句号(.),点之间为一段,每段允许包含大小写英文字母、数字和短划线(-)。'."\n" + .' - 支持通过占位符`${instance_id}`将实例ID写入`HostName`参数。例如:`HostName=k8s-${instance_id}`,并且创建的ECS实例ID为`i-123abc****`,则该实例的主机名为`k8s-i-123abc****`。'."\n" + ."\n" + .'创建多台ECS实例时,您可以:'."\n" + ."\n" + .'- 批量设置有序的主机名。具体操作,请参见[批量设置有序的实例名称或主机名称](~~196048~~)。'."\n" + .'- 通过`HostNames.N`参数,为多台实例分别设置主机名。需要注意`HostName`参数和`HostNames.N`参数不能同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-node-[1,4]-ecshost', + ], + ], + [ + 'name' => 'UniqueSuffix', + 'in' => 'query', + 'schema' => [ + 'description' => '当创建多台实例时,是否为`HostName`和`InstanceName`自动添加有序后缀。有序后缀从001开始递增,最大不能超过999。取值范围:'."\n" + .'- true:添加。'."\n" + .'- false:不添加。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'当`HostName`或`InstanceName`按照指定排序格式设置,未设置命名后缀`name_suffix`,即命名格式为`name_prefix[begin_number,bits]`时,`UniqueSuffix`不生效,名称仅按照指定顺序排序。'."\n" + ."\n" + .'更多信息,请参见[批量设置有序的实例名称或主机名称](~~196048~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:'."\n" + ."\n" + .'```'."\n" + .'()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/'."\n" + .'```'."\n" + ."\n" + .'其中,Windows实例不能以正斜线(/)为密码首字符。'."\n" + ."\n" + .'> 如果传入`Password`参数,建议您使用HTTPS协议发送请求,避免密码泄露。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsV587!', + ], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用镜像预设的密码。取值范围:'."\n" + ."\n" + .'- true:使用。'."\n" + .'- false:不使用。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 使用该参数时,Password参数必须为空,同时您需要确保使用的镜像已经设置了密码。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的可用区ID,您可以调用[DescribeZones](~~25610~~)获取可用区列表。'."\n" + ."\n" + .'> 如果您指定了`VSwitchId`参数,则指定的`ZoneId`参数必须和交换机所在的可用区保持一致。您也可以不指定`ZoneId`参数,系统将自动选择指定的交换机所在的可用区。'."\n" + ."\n" + .'默认值:系统自动选择。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络计费类型。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'默认值:PayByTraffic。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘大小,单位为GiB。取值范围:'."\n" + ."\n" + .'- 普通云盘:20~500。'."\n" + .'- ESSD云盘:'."\n" + .' - PL0:1~2048。'."\n" + .' - PL1:20~2048。'."\n" + .' - PL2:461~2048。'."\n" + .' - PL3:1261~2048。'."\n" + .'- ESSD AutoPL 云盘:1~2048。'."\n" + .'- 其他云盘类型:20~2048。'."\n" + ."\n" + .'该参数的取值必须大于或者等于 max{1, ImageSize}。'."\n" + ."\n" + .'默认值:max{40, 参数ImageId对应的镜像大小}。', + 'type' => 'string', + 'required' => false, + 'example' => '40', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + ."\n" + .'参数默认值说明:'."\n" + ."\n" + .'- 当InstanceType为已停售且非 I/O 优化的实例规格,该参数默认值为`cloud`。'."\n" + .'- 其它情况下,该参数默认值为`cloud_efficiency`。2026年1月30日后,对于仅支持cloud_essd的实例规格,默认值由 cloud_efficiency调整为cloud_essd PL0,详情请参见[变更公告](https://www.aliyun.com/notice/117844)。'."\n" + ."\n" + .'>仅当`InstanceType`设置为[通用算力型实例规格族u1](~~457079~~)(`ecs.u1`)或[经济型实例规格族e](~~108489~~)(`ecs.e`)时,该参数支持取`cloud_essd_entry`值。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssdSystem', + ], + ], + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'SystemDisk_Description', + ], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1(默认):单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL0', + ], + ], + [ + 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘采用的自动快照策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。[已停售的实例规格](~~55263~~)实例默认值是none,其他实例规格默认值是optimized。取值范围:'."\n" + ."\n" + .'- none:非I/O优化。'."\n" + .'- optimized:I/O优化。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => '实例自定义数据。必须填写已采用Base64编码后的数据,且在进行Base64编码前自定义数据内容的大小不能超过32 KB。'."\n" + ."\n" + .'有关实例自定义数据的使用限制、格式以及运行频率的详细信息,请参见[实例自定义数据](~~49121~~)。'."\n" + ."\n" + .'>为保证传输过程中UserData的安全性,请避免直接以明文形式传送敏感数据,如密码和私钥。若需传送此类信息,建议先行加密处理,并采用Base64编码方式,随后在实例内部进行解密以确保信息安全。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZWNobyBoZWxsbyBlY3Mh', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。'."\n" + .'>Windows实例,忽略该参数。默认为空。即使填写了该参数,仍旧只执行`Password`的内容。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyPair_Name', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例RAM角色名称。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色。', + 'type' => 'string', + 'required' => false, + 'example' => 'RAM_Name', + ], + ], + [ + 'name' => 'Amount', + 'in' => 'query', + 'schema' => [ + 'description' => '指定创建ECS实例的数量。取值范围:1~100。'."\n" + ."\n" + .'创建成功的ECS数量与指定的Amount和minAmount数量有关:'."\n" + ."\n" + .'- 不指定minAmount时:按照Amount数量创建,库存不满足则API返回创建失败,同时一台也不会创建。'."\n" + ."\n" + .'- 指定minAmount时:'."\n" + .' - 当ECS库存数量<minAmount:不会创建ECS,同时API返回创建失败。'."\n" + .' - 当minAmount≤ECS库存数量<Amount,按照库存数量创建实例,API返回创建成功。'."\n" + .' - 当ECS库存数量≥Amount,按照指定的Amount创建,API返回创建成功。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '1000', + 'minimum' => '1', + 'example' => '3', + 'default' => '1', + ], + ], + [ + 'name' => 'MinAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '指定ECS实例最小购买数量。取值范围:1~100。'."\n" + ."\n" + .'创建成功的ECS数量与指定的Amount和minAmount数量有关:'."\n" + ."\n" + .'- 不指定minAmount时:按照Amount数量创建,库存不满足则API返回创建失败,同时一台也不会创建。'."\n" + ."\n" + .'- 指定minAmount时:'."\n" + .' - 当ECS库存数量<minAmount:不会创建ECS,同时API返回创建失败。'."\n" + .' - 当minAmount≤ECS库存数量<Amount,按照库存数量创建实例,API返回创建成功。'."\n" + .' - 当ECS库存数量≥Amount,按照指定的Amount创建,API返回创建成功。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '2', + ], + ], + [ + 'name' => 'AutoReleaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例的自动释放时间。按照[ISO 8601](~~25696~~)标准表示,使用UTC+0时间。格式为:`yyyy-MM-ddTHH:mm:ssZ`。'."\n" + ."\n" + .'- 如果秒(`ss`)取值不是`00`,则自动取为当前分钟(`mm`)开始时。'."\n" + ."\n" + .'- 最短释放时间为当前时间半小时之后。'."\n" + ."\n" + .'- 最长释放时间不能超过当前时间三年。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-01-01T12:05:00Z', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例的竞价策略。当参数`InstanceChargeType`取值为`PostPaid`时生效。取值范围:'."\n" + ."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。'."\n" + ."\n" + .'默认值:NoSpot。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 取值:'."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会实时比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行时长,系统会实时比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'默认值:1。'."\n" + .'> '."\n" + .'> - 该参数目前只支持设置为0或1。'."\n" + .'> - 抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + .'> - 实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '720', + 'minimum' => '0', + 'example' => '1', + ], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '设置实例的每小时最高价格。支持最大3位小数,参数`SpotStrategy`取值为`SpotWithPriceLimit`时生效。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'maximum' => '999999', + 'minimum' => '0', + 'example' => '0.97', + ], + ], + [ + 'name' => 'SpotInterruptionBehavior', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占实例中断模式。取值范围:'."\n" + ."\n" + .'- Terminate:直接释放实例。'."\n" + .'- Stop:实例进入节省停机模式。'."\n" + ."\n" + .' 关于节省停机模式的更多说明,请参见[按量付费实例节省停机模式](~~63353~~)。'."\n" + ."\n" + .'默认值:Terminate。', + 'type' => 'string', + 'required' => false, + 'example' => 'Terminate', + ], + ], + [ + 'name' => 'SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启安全加固。取值范围:'."\n" + ."\n" + .'- Active:启用安全加固,只对公共镜像生效。'."\n" + .'- Deactive:不启用安全加固,对所有镜像类型生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的HPC集群ID。 '."\n" + ."\n" + .'创建SCC实例时,该参数为必选参数。您可以参考[CreateHpcCluster](~~109138~~)创建HPC集群。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'hpc-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式、业务限制和ECS库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false(默认):发送正常请求,通过检查后直接创建实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。'."\n" + .'您可以通过[DescribeDedicatedHosts](~~134242~~)查询专有宿主机ID列表。'."\n" + ."\n" + .'您可以通过[DescribeDedicatedHosts](~~134242~~)查询专有宿主机ID列表。'."\n" + ."\n" + .'>专有宿主机不支持创建抢占式实例,指定`DedicatedHostId`参数后,会自动忽略请求中的`SpotStrategy`和`SpotPriceLimit`设置。>', + 'type' => 'string', + 'required' => false, + 'example' => 'dh-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板ID。更多信息,请调用[DescribeLaunchTemplates](~~73759~~)。'."\n" + ."\n" + .'使用启动模板创建实例时,您必须指定`LaunchTemplateId`或`LaunchTemplateName`确定启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-bp1apo0bbbkuy0rj****', + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板名称。'."\n" + ."\n" + .'使用启动模板创建实例时,您必须指定`LaunchTemplateId`或`LaunchTemplateName`确定启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'LaunchTemplate_Name', + ], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板版本。如果您指定了`LaunchTemplateId`或`LaunchTemplateName`而不指定启动模板版本号,则采用默认版本。 ', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买资源的时长,单位由`PeriodUnit`指定。当参数`InstanceChargeType`取值为`PrePaid`时才生效且为必选值。一旦指定了`DedicatedHostId`,则取值范围不能超过专有宿主机的订阅时长。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时,Period取值:1、2、3、4。'."\n" + .'- PeriodUnit=Month时,Period取值:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时,Period取值:1、2、3、4、5、6、7、8、9、12、24、36、48、60。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月计费方式的时长单位。取值范围: '."\n" + ."\n" + .''."\n" + .'- Week。'."\n" + .'- Month(默认)。'."\n" + ."\n" + .''."\n" + ."\n" + .'Month(默认)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否要自动续费。当参数`InstanceChargeType`取值`PrePaid`时才生效。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false:不自动续费。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '单次自动续费的续费时长。取值范围: '."\n" + .' '."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3。'."\n" + .'- PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的付费方式。取值范围:'."\n" + ."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .'默认值:PostPaid。'."\n" + ."\n" + .'选择包年包月时,您必须确认自己的账号支持余额支付或者信用支付,否则将返回`InvalidPayMethod`的错误提示。'."\n" + ."\n" + .'选择包年包月时,您必须确认自己的账号支持信用支付,否则将返回`InvalidPayMethod`的错误提示。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp1brhwhoqinyjd6****', + ], + ], + [ + 'name' => 'DeploymentSetGroupNo', + 'in' => 'query', + 'schema' => [ + 'description' => '如果您设置的部署集对应的策略为部署集组高可用策略(AvailabilityGroup),可以通过该参数指定实例在部署集中的分组号。取值范围:1~7。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '实例私网IP地址。专有网络VPC类型ECS实例设置私网IP地址时,必须从虚拟交换机(`VSwitchId`)的空闲网段中选择。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 设置`PrivateIpAddress`后:'."\n" + .' - 如果`Amount`参数取值为1,则表示为创建的一台ECS实例分配私网IP地址。'."\n" + .' - 如果`Amount`参数取值大于1,则表示在批量创建ECS实例时,以指定的私网IP地址为起始地址,依次为多台ECS实例分配连续的私网IP地址,但需要注意,此时不支持再为实例绑定辅助网卡(即不支持再设置`NetworkInterface.N.*`这类参数)。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`PrivateIpAddress`,只能设置`NetworkInterface.N.PrimaryIpAddress`。'."\n" + ."\n" + .'>每个交换机的第1个和最后3个IP地址为系统保留地址,不支持指定。'."\n" + .'例如,交换机的网段为192.168.1.0/24,则192.168.1.0、192.168.1.253、192.168.1.254和192.168.1.255这4个地址是系统保留地址。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.**.**', + ], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => [ + 'description' => '设置突发性能实例的运行模式。取值范围:'."\n" + ."\n" + .'- Standard:标准模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的性能约束模式章节。'."\n" + .'- Unlimited:无性能约束模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的无性能约束模式章节。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为主网卡指定随机生成的IPv6地址数量。取值范围:1~10。'."\n" + .' '."\n" + .'您需要注意:'."\n" + ."\n" + .'- 您不能同时设置`Ipv6Address.N`和`Ipv6AddressCount`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`Ipv6Address.N`或`Ipv6AddressCount`,只能设置`NetworkInterface.N.Ipv6Address.N`或`NetworkInterface.N.Ipv6AddressCount`。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'NetworkInterfaceQueueNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '主网卡队列数。您需要注意:'."\n" + ."\n" + .'- 不能超过实例规格允许的单块网卡最大队列数。'."\n" + ."\n" + .'- 实例的所有网卡累加队列数不能超过实例规格允许的队列数总配额。实例规格的单块网卡最大队列数和总配额可以通过[DescribeInstanceTypes](~~25620~~)接口查询`MaximumQueueNumberPerEni`、`TotalEniQueueQuantity`字段。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`NetworkInterfaceQueueNumber`,只能设置`NetworkInterface.N.QueueNumber`。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '8', + ], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => '实例释放保护属性,指定是否支持通过控制台或API([DeleteInstance](~~25507~~))释放实例。取值范围: '."\n" + ."\n" + .'- true:开启实例释放保护。'."\n" + .'- false:关闭实例释放保护。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'HibernationOptions.Configured', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机实例是否与专有宿主机关联。取值范围:'."\n" + ."\n" + .'- default:实例不与专有宿主机关联。已启用节省停机模式的实例,停机后再次启动时,若原专有宿主机可用资源不足,则实例被放置在自动部署资源池的其它专有宿主机上。'."\n" + ."\n" + .'- host:实例与专有宿主机关联。已启用节省停机模式的实例,停机后再次启动时,仍放置在原专有宿主机上。若原专有宿主机可用资源不足,则实例重启失败。'."\n" + ."\n" + .'默认值:default。', + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Tenancy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否在专有宿主机上创建实例。取值范围:'."\n" + ."\n" + .'- default:创建非专有宿主机实例。'."\n" + ."\n" + .'- host:创建专有宿主机实例。若您不指定`DedicatedHostId`,则由阿里云自动选择专有宿主机放置实例。'."\n" + ."\n" + .'默认值:default。', + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '存储集ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ss-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '存储集中的最大分区数量。取值范围:大于等于1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '2', + ], + ], + [ + 'name' => 'CpuOptions.Core', + 'in' => 'query', + 'schema' => [ + 'description' => 'CPU核心数。'."\n" + ."\n" + .'默认值:请参见[自定义CPU选项](~~145895~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'CpuOptions.ThreadsPerCore', + 'in' => 'query', + 'schema' => [ + 'description' => 'CPU线程数。ECS实例的vCPU数=`CpuOptions.Core`取值*`CpuOptions.ThreadsPerCore`取值。'."\n" + ."\n" + .'- `CpuOptions.ThreadsPerCore=1`表示关闭CPU超线程。'."\n" + ."\n" + .'- 仅部分实例规格支持设置CPU线程数。'."\n" + ."\n" + .'取值范围和默认值:请参见[自定义CPU选项](~~145895~~)。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'CpuOptions.Numa', + 'in' => 'query', + 'schema' => [ + 'description' => '该参数已弃用。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'CpuOptions.TopologyType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的Cpu拓扑类型。取值范围:'."\n" + ."\n" + .'- ContinuousCoreToHTMapping:当选择`ContinuousCoreToHTMapping`时,实例的Cpu拓扑中,实例的同一个Core的HT是连续的。'."\n" + .'- DiscreteCoreToHTMapping:当选择`DiscreteCoreToHTMapping`时,实例的同一个Core的HT是离散的。'."\n" + ."\n" + .'默认值:无。'."\n" + ."\n" + .'>仅部分实例规格族支持使用本参数,具体支持实例规格族请参见[查看和修改CPU拓扑结构](~~2636059~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'DiscreteCoreToHTMapping', + ], + ], + [ + 'name' => 'SecurityOptions.TrustedSystemMode', + 'in' => 'query', + 'schema' => [ + 'description' => '可信系统模式。取值:vTPM。'."\n" + ."\n" + .'目前,可信系统模式支持的实例规格族:'."\n" + .'- g7、c7、r7。'."\n" + .'- 安全增强型(g7t、c7t、r7t)。'."\n" + ."\n" + .'当您创建以上实例规格族的ECS实例时,需要设置该参数。具体说明如下:'."\n" + ."\n" + .'- 如果您使用阿里云可信系统,请将该参数值设置为vTPM,在实例启动时即可通过阿里云可信系统完成可信校验。'."\n" + .'- 如果您不使用阿里云可信系统,可以不设置该参数值,但您需要注意,如果您所创建的ECS实例使用了Enclave机密计算模式(`SecurityOptions.ConfidentialComputingMode=Enclave`),则该ECS实例也会启用可信系统。'."\n" + .'- 通过OpenAPI创建可信系统的ECS实例时,只能调用`RunInstances`实现,`CreateInstance`目前不支持设置`SecurityOptions.TrustedSystemMode`参数。'."\n" + .'>如果您在创建实例的时候指定其为可信实例,那么当您更换系统盘时只能使用支持可信系统的镜像。'."\n" + ."\n" + .'关于可信系统的更多信息,请参见[安全增强型实例可信功能概述](~~201394~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'vTPM', + ], + ], + [ + 'name' => 'SecurityOptions.ConfidentialComputingMode', + 'in' => 'query', + 'schema' => [ + 'description' => '机密计算模式。取值:Enclave。'."\n" + ."\n" + .'该参数取值为Enclave时,表示ECS实例使用Enclave构建机密计算环境。目前仅实例规格族c7、g7、r7,支持调用`RunInstances`时指定该参数使用Enclave机密计算。您需要注意:'."\n" + ."\n" + .'- 机密计算功能正在邀测中。'."\n" + ."\n" + .'- 通过OpenAPI创建Enclave机密计算的ECS实例时,只能调用`RunInstances`实现,`CreateInstance`目前不支持设置`SecurityOptions.ConfidentialComputingMode`参数。'."\n" + ."\n" + .'- Enclave机密计算依托可信系统(vTPM)实现,当您指定ECS实例使用Enclave构建机密计算环境时,该实例同时也会启用可信系统。因此,调用该接口时,如果设置了`SecurityOptions.ConfidentialComputingMode=Enclave`,则无论您是否设置了`SecurityOptions.TrustedSystemMode=vTPM`,最终创建的ECS实例均会启用Enclave机密计算模式以及可信系统。'."\n" + ."\n" + .'关于机密计算的更多信息,请参见[使用Enclave构建机密计算环境](~~203433~~)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Enclave', + ], + ], + [ + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例元数据的访问通道。取值范围:'."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值:enabled。'."\n" + .'>有关实例元数据的信息,请参见[实例元数据概述](~~49122~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'enabled', + ], + ], + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => [ + 'description' => '访问实例元数据时是否强制使用加固模式(IMDSv2)。取值范围:'."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。设置该取值后,普通模式无法访问实例元数据。'."\n" + ."\n" + .'默认值:optional。'."\n" + .'>有关访问实例元数据的模式,请参见[实例元数据访问模式](~~150575~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'optional', + ], + ], + [ + 'name' => 'HttpPutResponseHopLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值范围:'."\n" + ."\n" + .'- Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。该模式下无需设置`PrivatePoolOptions.Id`参数。'."\n" + .'- Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须指定私有池ID,即`PrivatePoolOptions.Id`参数为必填项。'."\n" + .'- None:不使用模式。实例启动将不使用私有池容量。'."\n" + ."\n" + .'默认值:None。'."\n" + ."\n" + .'以下任一场景,实例启动的私有池容量选项只能取值`None`或不传值。'."\n" + .'- 创建抢占式实例。'."\n" + .'- 创建经典网络类型的ECS实例。'."\n" + .'- 在专有宿主机DDH上创建ECS实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'Open', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '私有池ID。即弹性保障服务ID或容量预定服务ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'SchedulerOptions.DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定ECS实例所属的专有宿主机集群,系统会自动选择该专有宿主机集群中的一台专有宿主机部署ECS实例。'."\n" + ."\n" + .'> 仅在`Tenancy`设置为`host`时生效。'."\n" + ."\n" + .'在您同时指定了专有宿主机(`DedicatedHostId`)和专有宿主机集群(`SchedulerOptions.DedicatedHostClusterId`)时:'."\n" + .'- 如果专有宿主机属于专有宿主机集群,则优先将ECS实例部署在指定的专有宿主机上。'."\n" + .'- 如果专有宿主机不属于专有宿主机集群,则ECS实例创建失败。'."\n" + ."\n" + .'您可以通过[DescribeDedicatedHostClusters](~~184145~~)查询专有宿主机集群ID列表。'."\n" + ."\n" + .'您可以通过[DescribeDedicatedHostClusters](~~184145~~)查询专有宿主机集群ID列表。'."\n" + ."\n" + .'您可以通过[DescribeDedicatedHostClusters](~~184145~~)查询专有宿主机集群ID列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'dc-bp12wlf6am0vz9v2****', + ], + ], + [ + 'name' => 'SecurityGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '将实例同时加入多个安全组。N的取值范围与实例能够加入安全组配额有关。更多信息,请参见[安全组限制](~~101348~~)。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 不支持同时设置`SecurityGroupId`和`SecurityGroupIds.N`。'."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`SecurityGroupId`或`SecurityGroupIds.N`,只能设置`NetworkInterface.N.SecurityGroupId`或`NetworkInterface.N.SecurityGroupIds.N`。', + 'type' => 'array', + 'items' => [ + 'description' => '将实例同时加入多个安全组。N的取值范围与实例能够加入安全组配额有关。更多信息,请参见[安全组限制](~~101348~~)。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 不支持同时设置`SecurityGroupId`和`SecurityGroupIds.N`。'."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`SecurityGroupId`或`SecurityGroupIds.N`,只能设置`NetworkInterface.N.SecurityGroupId`或`NetworkInterface.N.SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + ], + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'HostNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '创建多台实例时,为每台实例指定不同的主机名。', + 'type' => 'array', + 'items' => [ + 'description' => '创建多台实例时,为每台实例指定不同的主机名。限制说明如下:'."\n" + ."\n" + .'- N的个数需要和`Amount`参数值保持一致。例如,`Amount=2`时,通过该参数指定主机名的格式为`HostNames.1=test1`和`HostNames.2=test2`。'."\n" + .'- 不支持同时设置`HostName`参数和`HostNames.N`参数。'."\n" + .'- 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- Windows实例:字符长度为2~15,不支持半角句号(.),不能全是数字。允许包含大小写英文字母、数字和短划线(-)。'."\n" + .'- 其他类型实例(Linux等):字符长度为2~64,支持多个半角句号(.),点之间为一段,每段允许包含大小写英文字母、数字和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs-host-01', + ], + 'required' => false, + 'example' => 'ecs-host-01', + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '数据盘信息集合列表。', + 'type' => 'array', + 'items' => [ + 'description' => '数据盘信息集合。', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => [ + 'description' => '创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。N的取值必须和`DataDisk.N.Category=cloud_essd`中的N保持一致。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1(默认):单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '数据盘采用的自动快照策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp67acfmxazb4p****', + ], + 'Encrypted' => [ + 'description' => '数据盘N是否加密。取值范围:'."\n" + .'- true:加密。'."\n" + .'- false:不加密。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n\n" + .'>当使用共享加密镜像,创建基于加密快照的云盘时,必须指定该云盘的请求参数Encrypted=true,以确保创建出的云盘使用的是被共享方自己的密钥。>', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + 'Description' => [ + 'description' => '数据盘的描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'DataDisk_Description', + ], + 'SnapshotId' => [ + 'description' => '创建数据盘N使用的快照。N的取值范围为1~16。'."\n" + ."\n" + .'指定参数`DataDisk.N.SnapshotId`后,参数`DataDisk.N.Size`会被忽略,实际创建的云盘大小为指定的快照的大小。不能使用早于2013年7月15日(含)创建的快照,请求会报错被拒绝。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17441ohwka0yuh****', + ], + 'Device' => [ + 'description' => '数据盘的挂载点。挂载的数据盘数量不同,挂载点的命名不同:'."\n" + ."\n" + .'- 1~25块数据盘:/dev/xvd`[b-z]`'."\n" + ."\n" + .'- 大于25块数据盘:/dev/xvd`[aa-zz]`,例如第26块数据盘会被命名为/dev/xvdaa,第27块数据盘为/dev/xvdab,以此类推。'."\n" + ."\n" + .'> - 该参数仅用于全镜像(整机镜像)场景。您可以通过将此参数设置为全镜像中数据盘对应的挂载点,并修改对应的`DataDisk.N.Size`和`DataDisk.N.Category`参数,达到修改全镜像中数据盘磁盘种类和大小的目的。'."\n" + .'> - 使用全境像创建实例时,全镜像中的数据盘会作为ECS实例的前1-n个数据盘被创建出来。', + 'type' => 'string', + 'required' => false, + 'example' => '/dev/xvdb', + ], + 'Size' => [ + 'description' => '第n个数据盘的容量大小,N的取值范围为1~16,内存单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:20~32768。'."\n" + .'- cloud_ssd:20~32768。'."\n" + .'- cloud_essd:具体取值范围与`DataDisk.N.PerformanceLevel`的取值有关。 '."\n" + .' - PL0:1~65,536。'."\n" + .' - PL1:20~65,536。'."\n" + .' - PL2:461~65,536。'."\n" + .' - PL3:1261~65,536。'."\n" + .'- cloud:5~2000。'."\n" + .'- cloud_auto:1~65,536。'."\n" + .'- cloud_essd_entry:10~32768。'."\n" + ."\n" + .'>该参数的取值必须大于等于参数`SnapshotId`指定的快照的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + 'DiskName' => [ + 'description' => '数据盘名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssdData', + ], + 'Category' => [ + 'description' => '数据盘N的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_regional_disk_auto:ESSD 同城冗余云盘。'."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .' >仅当`InstanceType`设置为`ecs.u1`或`ecs.e`规格族时,该参数支持`cloud_essd_entry`。'."\n" + .'- elastic_ephemeral_disk_standard:弹性临时盘-标准版。'."\n" + .'- elastic_ephemeral_disk_premium:弹性临时盘-高级版。'."\n" + ."\n" + .'对于I/O优化实例,默认值为cloud_efficiency。对于非I/O优化实例,默认值为cloud。'."\n" + .'参数默认值说明:'."\n" + ."\n" + .'- 当InstanceType为已停售且非I/O优化的实例规格,该参数默认值为`cloud`。'."\n" + .'- 其它情况下,该参数默认值为`cloud_efficiency`。2026年1月30日后,当IO优化型实例规格不支持cloud_auto时,默认值为 cloud_efficiency,否则默认值为cloud_auto,同时会默认开启性能突发(会产生额外费用,详情参见[计费示例](~~368372#p_75k_2hp_7gp~~)),详情请参见[变更公告](https://www.aliyun.com/notice/117844)。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + 'EncryptAlgorithm' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'DeleteWithInstance' => [ + 'description' => '表示数据盘是否随实例释放。取值范围:'."\n" + .'- true:数据盘随实例释放。'."\n" + .'- false:数据盘不随实例释放。'."\n" + ."\n" + .'默认值为true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'KMSKeyId' => [ + 'description' => '数据盘对应的KMS密钥ID。'."\n" + ."\n" + .'> 若Encrypted设置为true,不指定KMSKeyId,则使用默认的密钥进行加密,并在创建实例成功后返回KMSKeyId值。'."\n" + .'> - - 云盘通过非共享而来的加密快照创建:默认使用该快照所使用的加密密钥进行加密。'."\n" + .'> - - 云盘通过共享而来的加密快照创建:默认使用服务密钥进行加密。'."\n" + .'> - - 在已开启块存储账号级默认加密的地域创建:默认使用指定的账号级密钥进行加密。'."\n" + .'> - - 其他情况:默认使用服务密钥进行加密。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'StorageClusterId' => [ + 'description' => '专属块存储集群ID。如果您在创建ECS实例时,需要使用专属块存储集群中的云盘资源作为数据盘,请设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'dbsc-j5e1sf2vaf5he8m2****', + ], + 'ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置的读写IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50000}。'."\n" + ."\n" + .'>当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '40000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'>当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'Arn', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'RoleType' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Rolearn' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'AssumeRoleFor' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'NetworkInterface', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡信息。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡信息。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '弹性网卡所属的虚拟交换机ID。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。 '."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数。此时该参数的作用等同于`VSwitchId`,但需要注意不能同时设置`VSwitchId`参数。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的虚拟交换机。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp67acfmxazb4p****', + ], + 'NetworkInterfaceName' => [ + 'description' => '弹性网卡名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Network_Name', + ], + 'Description' => [ + 'description' => '弹性网卡的描述。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + .'- 长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。'."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Network_Description', + ], + 'SecurityGroupId' => [ + 'description' => '弹性网卡所属的安全组ID。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数。此时该参数的作用等同于`SecurityGroupId`,但需要注意不能再设置`SecurityGroupId`、`SecurityGroupIds.N`或`NetworkInterface.N.SecurityGroupIds.N`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的安全组。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'PrimaryIpAddress' => [ + 'description' => '添加一张弹性网卡并设置主IP地址。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + .' - 设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡。如果`Amount`参数取值大于1,且设置了主网卡并设置了该参数,则表示在批量创建ECS实例时,以指定的主IP地址为起始地址,依次为多台ECS实例分配连续的主IP地址,但需要注意,此时不支持再为实例绑定辅助网卡。'."\n" + .' - 需要注意,如果`Amount`参数取值大于1且已为主网卡设置了该参数,则不支持再设置辅助网卡(即不支持再设置`NetworkInterface.2.InstanceType=Secondary`)。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则该参数的作用等同于`PrivateIpAddress`,但需要注意不能同时设置`PrivateIpAddress`参数。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,表示为辅助网卡设置主IP地址。默认从网卡所属的交换机网段中随机选择一个IP地址。'."\n" + ."\n" + .'>- 每个交换机的第1个和最后3个IP地址为系统保留地址,不支持指定。'."\n" + .'例如,交换机的网段为192.168.1.0/24,则192.168.1.0、192.168.1.253、192.168.1.254和192.168.1.255这4个地址是系统保留地址。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.**.**', + ], + 'QueueNumber' => [ + 'description' => '弹性网卡队列数。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + ."\n" + .'- 不能超过实例规格允许的单块网卡最大队列数。'."\n" + ."\n" + .'- 实例的所有网卡累加队列数不能超过实例规格允许的队列数总配额。实例规格的单块网卡最大队列数和总配额可以通过[DescribeInstanceTypes](~~25620~~)接口查询`MaximumQueueNumberPerEni`、`TotalEniQueueQuantity`字段。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,且设置了该参数取值,则不能再设置`NetworkInterfaceQueueNumber`参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + 'SecurityGroupIds' => [ + 'description' => '弹性网卡所属的一个或多个安全组ID。'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + .'- 第二个N表示可以指定一个或多个安全组ID。N的取值范围与实例能够加入安全组配额有关。更多信息,请参见[安全组限制](~~25412#SecurityGroupQuota1~~)。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数或`NetworkInterface.N.SecurityGroupId`。此时该参数的作用等同于`SecurityGroupIds.N`,但需要注意不能再设置`SecurityGroupId`、`SecurityGroupIds.N`或`NetworkInterface.N.SecurityGroupId`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的安全组。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡所属的一个或多个安全组ID。'."\n" + ."\n" + .'- N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + .'- 第二个N表示可以指定一个或多个安全组ID。N的取值范围与实例能够加入安全组配额有关。更多信息,请参见[安全组限制](~~25412#SecurityGroupQuota1~~)。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数或`NetworkInterface.N.SecurityGroupId`。此时该参数的作用等同于`SecurityGroupIds.N`,但需要注意不能再设置`SecurityGroupId`、`SecurityGroupIds.N`或`NetworkInterface.N.SecurityGroupId`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的安全组。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + ], + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + 'maxItems' => 51, + ], + 'NetworkInterfaceTrafficMode' => [ + 'description' => '网卡的通讯模式。参数取值范围:'."\n" + ."\n" + .'- Standard:使用TCP通讯模式。'."\n" + .'- HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。'."\n" + ."\n" + .'默认值:Standard。'."\n" + ."\n" + .'>RDMA模式的弹性网卡数量不能超过该实例规格族的限制。更多信息,请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + 'QueuePairNumber' => [ + 'description' => 'RDMA网卡队列数。'."\n" + ."\n" + .'如果要为创建的实例附加多张RDMA网卡,建议根据实例规格支持的RDMA网卡的`QueuePairNumber`上限值和规划要使用的网卡数量,手动为每张网卡指定QueuePairNumber,并确保所有网卡的QueuePairNumber总数不超过该实例规格允许的最大值。调用[DescribeInstanceTypes](~~2679699~~)查看实例规格的上限。'."\n" + ."\n" + .'>如果RDMA网卡未指定QueuePairNumber,则默认使用该实例规格支持的所有RDMA网卡的QueuePairNumber上限值。因此,一旦附加了一张未设置QueuePairNumber的RDMA网卡,就不能再添加更多RDMA网卡了(普通网卡不受此限制)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + 'InstanceType' => [ + 'description' => '弹性网卡类型。N的取值范围不超过实例规格支持网卡数。请参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~2679699~~) 查看目标实例规格支持的网卡数。'."\n" + ."\n" + .'参数取值范围:'."\n" + ."\n" + .'- Primary:主网卡。'."\n" + .'- Secondary:辅助网卡。'."\n" + ."\n" + .'默认值:Secondary。', + 'type' => 'string', + 'required' => false, + 'example' => 'Secondary', + ], + 'Ipv6AddressCount' => [ + 'description' => '为主网卡指定随机生成的IPv6地址数量。取值范围:1~10'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- `NetworkInterface.N.InstanceType`取值为`Primary`时,设置该参数才会生效。如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则不能设置该参数。'."\n" + ."\n" + .'- 设置该参数后,您不能再设置`Ipv6AddressCount`、`Ipv6Address.N`或`NetworkInterface.N.Ipv6Address.N`。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'Ipv6Address' => [ + 'description' => '为主网卡指定一个或多个IPv6地址。支持设置最多10个IPv6地址,即第二个N的取值范围:1~10。'."\n" + ."\n" + .'取值示例:`Ipv6Address.1=2001:db8:1234:1a00::***`'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- `NetworkInterface.N.InstanceType`取值为`Primary`时,设置该参数才会生效。如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则不能设置该参数。'."\n" + ."\n" + .'- 设置该参数后,`Amount`取值只能为1,且不能再设置`Ipv6AddressCount`、`Ipv6Address.N`或`NetworkInterface.N.Ipv6AddressCount`。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + 'required' => false, + 'maxItems' => 10, + ], + 'NetworkCardIndex' => [ + 'description' => '网卡指定的物理网卡索引。'."\n" + ."\n" + .'您需要注意:'."\n" + .'- 只有特定实例规格支持指定物理网卡索引。'."\n" + .'- NetworkInterface.N.InstanceType取值为Primary时,对于支持物理网卡的实例规格,如果设置此参数,只能设置为0。'."\n" + .'- NetworkInterface.N.InstanceType取值为Secondary或者空值,对于支持物理网卡的实例规格,此参数可以依据实例规格设置。更多信息,请参见[实例规格族](~~25378~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + 'DeleteOnRelease' => [ + 'description' => '释放实例时是否保留网卡。取值范围:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n" + .'>该参数只对辅助网卡生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'NetworkInterfaceId' => [ + 'description' => '随实例附加的弹性网卡ID。'."\n" + ."\n" + .'设置该参数后,`Amount`取值只能为 1。'."\n" + ."\n" + .'>该参数只对辅助弹性网卡生效。指定一个现有辅助弹性网卡后,您将无法配置其它网卡创建参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp1gn106np8jhxhj****', + ], + 'RxQueueSize' => [ + 'description' => '弹性网卡入方向队列深度。'."\n" + ."\n\n" + .''."\n" + ."\n" + .'>该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)联系加白。'."\n" + ."\n" + .''."\n" + ."\n\n" + ."\n\n" + .''."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://smartservice.console.aliyun.com/service/create-ticket-intl)联系加白。'."\n" + ."\n" + .''."\n" + ."\n" + .'使用该参数时,您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + ."\n" + .'- 目前仅适用于Linux镜像。'."\n" + ."\n" + .'- 较大的入方向队列深度可以提升入方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + 'TxQueueSize' => [ + 'description' => '弹性网卡出方向队列深度。'."\n" + ."\n\n" + .''."\n" + ."\n" + .'>该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)联系加白。'."\n" + ."\n" + .''."\n" + ."\n\n" + ."\n\n" + .''."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://smartservice.console.aliyun.com/service/create-ticket-intl)联系加白。'."\n" + ."\n" + .''."\n" + ."\n" + .'使用该参数时,您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + ."\n" + .'- 目前仅适用于Linux镜像。'."\n" + ."\n" + .'- 较大的出方向队列深度可以提升出方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + 'SourceDestCheck' => [ + 'description' => '是否开启源/目的检查功能。建议您打开该功能,以提高网络安全。可能值:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 仅部分地域支持该功能。使用前,请认真阅读[源/目的检查](~~2863210~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'SecondaryPrivateIpAddressCount' => [ + 'description' => '为网卡指定辅助私网IPv4地址数量。取值范围:1~49。'."\n" + ."\n" + .'- 取值不能超过该实例规格对于ip数量的限制。更多信息,请参见[实例规格族](~~~25378~~)。'."\n" + .'- `NetworkInterface.N.SecondaryPrivateIpAddressCount`用于为网卡分配辅助私网 IPv4 地址数量(不包含该网卡的主私网 IP),系统将从该网卡所在虚拟交换机(`NetworkInterface.N.VSwitchId`)的可用网段中随机分配。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例、云盘和主网卡的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '实例、云盘和主网卡的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例、云盘和主网卡的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或 https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '实例、云盘和主网卡的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 71, + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为主网卡指定一个或多个IPv6地址。支持设置最多10个IPv6地址,即N的取值范围:1~10。'."\n" + ."\n" + .'取值示例:`Ipv6Address.1=2001:db8:1234:1a00::***`。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 设置了`Ipv6Address.N`时,`Amount`参数取值只能为1,且不能同时设置`Ipv6AddressCount`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`Ipv6Addresses.N`或`Ipv6AddressCount`,而是需要设置`NetworkInterface.N.Ipv6Addresses.N`或`NetworkInterface.N.Ipv6AddressCount`。', + 'type' => 'array', + 'items' => [ + 'description' => '为主网卡指定一个或多个IPv6地址。支持设置最多10个IPv6地址,即N的取值范围:1~10。'."\n" + ."\n" + .'取值示例:`Ipv6Address.1=2001:db8:1234:1a00::***`。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 设置了`Ipv6Address.N`时,`Amount`参数取值只能为1,且不能同时设置`Ipv6AddressCount`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则不能设置`Ipv6Addresses.N`或`Ipv6AddressCount`,而是需要设置`NetworkInterface.N.Ipv6Addresses.N`或`NetworkInterface.N.Ipv6AddressCount`。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + 'required' => false, + 'example' => 'Ipv6Address.1=2001:db8:1234:1a00::***', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'SystemDisk', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '系统盘相关参数,目前专属块存储集群ID(`StorageClusterId`)需要通过该参数设置参数值。', + 'type' => 'object', + 'properties' => [ + 'StorageClusterId' => [ + 'description' => '专属块存储集群ID。如果您在创建ECS实例时,需要使用专属块存储集群中的云盘资源作为系统盘,请设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'dbsc-j5e1sf2vaf5he8m2****', + ], + 'ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置的读写IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}。'."\n" + ."\n" + .'>当`SystemDisk.Category`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'minimum' => '0', + 'example' => '40000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'>当`SystemDisk.Category`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Encrypted' => [ + 'description' => '系统盘是否加密。取值范围:'."\n" + ."\n" + .'- true:加密。'."\n" + ."\n" + .'- false:不加密。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>中国(香港)D可用区、新加坡A可用区暂不支持在创建实例时加密系统盘。'."\n" + ."\n" + .'>当使用共享加密镜像,创建基于加密快照的云盘时,必须指定该云盘的请求参数Encrypted=true,以确保创建出的云盘使用的是被共享方自己的密钥。>', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + 'KMSKeyId' => [ + 'description' => '系统盘对应的KMS密钥ID。'."\n" + ."\n" + .'> 若Encrypted设置为true,不指定KMSKeyId,则使用默认的密钥进行加密,并在创建实例成功后返回KMSKeyId值。'."\n" + .'> - - 云盘通过非共享而来的加密快照创建:默认使用该快照所使用的加密密钥进行加密。'."\n" + .'> - - 云盘通过共享而来的加密快照创建:默认使用服务密钥进行加密。'."\n" + .'> - - 在已开启块存储账号级默认加密的地域创建:默认使用指定的账号级密钥进行加密。'."\n" + .'> - - 其他情况:默认使用服务密钥进行加密。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + 'maxLength' => 64, + ], + 'EncryptAlgorithm' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ImageOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '镜像相关属性信息。', + 'type' => 'object', + 'properties' => [ + 'LoginAsNonRoot' => [ + 'description' => '使用该镜像的实例是否支持使用ecs-user用户登录。可能值:'."\n" + ."\n" + .'- true:是'."\n" + ."\n" + .'- false:否', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'NetworkOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '网络相关属性参数。', + 'type' => 'object', + 'properties' => [ + 'EnableJumboFrame' => [ + 'description' => '实例是否开启Jumbo frame特性。参数取值范围:'."\n" + ."\n" + .'- false:不开启Jumbo frame, 该实例下的所有网卡(包括主网卡及辅助网卡)MTU取值为1500。'."\n" + ."\n" + .'- true:开启Jumbo frame, 该实例下的所有网卡(包括主网卡及辅助网卡)的MTU取值为8500。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n" + .'>只有八代以上部分实例规格支持开启Jumbo frame特性。更多信息请参见[ECS实例MTU](~~200512~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EnableNetworkEncryption' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + ], + 'BandwidthWeighting' => [ + 'description' => '实例的带宽权重值。不同实例规格支持的取值范围不一致。具体实例规格支持的取值可以根据实例规格查询DescribeInstanceTypes,接口返回的BandwidthWeighting即为该规格支持的带宽权重档位。字典值可以取返回值中的name字段,如Vpc-L1,Ebs-L1等。', + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '创建实例时,是否自动支付。取值范围:'."\n" + ."\n" + .'- true:自动支付。'."\n" + ."\n" + .' > 自动支付时,请确保支付方式余额充足,否则会生成异常订单,只能作废订单。如果您的支付方式余额不足,可以将参数`AutoPay`置为`false`,此时会生成未支付订单,您可以登录ECS管理控制台自行支付。'."\n" + ."\n" + .'- false:只生成订单不扣费。'."\n" + ."\n" + .' > 当`InstanceChargeType` 取值为`PostPaid`时,`AutoPay`不能设置为`false`。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'PrivateDnsNameOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '实例的私网域名配置信息集合。'."\n" + ."\n\n" + .'关于私网域名解析,请参见[ECS私网域名解析'."\n" + .'](~~2844797~~)。', + 'type' => 'object', + 'properties' => [ + 'EnableInstanceIdDnsARecord' => [ + 'description' => '开启/关闭实例ID类型的域名到 IPv4的解析。取值范围:'."\n" + ."\n" + .'- true:开启。'."\n" + ."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EnableInstanceIdDnsAAAARecord' => [ + 'description' => '开启/关闭实例 ID 类型的域名到 IPv6 的解析。取值范围:'."\n" + ."\n" + .'- true:开启。'."\n" + ."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableIpDnsARecord' => [ + 'description' => '开启/关闭IP类型的域名到IPv4 的解析。取值范围:'."\n" + ."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableIpDnsPtrRecord' => [ + 'description' => '开启/关闭IPv4到IP类型的域名解析。取值范围:'."\n" + ."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'HostnameType' => [ + 'description' => '主机名类型,取值范围:'."\n" + ."\n" + .'- Custom:自定义。'."\n" + .'- IpBased:基于IP格式的主机。'."\n" + .'- InstanceIdBased:基于实例ID格式的主机名。'."\n" + ."\n" + .'默认值:Custom。', + 'type' => 'string', + 'required' => false, + 'example' => 'Custom', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ClockOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '实例时钟相关属性参数。', + 'type' => 'object', + 'properties' => [ + 'PtpStatus' => [ + 'description' => 'PTP 状态值。取值范围:'."\n" + ."\n" + .'- enabled:打开 PTP。'."\n" + ."\n" + .'- disabled:关闭 PTP。'."\n" + ."\n" + .'默认值:disabled。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'disabled' => '关闭 PTP', + 'enabled' => '开启 PTP', + ], + 'example' => 'enabled', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '创建实例返回信息集合。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'OrderId' => [ + 'description' => '订单ID。该参数只有创建包年包月ECS实例(请求参数`InstanceChargeType=PrePaid`)时有返回值。', + 'type' => 'string', + 'example' => '123456****', + ], + 'TradePrice' => [ + 'description' => '订单成交价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.165', + ], + 'InstanceIdSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceIdSet' => [ + 'description' => '实例ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'LoginAsNonRoot.ImageNotSupport', + 'errorMessage' => 'The specified image does not support login as non-root.', + ], + [ + 'errorCode' => 'InvalidParam.NotSupportJumboFrame', + 'errorMessage' => 'Not support jumbo frame.', + ], + [ + 'errorCode' => 'InsufficientBalance.AgentCredit', + 'errorMessage' => 'Insufficient agent credit. Please contact your agent.', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can not exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'InvalidParam.SecondaryNetworkInterface', + 'errorMessage' => 'When min amount greater than 1 and the PrivateIpAddress or Primary NetworkInterface is specified,the Secondary NetworkInterface IP parameter cannot be specified.', + ], + [ + 'errorCode' => 'InvalidPrimaryIpAddress.SizeInvalid', + 'errorMessage' => 'The NetworkInterface PrimaryIpAddress is used to create only one instance.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.CapacityNotEnough', + 'errorMessage' => 'The remaining capacity of the current dedicated storage cluster is less than the size of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.StatusNotSupport', + 'errorMessage' => 'The current status of the dedicated storage cluster cannot create a cloud disk yet.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.ZoneIdEmpty', + 'errorMessage' => 'The specified param ZoneId cannot be empty when StorageClusterId given.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.PerformanceLevelNotMatch', + 'errorMessage' => 'The current dedicated storage cluster cannot create this performance level of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.CategoryNotMatch', + 'errorMessage' => 'The current dedicated storage cluster cannot create this category of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.DiskSizeEmpty', + 'errorMessage' => 'The specified param DiskSize cannot be empty when StorageClusterId given.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => 'The specified InternetChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter "InternetMaxBandwidthOut" is not valid.', + ], + [ + 'errorCode' => 'InvalidHostName.Malformed', + 'errorMessage' => 'The specified parameter "HostName" is not valid.', + ], + [ + 'errorCode' => 'InvalidPassword.Malformed', + 'errorMessage' => 'The specified parameter "Password" is not valid.', + ], + [ + 'errorCode' => 'InvalidPasswordParam.Mismatch', + 'errorMessage' => 'The input password should be null when passwdInherit is true.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "SystemDisk.Category" is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskName.Malformed', + 'errorMessage' => 'The specified parameter "SyatemDisk.DiskName or DataDisk.n.DiskName" is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskDescription.Malformed', + 'errorMessage' => 'The specified parameter "SyatemDisk.DiskDescription" or "DataDisk.n.Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DataDisk.n.Category" is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDevice.Malformed', + 'errorMessage' => 'The specified parameter "DataDisk.n.Device" is not valid.', + ], + [ + 'errorCode' => 'InvalidNodeControllerId.Malformed', + 'errorMessage' => 'The specified parameter "NodeControllerId" is not valid.', + ], + [ + 'errorCode' => 'InvalidInnerIpAddress.Malformed', + 'errorMessage' => 'The specified parameter "InnerIpAddress" is not valid.', + ], + [ + 'errorCode' => 'InvalidInnerIpAddress.Unusable', + 'errorMessage' => 'The specified InnerIpAddress is already used or not found in usable ip range.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified image does not support the specified instance type.', + ], + [ + 'errorCode' => 'ImageNotSupportCloudInit', + 'errorMessage' => 'The specified image does not support cloud-init.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.BasedSnapshotTooOld', + 'errorMessage' => 'The specified snapshot is created before 2013-07-15.', + ], + [ + 'errorCode' => 'QuotaExceed.AfterpayInstance', + 'errorMessage' => 'Living afterpay instances quota exceeded.', + ], + [ + 'errorCode' => 'InvalidInstanceName.Malformed', + 'errorMessage' => 'The specified parameter "InstanceName" is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceName.CustomMalformed', + 'errorMessage' => 'Customized section of instance or host name is invalid, please use valid format: [], [,], [m,], [,n], [m,n].', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'Specified security group and virtual switch are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidNetworkType.Mismatch', + 'errorMessage' => 'Specified parameter "InternetMaxBandwidthIn" or "InternetMaxBandwidthOut" conflict with instance network type.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress', + 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Malformed', + 'errorMessage' => 'Specified private IP address is malformed.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrivateIpAddress', + 'errorMessage' => 'Don\'t have enough private IPs in this switch.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Living instances quota exceeded in this VPC.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current status of virtual switch does not support this operation.', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "VSwitchId" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Mismatch', + 'errorMessage' => 'The specified disk categories\' combination is not supported.', + ], + [ + 'errorCode' => 'MissingParamter', + 'errorMessage' => 'The specified parameter "Period" is not null.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid.', + ], + [ + 'errorCode' => 'InstanceDiskCategoryLimitExceed', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'InvalidIoOptimize.ValueNotSupported', + 'errorMessage' => 'The specified IoOptimize is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The SecurityGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthOut.Malformed', + 'errorMessage' => 'The specified parameter internetMaxBandwidthOut is not valid.', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthIn.Malformed', + 'errorMessage' => 'The specified parameter internetMaxBandwidthIn is not valid.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified parameter SnapshotId is not exist.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidMinAmount.Malformed', + 'errorMessage' => 'The specified parameter MinAmount is not valid.', + ], + [ + 'errorCode' => 'InvalidMaxAmount.Malformed', + 'errorMessage' => 'The specified parameter MaxAmount is not valid.', + ], + [ + 'errorCode' => 'InvalidAutoReleaseTime.Malformed', + 'errorMessage' => 'The specified parameter AutoReleaseTime is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.NoVlan', + 'errorMessage' => 'The specified parameter "VlanId" is not valid or vlan has not enough IP address.', + ], + [ + 'errorCode' => 'OperationDenied.QuotaExceed', + 'errorMessage' => 'The quota of tags on resource is beyond permitted range.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + [ + 'errorCode' => 'InvalidUserData.SizeExceeded', + 'errorMessage' => 'The specified parameter "UserData" exceeds the size.', + ], + [ + 'errorCode' => 'InvalidUserData.NotSupported', + 'errorMessage' => 'TThe specified parameter "UserData" only support the vpc and IoOptimized Instance.', + ], + [ + 'errorCode' => 'InvalidUserData.Base64FormatInvalid', + 'errorMessage' => 'The specified UserData is not valid.', + ], + [ + 'errorCode' => 'InstanceDiskNumber.LimitExceed', + 'errorMessage' => 'The total number of specified disk in an instance exceeds.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskCategory" is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotStrategy', + 'errorMessage' => 'The specified SpotStrategy is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotParam.EmptyZoneID', + 'errorMessage' => 'The specified zoneid is empty when SpotStrategy is set.', + ], + [ + 'errorCode' => 'InvalidSpotPriceLimit', + 'errorMessage' => 'The specified SpotPriceLimitis not valid.', + ], + [ + 'errorCode' => 'InvalidSpotDuration', + 'errorMessage' => 'The specified SpotDuration is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotAuthorized', + 'errorMessage' => 'The specified Spot param is unauthorized.', + ], + [ + 'errorCode' => 'InvalidSpotPrepaid', + 'errorMessage' => 'The specified Spot type is not support PrePay Instance.', + ], + [ + 'errorCode' => 'InvalidSpotAliUid', + 'errorMessage' => 'The specified UID is not authorized to use SPOT instance.', + ], + [ + 'errorCode' => 'InvalidParameter.Bandwidth', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceType.ElasticNetworkInterfaceNotSupported', + 'errorMessage' => 'The specified instance type does not support Elastic Network Interface, you can not attach Elastic Network Interface to generation I instances.', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedIllegal', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSpotPriceLimit.LowerThanPublicPrice', + 'errorMessage' => 'The specified parameter "spotPriceLimit" can\'t be lower than current public price.', + ], + [ + 'errorCode' => 'InvalidRelationResource.NotFound', + 'errorMessage' => 'The relation resource has been deleted.', + ], + [ + 'errorCode' => 'IncorrectRecycleBinStatus', + 'errorMessage' => 'The operation is not permitted due to resource status.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.Unnecessary', + 'errorMessage' => 'The specified HpcClusterId is unnecessary.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.Necessary', + 'errorMessage' => 'The VSwitchId is necessary.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.Necessary', + 'errorMessage' => 'The HpcClusterId is necessary.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.NotFound', + 'errorMessage' => 'The specified HpcClusterId is not found.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.Creating', + 'errorMessage' => 'The specified HpcClusterId is creating.', + ], + [ + 'errorCode' => 'InvalidParameter.VSwitchId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.NotInDefaultVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'VpcNotFound', + 'errorMessage' => 'Vpc is not found according to the specified VSwitch or the vpc does not belong to you.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ImageNotSupportResize', + 'errorMessage' => 'The specified image does not support resize.', + ], + [ + 'errorCode' => 'InvalidSpotInterruptionBehavior', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidDeploymentOnHost', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotSupport', + 'errorMessage' => 'The Dedicated host not support the specified Instance charge type.', + ], + [ + 'errorCode' => 'InvalidNetworkType.NotSupported', + 'errorMessage' => 'The classic networkType not support create ECS on dedicatedHost.', + ], + [ + 'errorCode' => 'NoAvaliableDedicatedHost', + 'errorMessage' => 'No available dedicated host or not enough resource on dedicated host.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostStatus.NotSupport', + 'errorMessage' => 'Operation denied due to dedicated host status.', + ], + [ + 'errorCode' => 'IncorrectDedicatedHostStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'ChargeTypeViolation.PostPaidDedicatedHost', + 'errorMessage' => 'Prepaid instance onto postpaid dedicated host is not allowed.', + ], + [ + 'errorCode' => 'DedicatedHostType.Unmatched', + 'errorMessage' => 'The specified DedicatedHostType doesn?t match the instance type.', + ], + [ + 'errorCode' => 'InvalidParam.NetworkInterface', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.CreateEniParams', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.CreditSpecification', + 'errorMessage' => 'The specified CreditSpecification is not supported in this region.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified instanceType is not supported by the deployment set.', + ], + [ + 'errorCode' => 'InvalidVpcZone.NotSupported', + 'errorMessage' => 'The specified operation is not allowed in the zone to which your VPC belongs, please try in other zones.', + ], + [ + 'errorCode' => 'IncorrectDefaultVpcStatus', + 'errorMessage' => 'The status of the default VPC is invalid.', + ], + [ + 'errorCode' => 'InvalidAutoRenewPeriod.ValueNotSupported', + 'errorMessage' => 'The specified autoRenewPeriod is invalid.', + ], + [ + 'errorCode' => 'InvalidMarketImageChargeType.NotSupport', + 'errorMessage' => 'The specified chargeType of marketImage is unsupported.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified instanceType or zone is not available or not authorized.', + ], + [ + 'errorCode' => 'InvalidPeriodType.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodType is invalid.', + ], + [ + 'errorCode' => 'IncorrectImageStatus', + 'errorMessage' => 'The specified image is an Alibaba Cloud Marketplace image. The sale of this image has ended. For more information, contact the image service provider.', + ], + [ + 'errorCode' => 'InvalidParam.Tenancy', + 'errorMessage' => 'The specified Tenancy is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Affinity', + 'errorMessage' => 'The specified Affinity is invalid.', + ], + [ + 'errorCode' => 'InvalidCustomInstanceType.NotSupported', + 'errorMessage' => 'The specified custom instance type is invalid.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified instance must be IoOptimized instance when kmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.Malformed', + 'errorMessage' => 'The specified SnapshotId is not valid.', + ], + [ + 'errorCode' => 'InvalidCapacityReservationId.NotFound', + 'errorMessage' => 'The specified CapacityReservationId does not exist.', + ], + [ + 'errorCode' => 'LackResource', + 'errorMessage' => 'There\'s no enough resource on the specified capacity reservation.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.NetworkType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupIdRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.SingleIdAndMultiIdConflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.MultiGroupIdNetworkTypeConflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'JoinedGroupLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAccountStatus.PayAmountLimitExceeded', + 'errorMessage' => 'Your account is being restricted, because you have no default payment method or you are not authorized.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter DataDisk.n.PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => 'The maximum number of eni in a enterprise security group is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrepayDataDiskCapacity', + 'errorMessage' => 'The quota of prepay data disk capacity exceeds.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ConflictSnapshotCategory', + 'errorMessage' => 'The specified disk category conflict with snapshot category.', + ], + [ + 'errorCode' => 'AccountForbidden.ProductCreationLimited', + 'errorMessage' => 'The commodity must be officially operated by Aliyun and in pay-as-you-go billing method.', + ], + [ + 'errorCode' => 'UnexpectedImageFamily.ImageIdSupplied', + 'errorMessage' => 'The input parameter ImageFamily must be null when image id is set.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchEncryptAlgorithm', + 'errorMessage' => 'The specified parameter Encrypted must be true when EncryptAlgorithm is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchKmsKeyId', + 'errorMessage' => 'The specified parameter Encrypted must be true when KmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is different from the encrypt algorithm of the snapshot.', + ], + [ + 'errorCode' => 'InvalidKmsKeyId.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter KmsKeyId is different from the KmsKeyId of the snapshot.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidHttpEndpoint.NotSupported', + 'errorMessage' => 'The specified HttpEndpoint not supported, you can use enabled(default) or disabled.', + ], + [ + 'errorCode' => 'InvalidHttpTokens.NotSupported', + 'errorMessage' => 'The specified HttpTokens not supported, you can use optional(default) or required.', + ], + [ + 'errorCode' => 'InvalidHttpPutResponseHopLimit.NotSupported', + 'errorMessage' => 'The specified HttpPutResponseHopLimit not supported, more than 1 and less than 64 is reasonable.', + ], + [ + 'errorCode' => 'InvalidOperation.VpcHasEnabledAdvancedNetworkFeature', + 'errorMessage' => 'The specified vpc has enabled advanced network feature.', + ], + [ + 'errorCode' => 'InvalidChargeType.CapacityReservationNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.ValueNotSupported', + 'errorMessage' => 'The current ZoneId or InstanceType does not support PL0 of cloud_essd.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotSymmetric', + 'errorMessage' => 'The specified parameter KmsKeyId must be symmetric.', + ], + [ + 'errorCode' => 'InvalidParameter.Arns', + 'errorMessage' => 'The specified Arns is not valid.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.NotFound', + 'errorMessage' => 'The specified DedicatedHostClusterId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.InValid', + 'errorMessage' => 'The specified Dedicated Host Cluster is invalid.', + ], + [ + 'errorCode' => 'InvalidDeploymentSetId.NotFound', + 'errorMessage' => 'The parameter DeploymentSetId is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.UserNotSupported', + 'errorMessage' => 'Reseller user do not support purchase at the moment.', + ], + [ + 'errorCode' => 'InvalidManagedPrivateSpaceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSchedulerOptions', + 'errorMessage' => 'The specified parameter SchedulerOptions is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id is invalid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.NoStock', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool is expired or inactive.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'InvalidBandwidthOut.LessThanZero', + 'errorMessage' => 'The bandwidth must be larger than 0 when specifying isp.', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceTypeNotSupport', + 'errorMessage' => 'The specified instance type is not support.', + ], + [ + 'errorCode' => 'HibernationConfigured.ImageNotEncrypted', + 'errorMessage' => 'The hibernation configured instance only support encrypted image.', + ], + [ + 'errorCode' => 'HibernationConfigured.MemorySizeTooBig', + 'errorMessage' => 'The hibernation configured instance memory size is too big.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanMemSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the memory size.', + ], + [ + 'errorCode' => 'InvalidCloudBoxZone.OperationNotSupported', + 'errorMessage' => 'The cloud box zone does not support creating prepaid or encrypted resources.', + ], + [ + 'errorCode' => 'ProvisionedIopsForDiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support provisioned iops.', + ], + [ + 'errorCode' => 'InvalidProvisionedIops.LimitExceed', + 'errorMessage' => 'The provisioned iops exceeds the limit.', + ], + [ + 'errorCode' => 'BurstingEnabledForDiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support bursting enabled.', + ], + [ + 'errorCode' => 'BurstingEnabledForMultiAttachDiskUnsupported', + 'errorMessage' => 'The multi attach disk does not support bursting enabled.', + ], + [ + 'errorCode' => 'ProvisionedIopsForDiskCategoryRequired', + 'errorMessage' => 'The provisioned iops is required for this disk category.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.InstanceType', + 'errorMessage' => 'The specified instance type does not support creating encrypted disks with native snapshot encrypt.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.RegionId', + 'errorMessage' => 'The specified region does not support creating encrypted disks with native snapshot encrypt.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.ZoneId', + 'errorMessage' => 'The specified zone does not support creating encrypted disks with native snapshot encrypt.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.ShareImage', + 'errorMessage' => 'Shared snapshot creating encrypted disks with native snapshot encrypt is not supported.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.ImageOwnerAlias', + 'errorMessage' => 'The specified image category does not support creating encrypted disks with native snapshot encrypt.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.DiskCategory', + 'errorMessage' => 'The specified disk category does not support creating encrypted disks with native snapshot encrypt.', + ], + [ + 'errorCode' => 'NotSupport.SnapshotEncryptedAlgorithmConflict', + 'errorMessage' => 'Changing encrypt algorithm with encrypted snapshot is not supported.', + ], + [ + 'errorCode' => 'NoPermission.SystemTag', + 'errorMessage' => 'The operator is not permission for the system tag.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter\'s number is exceed , Valid : 20.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotSupportShareEncryptedImage', + 'errorMessage' => 'Creating instances by shared encrypted images is not supported in this zone.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.CloudboxNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidZoneId.NotSupportCreateWithShareEncryptedImage', + 'errorMessage' => 'You cannot use shared encrypted images to create instances in this zone.', + ], + [ + 'errorCode' => 'InvalidParameter.NetworkCardIndexInvalid', + 'errorMessage' => 'Invalid network card index, please check your instance type.', + ], + [ + 'errorCode' => 'InvalidOperation.UserNotSupportNetworkCard', + 'errorMessage' => 'User not support network card.', + ], + [ + 'errorCode' => 'InvalidAccount.NotSupportSpot', + 'errorMessage' => 'According to business rules, this account cannot purchase ECS Spot instances.', + ], + [ + 'errorCode' => 'AccountForbidden.AssociatedWithResellerPartner', + 'errorMessage' => 'Your account is associated with your reseller partner. Your account or your reseller partner\'s account has been forbidden to create orders, please contact your reseller partner.', + ], + [ + 'errorCode' => 'InvalidDestinationZone.DeploymentSetMismatch', + 'errorMessage' => 'Error happened, %s.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'InvalidAutoPay.PostPaidUnsupported', + 'errorMessage' => 'The specified parameter AutoPay must be set as true for postpaid instance.', + ], + [ + 'errorCode' => 'InvalidParam.EncryptedMismatch', + 'errorMessage' => 'Creating encrypted disks with shared encrypted snapshots requires replacing encryption keys.', + ], + [ + 'errorCode' => 'InvalidParameter.DedicatedRegionNotSupported', + 'errorMessage' => 'The specified action is rejected because the specified ECS instance in the dedicated region does not support public IP.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsTopologyType', + 'errorMessage' => 'The specified parameter CpuOptions.TopologyType: %s is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportCpuOptionsTopologyType', + 'errorMessage' => 'The specified instance type does not support CpuOptions.TopologyType: %s.', + ], + [ + 'errorCode' => 'InvalidEniQueueSize.RegionOrUserNotSupported', + 'errorMessage' => 'The specified parameter RxQueueSize or TxQueueSize is not supported in this region, or this account is not in the whitelist of using eni QueueSize.', + ], + [ + 'errorCode' => 'InvalidParameter.EniQueueSize', + 'errorMessage' => 'The specified parameter TxQueueSize and RxQueueSize are not equal or exceed limit.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnable', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', + 'errorMessage' => 'The specified private IP address is already in use.', + ], + [ + 'errorCode' => 'InvalidAdditionalInfoPvdConfig.SizeExceeded', + 'errorMessage' => 'The specified parameter AdditionalInfo.PvdConfig exceeds the size.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted', + 'errorMessage' => 'Creating non-encrypted disks with encrypted snapshots is not supported.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportHighDensityMode', + 'errorMessage' => 'The specified instance type does not support the use of the high density mode.', + ], + [ + 'errorCode' => 'QuotaExceeded.InternetBandwidth', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsAccelerators', + 'errorMessage' => 'The specified parameter CpuOptionsAccelerators is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportCpuOptionsAccelerators', + 'errorMessage' => 'The specified instance type does not support attach accelerator.', + ], + [ + 'errorCode' => 'OperationDenied.TestAccountRetricted', + 'errorMessage' => 'Test-account for testing has been prohibited from creating instance in this region. Please contact 400181.', + ], + [ + 'errorCode' => 'InvalidBurstingEnabled.DiskSizeTooSmall', + 'errorMessage' => 'The disk size must be greater than 3 GiB to enable burst.', + ], + [ + 'errorCode' => 'InvalidImage.WindowsUnsupported', + 'errorMessage' => 'The specified InstanceType does not support the specified Windows image.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsTurboMode', + 'errorMessage' => 'The specified parameter TurboMode is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.EnableNVSUnsupported', + 'errorMessage' => 'The specified instance type does not support EnableNVS.', + ], + [ + 'errorCode' => 'InvalidInstanceType.EnableVISSTUnsupported', + 'errorMessage' => 'The specified instance type does not support EnableVISST.', + ], + [ + 'errorCode' => 'InvalidInstanceType.EnableVRDTUnsupported', + 'errorMessage' => 'The specified instance type does not support EnableVRDT.', + ], + [ + 'errorCode' => 'InvalidInstanceType.SingleCoreMaxModeUnsupported', + 'errorMessage' => 'The specified instance type does not support TurboMode: "SINGLE CORE MAX".', + ], + [ + 'errorCode' => 'InvalidParameter.PtpStatus', + 'errorMessage' => 'The specified parameter PtpStatus: %s is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportEnablePtp', + 'errorMessage' => 'The specified instance type does not support enable PTP.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NetworkOptionsBandwidthWeightingUnsupported', + 'errorMessage' => 'The current instance type does not support setting or modifying the BandwidthWeighting parameter.', + ], + [ + 'errorCode' => 'InvalidParameter.NetworkOptionsBandwidthWeighting', + 'errorMessage' => 'The specified parameter BandwidthWeighting is not valid.The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidMarketImage.NotAuthorized', + 'errorMessage' => 'The specified marketplace image is not authorized for your channel, please use other image.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRamRole.NotEcsRole', + 'errorMessage' => 'The specified ram role is not authorized for ecs, please check your role policy.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied.CashCouponsInsufficientOrExpired', + 'errorMessage' => 'Cash coupon balance is insufficient or has expired, please retry.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpAddressRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceEniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniNumExceededWithLaunchEcs', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportHighPerformanceTrafficMode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.QueuePairNumberMustEmpty', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniTrafficMode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidQueuePairNumber', + 'errorMessage' => 'The parameter of QueuePairNumber is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.IpCount', + 'errorMessage' => 'The parameter of ip count is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.EniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceTrafficModeIsNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.NetworkInterface', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.Combination', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidHostname.SingleAndMultiConflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidHostname.SizeInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.InstanceNameExceed', + 'errorMessage' => 'The uniqueSuffix takes three naming places, please shorten your InstanceName.', + ], + [ + 'errorCode' => 'InvalidParams.HostnameExceed', + 'errorMessage' => 'The uniqueSuffix takes three naming places, please shorten your Hostname.', + ], + [ + 'errorCode' => 'ImageNotSubscribed', + 'errorMessage' => 'The specified image has not be subscribed.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueUnauthorized', + 'errorMessage' => 'The disk category is not authorized.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'InstanceDiskCategoryLimitExceed', + 'errorMessage' => 'The total size of specified disk category in an instance exceeds.', + ], + [ + 'errorCode' => 'InvalidDevice.InUse', + 'errorMessage' => 'The specified device has been occupied.', + ], + [ + 'errorCode' => 'ImageRemovedInMarket', + 'errorMessage' => 'The specified market image is not available, Or the specified user defined image includes product code because it is based on an image subscribed from marketplace, and that image in marketplace includeing exact the same product code has been removed.', + ], + [ + 'errorCode' => 'CategoryNotSupported', + 'errorMessage' => 'The specified zone does not offer the specified disk category.', + ], + [ + 'errorCode' => 'QuotaExceed.PortableCloudDisk', + 'errorMessage' => 'The quota of portable cloud disk exceeds.', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => 'Exceeding the allowed amount of instances of a security group.', + ], + [ + 'errorCode' => 'NodeControllerUnavailable', + 'errorMessage' => 'The Node Controller is temporarily unavailable.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'There is no authority to create instance in the specified region.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotDataDiskSnapshot', + 'errorMessage' => 'The specified snapshot is system disk snapshot.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'DeleteWithInstance.Conflict', + 'errorMessage' => 'The specified disk is not a portable disk and cannot be set to DeleteWithInstance attribute.', + ], + [ + 'errorCode' => 'InstanceDiskNumLimitExceed', + 'errorMessage' => 'The number of specified disk in an instance exceeds.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified image is not support IoOptimized Instance.', + ], + [ + 'errorCode' => 'InvalidDiskSize.TooSmall', + 'errorMessage' => 'Specified disk size is less than the size of snapshot.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Mismatch', + 'errorMessage' => 'The specified disk categories combination is not supported.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not support the specified instance type.', + ], + [ + 'errorCode' => 'QuotaExceed.BuyImage', + 'errorMessage' => 'The specified image is from the image market?You have not bought it or your quota has been exceeded.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotSupported', + 'errorMessage' => 'The specified ResourceId does not support tagging.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified RegionId does not support the creation of the network type ECS instance.', + ], + [ + 'errorCode' => 'OperationDenied.ImageNotValid', + 'errorMessage' => 'The specified Image is disabled or is deleted.', + ], + [ + 'errorCode' => 'OperationDenied.SnapshotNotValid', + 'errorMessage' => 'The specified snapshot is not allowed to create disk.', + ], + [ + 'errorCode' => 'OperationDenied.SnapshotNotAllowed', + 'errorMessage' => 'The specified snapshot is not allowed to create disk.', + ], + [ + 'errorCode' => 'OperationDenied.ZoneNotAllowed', + 'errorMessage' => 'The creation of Instance to the specified Zone is not allowed.', + ], + [ + 'errorCode' => 'OperationDenied.ZoneSystemCategoryNotMatch', + 'errorMessage' => 'The specified Zone or cluster does not offer the specified disk category or the speicified zone and cluster do not match.', + ], + [ + 'errorCode' => 'OperationDenied.ResourceControl', + 'errorMessage' => 'The specified region is in resource control, please try later.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The resource is out of usage.', + ], + [ + 'errorCode' => 'OperationDenied.SnapshotParamsNotValid', + 'errorMessage' => 'The capacity of snapshot exceeds the size limit of the specified disk category or the specified category is not authorizied.', + ], + [ + 'errorCode' => 'OperationDenied.DiskTypeNotSupport', + 'errorMessage' => 'The type of the disk does not support the operation.', + ], + [ + 'errorCode' => 'InvalidUserData.Forbidden', + 'errorMessage' => 'User not authorized to input the parameter "UserData", please apply for permission "UserData".', + ], + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The resource in the specified zone is no longer available for sale. Please try other regions and zones.', + ], + [ + 'errorCode' => 'InvalidClusterId.NotFound', + 'errorMessage' => 'The specified clusterId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ZoneNotSupported', + 'errorMessage' => 'The specified zone does not support this instancetype.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'DependencyViolation.WindowsInstance', + 'errorMessage' => 'The instance creating is window, cannot use ssh key pair to login.', + ], + [ + 'errorCode' => 'InvalidNetworkType.MismatchRamRole', + 'errorMessage' => 'A RAM role can?t be used for classic instance.', + ], + [ + 'errorCode' => 'InvalidUser.PassRoleForbidden', + 'errorMessage' => 'The RAM user does not have the privilege to pass a RAM role.', + ], + [ + 'errorCode' => 'InvalidParam.TrustedSystemMode', + 'errorMessage' => 'The specified TrustedSystemMode is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.ConfidentialComputingMode', + 'errorMessage' => 'The specified ConfidentialComputingMode is invalid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified instance type does not support trusted system.', + ], + [ + 'errorCode' => 'InvalidSecurityOptions.NotSupported', + 'errorMessage' => 'SecurityOptions for vTPM and Enclave can not both be set.', + ], + [ + 'errorCode' => 'InvalidImage.NotSupported', + 'errorMessage' => 'The specified vTPM instance need UEFI image.', + ], + [ + 'errorCode' => 'Forbidden.RiskControl', + 'errorMessage' => 'This operation is forbidden by Aliyun RiskControl system.', + ], + [ + 'errorCode' => 'InvalidInstance.UnPaidOrder', + 'errorMessage' => 'The specified Instance has unpaid order.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + [ + 'errorCode' => 'RealNameAuthenticationError', + 'errorMessage' => 'Your account has not passed the real-name authentication yet.', + ], + [ + 'errorCode' => 'InvalidPayMethod', + 'errorMessage' => 'The specified pay method is not valid.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified image does not support the specified InstanceType.', + ], + [ + 'errorCode' => 'DryRun.InvalidAmount', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.InvalidNetworkType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSpotInterruptionBehavior.ClassicNetworkNotSupport', + 'errorMessage' => 'The specified SpotInterruptionBehavior does not support Classic network Instance.', + ], + [ + 'errorCode' => 'InvalidSpotInterruptionBehavior.LocalDiskNotSupport', + 'errorMessage' => 'The specified SpotInterruptionBehavior does not support local disk instance.', + ], + [ + 'errorCode' => 'QuotaExceed.PostPaidDisk', + 'errorMessage' => 'Living postPaid disks quota exceeded.', + ], + [ + 'errorCode' => 'InvalidParameter.NotMatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitch.DefaultVSwitchNotSupport', + 'errorMessage' => 'The specified zone in vpc can\'t support create default vSwitch.', + ], + [ + 'errorCode' => 'OperationDenied.LocalDiskUnsupported', + 'errorMessage' => 'The configuration change is not allowed when the specified instance has local disks mounted.', + ], + [ + 'errorCode' => 'OperationDenied.InconsistentNetwork', + 'errorMessage' => 'The specified security group and vswitch are not in the same vpc.', + ], + [ + 'errorCode' => 'DefaultVswitch.Existed', + 'errorMessage' => 'The default vswitch for VPC already exists.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'CategoryViolation', + 'errorMessage' => 'The specified instance does not support this operation because of its disk category.', + ], + [ + 'errorCode' => 'ResourcesNotInSameZone', + 'errorMessage' => 'The specified instance and dedicated host are not in the same zone.', + ], + [ + 'errorCode' => 'InvalidDisk.SystemDiskSize', + 'errorMessage' => 'The specified SystemDiskSize beyond the permitted range.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidOperation.NetworkInterface', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniIpv6IpsCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpAssigned', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.Address', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.SecondaryIp', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitch.Ipv6NotTurnOn', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.IpAssign', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.Amount', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.CpuOptionsCore', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.CpuOptionsNuma', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.DeploymentSetInstanceQuotaFull', + 'errorMessage' => 'The instance quota in one deployment set exceeded.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'Deletion protection is only valid for postPaid instance, not for prePaid or spot instance.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support byok.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in byok white list.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'SecurityRisk.3DVerification', + 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', + ], + [ + 'errorCode' => 'Mayi.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'InvalidNetworkType', + 'errorMessage' => 'The network type is not support in this region.', + ], + [ + 'errorCode' => 'InvalidAccountStatus', + 'errorMessage' => 'Your account status is invalid, please contact customer service.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrivateIpAddress', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.PerformanceLevelNotMatch', + 'errorMessage' => 'The specified DataDisk.n.PerformanceLevel and DataDisk.n.Size do not match.', + ], + [ + 'errorCode' => 'InvalidStorageSetName.Malformed', + 'errorMessage' => 'Specified parameter StorageSetName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidMaxPartitionNumber.Malformed', + 'errorMessage' => 'Specified parameter MaxPartitionNumber is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetPartitionNumber', + 'errorMessage' => 'Specified parameter StorageSetPartitionNumber is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetId', + 'errorMessage' => 'Specified parameter StorageSetId is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetZoneId', + 'errorMessage' => 'Specified parameter StorageSetZoneId is not valid.', + ], + [ + 'errorCode' => 'EnterpriseGroupLimited.MutliGroupType', + 'errorMessage' => 'The specified instance can\'t join multi SecurityGroup types.', + ], + [ + 'errorCode' => 'EnterpriseGroupLimited.InstanceType', + 'errorMessage' => 'The specified instance type doesn\'t support Enterprise SecurityGroup.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.RegionIdNotSupported', + 'errorMessage' => 'The specified region does not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.FlavorNotSupported', + 'errorMessage' => 'Flavor not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.TimestampNotSupported', + 'errorMessage' => 'Timestamp not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.PaygNotAvailable', + 'errorMessage' => 'Pay-as-you-go instance is not available now.', + ], + [ + 'errorCode' => 'OperationDenied.PrepayNotAvailable', + 'errorMessage' => 'Prepay instance is not available now.', + ], + [ + 'errorCode' => 'OperationDenied.BidOwnResource', + 'errorMessage' => 'Bid user can not own resource.', + ], + [ + 'errorCode' => 'OperationDenied.CloudSSDNotSupported', + 'errorMessage' => 'The specified available zone does not offer the cloud_ssd disk, use cloud_essd instead.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticQuota', + 'errorMessage' => 'No additional quota is available for the specified ECS instance type.', + ], + [ + 'errorCode' => 'QuotaExceeded.PostpaidDataDiskCapacity', + 'errorMessage' => 'The quota of postpaid data disk capacity exceeds.', + ], + [ + 'errorCode' => 'InvalidImageFamily.MissingAvailableImage', + 'errorMessage' => 'There is no available image related to the specified image family.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportEncryptAlgorithm', + 'errorMessage' => 'The current region does not support creating encrypted disks with EncryptAlgorithm.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidManagedPrivateSpaceId.DedicatedHostIdConflict', + 'errorMessage' => 'ManagedPrivateSpaceId and DedicatedHostId cannot be specified at the same time.', + ], + [ + 'errorCode' => 'InvalidManagedPrivateSpaceId.TenancyConflict', + 'errorMessage' => 'ManagedPrivateSpaceId and Tenancy cannot be specified at the same time.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidEniQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueueNumberExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ExceedInstanceTypeQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIspType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedIspChargeType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedIspClassicNetwork', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIspBandwidthOut', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedIspNetworkChargeType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIspUID', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedIspRegion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.OnlySupportEnterpriseGroup', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'InstanceDiskLimitExceeded', + 'errorMessage' => 'The amount of the disk on instance reach its limits.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportDiskCategory', + 'errorMessage' => 'The instanceType of the specified instance does not support this disk category.', + ], + [ + 'errorCode' => 'InvalidOperation.ConfidentialComputingModeInInviteOnlyTesting', + 'errorMessage' => 'The specified confidential computing mode is in invite only testing: %s.', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidNetworkInterfaceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.RegionNotSupportNetworkInterfaceId', + 'errorMessage' => 'The specific region does not support network interface id.', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.DiskCategory', + 'errorMessage' => 'The specified disk category does not support creating encrypted system disks or creating encrypted data disks from snapshots. Check the DiskCategory or Encrypted parameter, or check your account for default encryption settings.', + ], + [ + 'errorCode' => 'InvalidOperation.PublicIpAddressNoStock', + 'errorMessage' => 'The public IP address for the specified Region or ChargeType of the instance is out of stock. Please try another Region or ChargeType.', + ], + [ + 'errorCode' => 'AclLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.DataEncryptedKeyCreateFailed', + 'errorMessage' => 'Create kms data encrypted key fail. If you need further assistance, you can contact the KMS Technical Support.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsThreadsPerCore', + 'errorMessage' => 'The specified parameter CpuOptions.ThreadsPerCore is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsCore', + 'errorMessage' => 'The specified parameter CpuOptions.Core is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.CpuOptionsThreadsPerCoreUnsupported', + 'errorMessage' => 'The current instance type does not support setting or modifying the CpuOptions.ThreadsPerCore parameter.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsNuma', + 'errorMessage' => 'The specified parameter CpuOptions.Numa is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter Encrypted must be set to true when creating disks with encrypted snapshots.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchDiskDefaultEncryption', + 'errorMessage' => 'Enabling disk default encryption prevents the creation of non-encrypted disks.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportNetworkEncryption', + 'errorMessage' => 'The specified instance type does not support network encryption.', + ], + [ + 'errorCode' => 'InvalidOperation.UserNotSupportNetworkEncryption', + 'errorMessage' => 'User not support network encryption.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportEniTrunking', + 'errorMessage' => 'The current instance type does not support ENI trunking operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidStorageClusterId.NotExist', + 'errorMessage' => 'The specified StorageClusterId does not exist in current region.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId', + 'errorMessage' => 'The specified SecurityGroupId is invalid or does not exist.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The SecurityGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidDataDiskSnapshotId.NotFound', + 'errorMessage' => 'The specified parameter "DataDisk.n.SnapshotId" is not valid.', + ], + [ + 'errorCode' => 'InvalidClusterId.NotFound', + 'errorMessage' => 'The ClusterId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'Specified virtual switch does not exist.', + ], + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified instancetype is not support IoOptimized instance.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The InstanceChargeType does not exist in our records.', + ], + [ + 'errorCode' => 'DependencyViolation.IoOptimized', + 'errorMessage' => 'The specified instancetype must be IoOptimized instance.', + ], + [ + 'errorCode' => 'PaymentMethodNotFound', + 'errorMessage' => 'No payment method has been registered on the account.', + ], + [ + 'errorCode' => 'HOSTNAME_ILLEGAL', + 'errorMessage' => 'The specified parameter HostName is not valid.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanImageSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the image size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanMinSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the min size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.MoreThanMaxSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is more than the max size.', + ], + [ + 'errorCode' => 'OperationDenied.ImageNotValid', + 'errorMessage' => 'The specified Image is disabled or is deleted.', + ], + [ + 'errorCode' => 'OperationDenied.CreatingConflict', + 'errorMessage' => 'Another Instance has been creating.', + ], + [ + 'errorCode' => 'InvalidKeyPairName.NotFound', + 'errorMessage' => 'The specified parameter KeyPairName does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRamRole.NotFound', + 'errorMessage' => 'The specified parameter "RAMRoleName" does not exist.', + ], + [ + 'errorCode' => 'InvalidLaunchTemplate.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidLaunchTemplateVersion.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidMarketImage.NotFound', + 'errorMessage' => 'The specified marketplace image does not exist, please change the imageId and try again.', + ], + [ + 'errorCode' => 'DeploymentSet.NotFound', + 'errorMessage' => 'The specified deployment set does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.DeploymentSetGroupNo', + 'errorMessage' => 'Parameter DeploymentSetGroupNo is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskIds.NotPortable', + 'errorMessage' => 'The specified DiskId is not portable.', + ], + [ + 'errorCode' => 'InvalidAutoSnapshotPolicyId.NotFound', + 'errorMessage' => 'Specified parameter AutoSnapshotPolicyId not found.', + ], + ], + 429 => [ + [ + 'errorCode' => 'Throttling.Resource', + 'errorMessage' => 'The request throttle by resource operation.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"OrderId\\": \\"123456****\\",\\n \\"TradePrice\\": 0.165,\\n \\"InstanceIdSets\\": {\\n \\"InstanceIdSet\\": [\\n \\"i-bp67acfmxazb4ph****\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 123456****\\n 0.165\\n [\\"i-bp67acfmxazb4pd2****\\", \\"i-bp1i43l28m7u48p1****\\", \\"i-bp12yqg7jdyxl11f****\\"]\\n","errorExample":""}]', + 'title' => '批量创建实例', + 'description' => ''."\n" + .'创建实例会产生计费,计费项包括[实例规格](~~25398~~)、[镜像](~~179021~~)、[块存储](~~179022~~)和[公网带宽](~~25411~~)。请确保在使用该接口前,已充分了解ECS产品的收费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)。'."\n" + .''."\n" + .'请确保在使用该接口前,已充分了解ECS产品的收费方式和[价格](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl)。'."\n" + .''."\n" + ."\n" + .'本接口为异步接口,当前创建实例请求发送成功后会返回实例ID,实例的创建和启动不是立即完成的,您可以调用[DescribeInstanceStatus](~~2679688~~)查看实例信息,当返回信息中的状态为`Running`时代表创建并启动成功。'."\n" + ."\n" + .'### 使用须知'."\n" + ."\n" + .''."\n" + ."\n" + .'- 请确保您的账号已通过实名认证。更多信息,请参见[账号实名认证相关文档](~~48263~~)。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 当资源库存不足以完成当前实例创建时,阿里云会立即发送一个实例创建失败事件(SystemFailure.Delete),您可以通过[DescribeInstanceHistoryEvents](~~2679897~~)查看是否存在实例创建失败事件。更多信息,请参见[实例创建失败事件](~~2545990~~)。'."\n" + .'- 请确保您创建的实例总数或者全实例规格 vCPU 不会超出系统配额。更多信息,请参见[配额中心](https://quotas.console.aliyun.com/products/ecs/quotas)。'."\n" + .'- 创建专有网络VPC类型实例前,请预先在相应的阿里云地域[创建VPC](~~65430~~)。'."\n" + ."\n" + .'### 注意事项'."\n" + .'- 若实例计费方式为包年包月(`PrePaid`),在付款时默认会使用您可用的优惠券。'."\n" + .'- 单个请求最多能创建100台实例,超出100台,建议您分批或并发调用。'."\n" + .'- 如果参数`InternetMaxBandwidthOut`的值大于0,则自动为实例分配公网IP。'."\n" + .'> 单个地域下,单个阿里云账号按固定带宽计费的公网带宽峰值总和存在限制,请参见[公网带宽限制](~~25412#BandwidthQuota~~)。'."\n" + ."\n\n" + .'### 使用建议'."\n" + ."\n" + .'- **测试场景**:可以通过设置`DryRun=true`发送预检请求。'."\n" + .'- **释放实例**:您可以通过参数`AutoReleaseTime`设置实例自动释放时间,或者调用[DeleteInstances](~~2679710~~)进行手动释放。'."\n" + .'- **管理与检索**:建议您为每批次启动的实例指定标签(`Tag.N.Key`和`Tag.N.Value`),并且为主机名(`HostName`)和实例名称(`InstanceName`)添加有序后缀(`UniqueSuffix`)。具体操作,请参见[批量设置有序的实例名称或主机名称](~~196048~~)。'."\n" + .'- **启动模板**:利用实例启动模板能为您免除每次创建实例时都需要填入大量配置参数的麻烦,您可以通过[CreateLaunchTemplate](~~2679729~~)创建实例启动模板后,在`RunInstances`请求中指定`LaunchTemplateId`和`LaunchTemplateVersion`使用启动模板。'."\n" + .'- **关闭超线程**:在内存密集型业务场景,可以通过设置`CpuOptions.ThreadsPerCore=1`关闭超线程来提高内存配比。'."\n" + .'- **开启巨型帧**:可以指定 `NetworkOptions.EnableJumboFrame=true`在创建时开启`Jumbo frame`特性。 更多信息,请参见 [ECS实例MTU](~~200512~~)。'."\n" + ."\n" + .'## 请求示例'."\n" + .'假设您需要在华东 1(杭州)地域创建一些 ECS 实例。期望使用特定的镜像、实例规格、安全组和虚拟交换机,同时配置一定容量的系统盘和数据盘,并分配公网 IP 和设定实例名称与密码。相关配置请求参数如下:'."\n" + .'```'."\n" + .'RegionId:"cn-hangzhou", //设置华东 1(杭州)地域'."\n" + .'ImageId:"aliyun_3_x64_20G_alibase_20221102.vhd", //设置镜像ID'."\n" + .'InstanceType:"ecs.g7.large", //设置实例规格'."\n" + .'SecurityGroupId:"sg-bp150uqocpf9jj70****", //设置安全组 ID'."\n" + .'VSwitchId:"vsw-bp1qo7s91cbch5i4l****", //设置虚拟交换机 ID'."\n" + .'SystemDisk:{'."\n" + .' Category:"cloud_essd", //设置系统盘类别为ESSD云盘'."\n" + .' Size:40, //设置系统盘大小为40GiB'."\n" + .'},'."\n" + .'DataDisk:['."\n" + .' {'."\n" + .' Category:"cloud_essd", //设置数据盘类别为ESSD云盘'."\n" + .' Size:100, //设置数据盘大小为100GiB'."\n" + .' }'."\n" + .'],'."\n" + .'HostName:"ECS-test", //设置实例主机名称'."\n" + .'Password:"ECS@test1234", //设置实例登录密码'."\n" + .'InternetMaxBandwidthOut:10 //设置公网出带宽为10Mbit/s'."\n" + .'```'."\n" + .'在上述配置的基础上,创建不同类型实例:'."\n" + .'
'."\n" + .'示例:创建5台自动续费的包年包月实例'."\n" + ."\n" + .'```'."\n" + .'Amount:5, //创建数量为5台'."\n" + .'InstanceChargeType:"PrePaid", //表示包年包月'."\n" + .'PeriodUnit:"Month", //设置时长单位为"月"'."\n" + .'Period:1, //设置时长为1个月'."\n" + .'AutoRenew:true, //表示自动续费'."\n" + .'AutoRenewPeriod:1 //续费时长为1个月'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'示例:创建10台按量付费实例'."\n" + ."\n" + .'```'."\n" + .'Amount:10, //创建数量为10台'."\n" + .'InstanceChargeType:"PostPaid", //表示按量付费'."\n" + .'SpotStrategy:"NoSpot" //默认值,表示正常按量付费'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'示例:创建20台抢占式实例,并设置竞价策略和保留时长'."\n" + ."\n" + .'```'."\n" + .'Amount:20, //创建数量为20台'."\n" + .'InstanceChargeType:"PostPaid",'."\n" + .'SpotStrategy:"SpotAsPriceGo", //表示抢占式实例的竞价策略为根据市场价格自动出价'."\n" + .'SpotDuration:1 //设置抢占式实例的保留时长为1小时'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'假设您已通过[CreateLaunchTemplate](~~2679729~~)创建了一个实例启动模版,现在需要使用该模版在华东 1(杭州)地域创建一些 ECS 实例。示例如下:'."\n" + ."\n" + .'
'."\n" + .'示例:根据实例启动模版创建10台ECS实例'."\n" + ."\n" + .'```'."\n" + .'RegionId:"cn-hangzhou", //设置华东 1(杭州)地域'."\n" + .'Amount:10, //创建数量为10台'."\n" + .'LaunchTemplateId:"lt-bp14xczpoxvb6rre****" //设置实例启动模版ID'."\n" + .'```'."\n" + ."\n" + .'
'."\n" + ."\n" + .'>实例的参数和模版内的参数同时指定时,优先以实例参数创建。例如:模版内的付费方式是包年包月,同时`InstanceChargeType`设定为`PostPaid`,创建的即为按量付费类型实例。>'."\n" + ."\n" + .'
'."\n" + .'示例:使用全镜像(包含系统盘和数据盘的整机镜像)创建1台实例'."\n" + ."\n" + .'```'."\n" + .'RegionId:"cn-hangzhou", //设置华东 1(杭州)地域'."\n" + .'ImageId = m-bp13ohd32cvzpq9e****,//自定义镜像ID'."\n" + .'InstanceType = ecs.u1-c1m1.large,//实例类型'."\n" + .'SecurityGroupId = sg-bp10jztp6b0sdsyl****,//安全组ID'."\n" + .'VSwitchId = vsw-bp19wo63nleroq22g****,//交换机ID'."\n" + .'SystemDisk.Size = 50,//设置全镜像自带的系统盘大小'."\n" + .'SystemDisk.Category = cloud_auto,//设置全镜像自带的系统盘的云盘种类'."\n" + .'DataDisk.0.Device = /dev/xvdb,//设置全镜像自带的数据盘的挂载点'."\n" + .'DataDisk.0.Size = 50,//设置全镜像自带的数据盘的容量大小'."\n" + .'DataDisk.0.Category = cloud_essd,//设置全镜像自带的数据盘的云盘种类'."\n" + .'DataDisk.1.Device = /dev/xvdc,//新增数据盘的挂载点,如果您需要使用新增的数据盘替换全镜像自带的数据盘,可设置DataDisk.1.Device = /dev/xvdb(全镜像中数据盘的默认挂载点)。'."\n" + .'DataDisk.1.Size = 70,//新增数据盘的容量大小'."\n" + .'DataDisk.1.Category = cloud_auto,//新增数据盘的云盘种类'."\n" + .'```'."\n" + ."\n" + .'
', + ], + 'CreateInstance' => [ + 'summary' => '本接口是阿里云 ECS 中用于创建实例的接口,支持创建一台包年包月或按量付费的 ECS 实例。您可通过此接口,依据自身需求灵活配置各类参数,实现实例的个性化创建。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + [ + 'APP' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28832', + 'abilityTreeNodes' => [ + 'FEATUREecsYLNQGM', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像文件ID,启动实例时选择的镜像资源。如需使用云市场镜像,您可以在云市场镜像商详情页查看`ImageId`。当您不通过指定`ImageFamily`选用镜像族系最新可用镜像时,此参数必选。', + 'type' => 'string', + 'required' => false, + 'example' => 'ubuntu_18_04_64_20G_alibase_20190624.vhd', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像族系名称,通过设置该参数来获取当前镜像族系内最新可用镜像来创建实例。'."\n" + .'- 设置了`ImageId`,则不能设置该参数。'."\n" + .'- 未设置`ImageId`,则可以设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'hangzhou-daily-update', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的资源规格。'."\n" + ."\n" + .'- 产品选型:参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~25620~~)查看目标实例规格的性能数据,或者参见[选型配置](~~58291~~)了解如何选择实例规格。'."\n" + .'- 查询库存:调用[DescribeAvailableResource](~~66186~~)查看指定地域或者可用区内的资源供给情况。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecs.g6.large', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定新创建实例所属于的安全组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg****', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文等)和数字。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。如果没有指定该参数,默认值为实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-node-[1,4]-alibabacloud', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络计费类型。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic(默认):按使用流量计费。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否要自动续费。当参数`InstanceChargeType`取值`PrePaid`时才生效。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false(默认):不自动续费。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '每次自动续费的时长,当参数AutoRenew取值True时,该参数为必填参数。'."\n" + ."\n" + .'PeriodUnit为Week时,AutoRenewPeriod取值:1、2、3。'."\n" + ."\n" + .'PeriodUnit为Month时,AutoRenewPeriod取值:1、2、3、6、12。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => [ + 'description' => '公网入带宽最大值,单位为Mbit/s。取值范围:'."\n" + ."\n" + .'- 当所购出网带宽小于等于10 Mbit/s时:1~10。默认值为10。'."\n" + .'- 当所购出网带宽大于10 Mbit/s时:1~`InternetMaxBandwidthOut`的取值,默认为`InternetMaxBandwidthOut`的取值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '200', + 'minimum' => '1', + 'example' => '50', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s。取值范围为0~100。'."\n" + ."\n" + .'默认值为0。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务器的主机名。'."\n" + ."\n" + .'- 半角句号(.)或短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- Windows实例:字符长度为2~15,不支持半角句号(.),不能全是数字。允许大小写英文字母、数字和短划线(-)。'."\n" + .'- 其他类型实例(Linux等):字符长度为2~64,支持多个半角句号(.),英文句号之间为一段,每段允许大小写英文字母、数字和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'LocalHostName', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:'."\n" + ."\n" + .'```'."\n" + .'()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/'."\n" + .'```'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 如果传入Password参数,建议您使用HTTPS协议发送请求,避免密码泄露。'."\n" + .'- Windows实例不能以正斜线(/)为密码首字符。'."\n" + .'- 部分操作系统的实例不支持配置密码,仅支持配置密钥对。例如:Others Linux、Fedora CoreOS。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestEcs123!', + ], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用镜像预设的密码。使用该参数时,Password参数必须为空,同时您需要确保使用的镜像已经设置了密码。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp1brhwhoqinyjd6****', + ], + ], + [ + 'name' => 'DeploymentSetGroupNo', + 'in' => 'query', + 'schema' => [ + 'description' => '如果您设置的部署集对应的策略为部署集组高可用策略(AvailabilityGroup)时,可以通过该参数指定实例在部署集中的分组号。取值范围为1~7。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的可用区ID。更多信息,请参见[DescribeZones](~~25610~~)获取可用区列表。'."\n" + ."\n" + .'> 如果您指定了`VSwitchId`参数,则指定的`ZoneId`参数必须和交换机所在的可用区保持一致。您也可以不指定`ZoneId`参数,系统将自动选择指定的交换机所在的可用区。'."\n" + ."\n" + .'默认值:空,系统自动选择。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的集群ID。'."\n" + ."\n" + .'>该参数即将被弃用,为提高兼容性,请尽量使用其他参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'c-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'description' => '虚拟局域网ID。', + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InnerIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的内网IP。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘大小,单位为GiB。取值范围为:'."\n" + ."\n" + .'- 普通云盘:20~500'."\n" + ."\n" + .'- 其他类型云盘:20~2048'."\n" + ."\n" + .'该参数的取值必须大于或者等于max{20, ImageSize}。'."\n" + ."\n" + .'默认值:max{40, ImageSize} 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '40', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .'>仅当`InstanceType`设置为[通用算力型实例规格族u1](~~457079~~)(`ecs.u1`)或[经济型实例规格族e](~~108489~~)(`ecs.e`)时,该参数支持取`cloud_essd_entry`值。'."\n" + ."\n" + .'已停售的实例规格且非I/O优化实例默认值为cloud,否则默认值为cloud_efficiency。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'默认值为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'SystemDiskName', + ], + ], + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。'."\n" + ."\n" + .'默认值为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestDescription', + ], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1(默认):单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'NodeControllerId', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。'."\n" + ."\n" + .'默认值为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'InstanceTest', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '如果是创建VPC类型的实例,需要指定交换机ID。您可以调用[DescribeVSwitches](~~35748~~)查询已创建的交换机的相关信息。'."\n" + ."\n" + .'> 如果您指定了`VSwitchId`参数,则指定的`ZoneId`参数必须和交换机所在的可用区保持一致。您也可以不指定`ZoneId`参数,系统将自动选择指定的交换机所在的可用区。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1s5fnvk4gn2tws0****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '实例私网IP地址。该IP地址必须为交换机(VSwitchId)网段的空闲地址。', + 'type' => 'string', + 'required' => false, + 'example' => '172.16.236.*', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。取值范围:'."\n" + ."\n" + .'- none:非I/O优化。'."\n" + .'- optimized:I/O优化。'."\n" + ."\n" + .'[已停售的实例规格](~~55263~~)实例默认值是none。'."\n" + ."\n" + .'其他实例规格默认值是optimized。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'UseAdditionalService', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用阿里云提供的虚拟机系统配置(Windows:NTP、KMS;Linux:NTP、YUM)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的付费方式。取值范围:'."\n" + ."\n" + .'- PrePaid:包年包月。选择该类付费方式时,您必须确认自己的账号支持余额支付/信用支付,否则将返回 `InvalidPayMethod`的错误提示。'."\n" + .'- PostPaid(默认):按量付费。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买资源的时长,单位由`PeriodUnit`指定。当参数`InstanceChargeType`取值为`PrePaid`时才生效且为必选值。一旦指定了`DedicatedHostId`,则取值范围不能超过专有宿主机的订阅时长。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时,Period取值:1、2、3、4。'."\n" + .'- PeriodUnit=Month时,Period取值:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时,Period取值:1、2、3、6、12。'."\n" + ."\n" + .'PeriodUnit=Month时,Period取值:1、2、3、6、12。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '购买资源的时长。取值范围:'."\n" + ."\n" + .''."\n" + .'- Week。'."\n" + .'- Month。'."\n" + ."\n" + .''."\n" + ."\n" + .'Month。'."\n" + ."\n" + .'Month。'."\n" + ."\n" + .'默认值为Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => '实例自定义数据,需要以Base64方式编码,原始数据最多为32 KB。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZWNobyBoZWxsbyBlY3Mh', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的抢占策略。当参数`InstanceChargeType`取值为`PostPaid`时生效。取值范围:'."\n" + ."\n" + .'- NoSpot(默认):正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。'."\n" + ."\n" + .'>Windows实例,忽略该参数。默认为空。即使填写了该参数,仍旧只执行`Password`的内容。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyPairTestName', + ], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '设置实例的每小时最高价格。支持最多3位小数,参数`SpotStrategy`取值为`SpotWithPriceLimit`时生效。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.98', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的保留时长,单位为小时。默认值:1。取值范围:'."\n" + ."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'> '."\n" + .'> - 该参数目前只支持设置为0或1。'."\n" + .'> - 抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + .'> - 实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '6', + 'minimum' => '0', + 'example' => '1', + ], + ], + [ + 'name' => 'SpotInterruptionBehavior', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占实例中断模式。取值范围:'."\n" + ."\n" + .'- Terminate:直接释放实例。'."\n" + ."\n" + .'- Stop:实例进入节省停机模式。'."\n" + ."\n" + .' 关于节省停机模式的更多说明,请参见[按量付费实例节省停机模式](~~63353~~)。'."\n" + ."\n" + .'默认值:Terminate。', + 'type' => 'string', + 'required' => false, + 'example' => 'Terminate', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例RAM角色名称。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色。', + 'type' => 'string', + 'required' => false, + 'example' => 'RAMTestName', + ], + ], + [ + 'name' => 'SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启安全加固。取值范围:'."\n" + ."\n" + .'- Active:启用安全加固,只对系统镜像生效。'."\n" + .'- Deactive:不启用安全加固,对所有镜像类型生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的HPC集群ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'hpc-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式、业务限制和ECS库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false(默认):发送正常请求,通过检查后直接创建实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。'."\n" + .'您可以通过[DescribeDedicatedHosts](~~134242~~)查询专有宿主机ID列表。'."\n" + ."\n" + .'您可以通过[DescribeDedicatedHosts](~~134242~~)查询专有宿主机ID列表。'."\n" + ."\n" + .'>专有宿主机不支持创建抢占式实例,指定`DedicatedHostId`参数后,会自动忽略请求中的`SpotStrategy`和`SpotPriceLimit`设置。>', + 'type' => 'string', + 'required' => false, + 'example' => 'dh-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => [ + 'description' => '设置突发性能实例的运行模式。取值范围:'."\n" + ."\n" + .'- Standard:标准模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的性能约束模式章节。'."\n" + .'- Unlimited:无性能约束模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的无性能约束模式章节。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => '实例释放保护属性,指定是否支持通过控制台或API([DeleteInstance](~~25507~~))释放实例。'."\n" + ."\n" + .'- true:开启实例释放保护。'."\n" + .'- false(默认):关闭实例释放保护。'."\n" + ."\n" + .'> 该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'HibernationOptions.Configured', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机实例是否与专有宿主机关联。取值范围:'."\n" + ."\n" + .'- default:实例不与专有宿主机关联。已启用节省停机模式的实例,停机后再次启动时,若原专有宿主机可用资源不足,则实例被放置在自动部署资源池的其它专有宿主机上。'."\n" + ."\n" + .'- host:实例与专有宿主机关联。已启用节省停机模式的实例,停机后再次启动时,仍放置在原专有宿主机上。若原专有宿主机可用资源不足,则实例重启失败。'."\n" + ."\n" + .'默认值为default。', + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Tenancy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否在专有宿主机上创建实例。取值范围:'."\n" + ."\n" + .'- default:在非专有宿主机上创建实例。'."\n" + ."\n" + .'- host:在专有宿主机上创建实例。若您不指定`DedicatedHostId`,则由阿里云自动选择专有宿主机部署实例。'."\n" + ."\n" + .'默认值为default。', + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '存储集ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ss-bp1j4i2jdf3owlhe****', + ], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '存储集中的最大分区数量。取值范围:大于等于2。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '2', + ], + ], + [ + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例元数据的访问通道。取值范围:'."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值为enabled。'."\n" + .'>有关实例元数据的信息,请参见[实例元数据概述](~~49122~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'enabled', + ], + ], + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => [ + 'description' => '访问实例元数据时是否强制使用加固模式(IMDSv2)。取值范围:'."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。设置该取值后,普通模式无法访问实例元数据。'."\n" + ."\n" + .'默认值为optional。'."\n" + .'>有关访问实例元数据的模式,请参见[实例元数据访问模式](~~150575~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'optional', + ], + ], + [ + 'name' => 'HttpPutResponseHopLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值范围:'."\n" + ."\n" + .'- Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。该模式下无需设置`PrivatePoolOptions.Id`参数。'."\n" + .'- Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须指定私有池ID,即`PrivatePoolOptions.Id`参数为必填项。'."\n" + .'- None:不使用模式。实例启动将不使用私有池容量。'."\n" + ."\n" + .'默认值为None。'."\n" + ."\n" + .'以下任一场景,实例启动的私有池容量选项只能取值`None`或不传值。'."\n" + .'- 创建抢占式实例。'."\n" + .'- 创建经典网络类型的ECS实例。'."\n" + .'- 在专有宿主机DDH上创建ECS实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'Open', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '私有池ID。即弹性保障服务ID或容量预定服务ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '数据盘列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => [ + 'description' => '创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。N的取值必须和`DataDisk.N.Category=cloud_essd`中的N保持一致。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1(默认):单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL2', + ], + 'Description' => [ + 'description' => '数据盘描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestDescription', + ], + 'SnapshotId' => [ + 'description' => '创建数据盘N使用的快照。N的取值范围为1~16。'."\n" + ."\n" + .'- 指定参数`DataDisk.N.SnapshotId`后,参数`DataDisk.N.Size`会被忽略,实际创建的云盘大小为指定的快照的大小。'."\n" + ."\n" + .'- 不能使用早于2013年7月15日(含)创建的快照,请求会报错被拒绝。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17441ohwka0yuh****', + ], + 'Size' => [ + 'description' => '第n个数据盘的容量大小,N的取值范围为1~16,内存单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:20~32768。'."\n" + .'- cloud_ssd:20~32768。'."\n" + .'- cloud_essd:具体取值范围与 `DataDisk.N.PerformanceLevel`的取值有关。'."\n" + .' - PL0:1~65,536。'."\n" + .' - PL1:20~65,536。'."\n" + .' - PL2:461~65,536。'."\n" + .' - PL3:1261~65,536。'."\n" + .'- cloud:5~2000。'."\n" + ."\n" + .'>该参数的取值必须大于等于参数`SnapshotId`指定的快照的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + 'Device' => [ + 'description' => '数据盘的挂载点。'."\n" + ."\n" + .'>该参数仅用于全镜像(整机镜像)场景。您可以通过将此参数设置为全镜像中数据盘对应的挂载点,并修改对应的`DataDisk.N.Size`和`DataDisk.N.Category`参数,达到修改全镜像中数据盘磁盘种类和大小的目的。', + 'type' => 'string', + 'required' => false, + 'example' => '/dev/xvdb', + ], + 'DiskName' => [ + 'description' => '数据盘名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'DataDiskName', + ], + 'Category' => [ + 'description' => '数据盘N的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .' >仅当`InstanceType`设置为`ecs.u1`或`ecs.e`规格族时,该参数支持`cloud_essd_entry`。'."\n" + .'- elastic_ephemeral_disk_standard:弹性临时盘-标准版。'."\n" + .'- elastic_ephemeral_disk_premium:弹性临时盘-高级版。'."\n" + ."\n" + .'I/O优化实例的默认值为cloud_efficiency,非I/O优化实例的默认值为cloud。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + 'DeleteWithInstance' => [ + 'description' => '数据盘是否随实例释放。'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值为true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'KMSKeyId' => [ + 'description' => '云盘使用的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d****', + 'maxLength' => 64, + ], + 'EncryptAlgorithm' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Encrypted' => [ + 'description' => '数据盘N是否加密。'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'StorageClusterId' => [ + 'description' => '专属块存储集群ID。如果您在创建ECS实例时,需要使用专属块存储集群中的云盘资源作为数据盘,请设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'dbsc-j5e1sf2vaf5he8m2****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'Arn', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RoleType' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Primary', + ], + 'Rolearn' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'acs:ram::123456789012****:role/adminrole', + ], + 'AssumeRoleFor' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1234567890', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '标签键。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + 'Key' => [ + 'description' => '实例、云盘和主网卡的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '实例、云盘和主网卡的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '标签值。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SystemDisk', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '系统盘相关参数,目前专属块存储集群ID(`StorageClusterId`)需要通过该参数设置参数值。', + 'type' => 'object', + 'properties' => [ + 'StorageClusterId' => [ + 'description' => '专属块存储集群ID。如果您在创建ECS实例时,需要使用专属块存储集群中的云盘资源作为系统盘,请设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'dbsc-j5e1sf2vaf5he8m2****', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'OrderId' => [ + 'description' => '订单ID。该参数只有创建包年包月ECS实例(请求参数`InstanceChargeType=PrePaid`)时有返回值。', + 'type' => 'string', + 'example' => '1234567890', + ], + 'TradePrice' => [ + 'description' => '订单成交价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.165', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStorageClusterId.CapacityNotEnough', + 'errorMessage' => 'The remaining capacity of the current dedicated storage cluster is less than the size of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.StatusNotSupport', + 'errorMessage' => 'The current status of the dedicated storage cluster cannot create a cloud disk yet.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.ZoneIdEmpty', + 'errorMessage' => 'The specified param ZoneId cannot be empty when StorageClusterId given.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.PerformanceLevelNotMatch', + 'errorMessage' => 'The current dedicated storage cluster cannot create this performance level of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.CategoryNotMatch', + 'errorMessage' => 'The current dedicated storage cluster cannot create this category of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.DiskSizeEmpty', + 'errorMessage' => 'The specified param DiskSize cannot be empty when StorageClusterId given.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => 'The specified InternetChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter "InternetMaxBandwidthOut" is not valid.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter " SystemDisk.Category " is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidHostName.Malformed', + 'errorMessage' => 'The specified parameter "HostName" is not valid.', + ], + [ + 'errorCode' => 'InvalidPassword.Malformed', + 'errorMessage' => 'The specified parameter "Password" is not valid.', + ], + [ + 'errorCode' => 'InvalidPasswordParam.Mismatch', + 'errorMessage' => 'The input password should be null when passwdInherit is true.', + ], + [ + 'errorCode' => 'InvalidDiskName.Malformed', + 'errorMessage' => 'The specified parameter "SystemDisk.DiskName or DataDisk.n.DiskName" is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskDescription.Malformed', + 'errorMessage' => 'The specified parameter "SystemDisk.DiskDescription" or "DataDisk.n.Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DataDisk.n.Category" is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDevice.Malformed', + 'errorMessage' => 'The specified parameter "DataDisk.n.Device" is not valid.', + ], + [ + 'errorCode' => 'InvalidNodeControllerId.Malformed', + 'errorMessage' => 'The specified parameter "NodeControllerId" is not valid.', + ], + [ + 'errorCode' => 'InvalidInnerIpAddress.Malformed', + 'errorMessage' => 'The specified parameter "InnerIpAddress" is not valid.', + ], + [ + 'errorCode' => 'InvalidInnerIpAddress.Unusable', + 'errorMessage' => 'The specified InnerIpAddress is already used or not found in usable ip range.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified parameter "VlanId" is not valid or vlan has not enough IP address.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified image does not support the specified instance type.', + ], + [ + 'errorCode' => 'ImageNotSupportCloudInit', + 'errorMessage' => 'The specified image does not support cloud-init.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.BasedSnapshotTooOld', + 'errorMessage' => 'The specified snapshot is created before 2013-07-15.', + ], + [ + 'errorCode' => 'QuotaExceed.AfterpayInstance', + 'errorMessage' => 'The maximum number of Pay-As-You-Go instances is exceeded: %s.', + ], + [ + 'errorCode' => 'InvalidMarketImageChargeType.NotSupport', + 'errorMessage' => 'The specified chargeType of marketImage is unsupported.', + ], + [ + 'errorCode' => 'InvalidInstanceName.Malformed', + 'errorMessage' => 'The specified parameter "InstanceName" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'Specified security group and virtual switch are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidNetworkType.Mismatch', + 'errorMessage' => 'Specified parameter InternetMaxBandwidthIn or InternetMaxBandwidthOut conflict with instance network type.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress', + 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Malformed', + 'errorMessage' => 'Specified private IP address is invalid.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', + 'errorMessage' => 'Specified private IP address is duplicated.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrivateIpAddress', + 'errorMessage' => 'Don\'t have enough private IPs in this switch.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Living instances quota exceeded in this VPC.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current status of virtual switch does not support this operation.', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "VSwitchId" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Mismatch', + 'errorMessage' => 'The specified disk categories\' combination is not supported.', + ], + [ + 'errorCode' => 'InvalidIoOptimizedValue.ValueNotSupported', + 'errorMessage' => 'IoOptimized value not supported.', + ], + [ + 'errorCode' => 'MissingParamter', + 'errorMessage' => 'The specified parameter "Period" is not null.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid.', + ], + [ + 'errorCode' => 'InstanceDiskCategoryLimitExceed', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'InvalidParameter.Bandwidth', + 'errorMessage' => 'The specified parameter Bandwidth is not valid.', + ], + [ + 'errorCode' => 'InvalidIPAddress.AlreadyUsed', + 'errorMessage' => 'The specified IPAddress is already used by other resource.', + ], + [ + 'errorCode' => 'InvalidUserData.SizeExceeded', + 'errorMessage' => 'The specified parameter "UserData" exceeds the size.', + ], + [ + 'errorCode' => 'InvalidUserData.NotSupported', + 'errorMessage' => 'The specified parameter "UserData" only support the vpc and IoOptimized Instance.', + ], + [ + 'errorCode' => 'InstanceDiskNumber.LimitExceed', + 'errorMessage' => 'The total number of specified disk in an instance exceeds.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskCategory" is not valid.', + ], + [ + 'errorCode' => 'InvalidAutoRenewPeriod.ValueNotSupported', + 'errorMessage' => 'The specified autoRenewPeriod is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotStrategy', + 'errorMessage' => 'The specified SpotStrategy is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotParam.EmptyZoneID', + 'errorMessage' => 'The specified ZoneId is empty when SpotStrategy is set.', + ], + [ + 'errorCode' => 'InvalidSpotPriceLimit', + 'errorMessage' => 'The specified SpotPriceLimitis not valid.', + ], + [ + 'errorCode' => 'InvalidSpotDuration', + 'errorMessage' => 'The specified SpotDuration is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotAuthorized', + 'errorMessage' => 'The specified Spot param is unauthorized.', + ], + [ + 'errorCode' => 'InvalidSpotPrepaid', + 'errorMessage' => 'The specified Spot type is not support PrePay Instance.', + ], + [ + 'errorCode' => 'InvalidSpotAliUid', + 'errorMessage' => 'The specified UID is not authorized to use SPOT instance.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedIllegal', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EncryptedOption.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSpotPriceLimit.LowerThanPublicPrice', + 'errorMessage' => 'The specified parameter "soptPriceLimit" can\'t be lower than current public price.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.Unnecessary', + 'errorMessage' => 'The specified HpcClusterId is unnecessary.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.Necessary', + 'errorMessage' => 'The VSwitchId is necessary.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.Necessary', + 'errorMessage' => 'The HpcClusterId is necessary.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.NotFound', + 'errorMessage' => 'The specified HpcClusterId is not found.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.Creating', + 'errorMessage' => 'The specified HpcClusterId is creating.', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'IncorrectImageStatus', + 'errorMessage' => 'Encrypted snapshots do not support this operation.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.NotInDefaultVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'VpcNotFound', + 'errorMessage' => 'Vpc is not found according to the specified VSwitch or the vpc does not belong to you.', + ], + [ + 'errorCode' => 'InvalidSpotInterruptionBehavior', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.IllegalPaymentPolicy', + 'errorMessage' => 'The current payment policy is illegal, please connect your service provider to authenticate relative agreement.', + ], + [ + 'errorCode' => 'InvalidDeploymentOnHost', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotSupport', + 'errorMessage' => 'The Dedicated host not support the specified Instance charge type.', + ], + [ + 'errorCode' => 'InvalidNetworkType.NotSupported', + 'errorMessage' => 'The classic networkType not support create ECS on dedicatedHost.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostStatus.NotSupport', + 'errorMessage' => 'Operation denied due to dedicated host status.', + ], + [ + 'errorCode' => 'IncorrectDedicatedHostStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'ChargeTypeViolation.PostPaidDedicatedHost', + 'errorMessage' => 'Prepaid instance onto postpaid dedicated host is not allowed.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can\'t exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'DedicatedHostType.Unmatched', + 'errorMessage' => 'The specified DedicatedHostType doesn?t match the instance type.', + ], + [ + 'errorCode' => 'NoAvaliableDedicatedHost', + 'errorMessage' => 'There\'s no enough resource on the specified dedicated host.', + ], + [ + 'errorCode' => 'InvalidParameter.Affinity', + 'errorMessage' => 'The specified Affinity is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Tenancy', + 'errorMessage' => 'The specified Tenancy is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.Tenancy', + 'errorMessage' => 'The specified Tenancy is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CreditSpecification', + 'errorMessage' => 'The specified CreditSpecification is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified instanceType is not supported by the deployment set.', + ], + [ + 'errorCode' => 'InvalidVpcZone.NotSupported', + 'errorMessage' => 'Zone of the specified VSwitch is not available for creating, please try in other zones.', + ], + [ + 'errorCode' => 'IncorrectDefaultVpcStatus', + 'errorMessage' => 'The status of the default VPC is invalid.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified instance must be IoOptimized instance when kmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'InvalidCapacityReservationId.NotFound', + 'errorMessage' => 'The specified CapacityReservationId does not exist.', + ], + [ + 'errorCode' => 'LackResource', + 'errorMessage' => 'There\'s no enough resource on the specified capacity reservation.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidParameter.Arns', + 'errorMessage' => 'The specified Arns is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupportEnterpriseGroup', + 'errorMessage' => 'The specified instance type doesn\'t support enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiGroupType', + 'errorMessage' => 'The specified instance can\'t join different types of security group.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.PayAmountLimitExceeded', + 'errorMessage' => 'Your account is being restricted, because you have no default payment method or you are not authorized.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter DataDisk.n.PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.NetworkType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceeded.PrepayDataDiskCapacity', + 'errorMessage' => 'The quota of prepay data disk capacity exceeds.', + ], + [ + 'errorCode' => 'InvalidCustomInstanceType.NotSupported', + 'errorMessage' => 'The specified custom instance type is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => 'The maximum number of eni in a enterprise security group is exceeded.', + ], + [ + 'errorCode' => 'AccountForbidden.ProductCreationLimited', + 'errorMessage' => 'The commodity must be officially operated by Aliyun and in pay-as-you-go billing method.', + ], + [ + 'errorCode' => 'UnexpectedImageFamily.ImageIdSupplied', + 'errorMessage' => 'The input parameter ImageFamily must be null when image id is set.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchEncryptAlgorithm', + 'errorMessage' => 'The specified parameter Encrypted must be true when EncryptAlgorithm is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchKmsKeyId', + 'errorMessage' => 'The specified parameter Encrypted must be true when KmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is different from the encrypt algorithm of the snapshot.', + ], + [ + 'errorCode' => 'InvalidKmsKeyId.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter KmsKeyId is different from the KmsKeyId of the snapshot.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidHttpEndpoint.NotSupported', + 'errorMessage' => 'The specified HttpEndpoint not supported, you can use enabled(default) or disabled.', + ], + [ + 'errorCode' => 'InvalidHttpTokens.NotSupported', + 'errorMessage' => 'The specified HttpTokens not supported, you can use optional(default) or required.', + ], + [ + 'errorCode' => 'InvalidHttpPutResponseHopLimit.NotSupported', + 'errorMessage' => 'The specified HttpPutResponseHopLimit not supported, more than 1 and less than 64 is reasonable.', + ], + [ + 'errorCode' => 'InvalidOperation.VpcHasEnabledAdvancedNetworkFeature', + 'errorMessage' => 'The specified vpc has enabled advanced network feature.', + ], + [ + 'errorCode' => 'InvalidChargeType.CapacityReservationNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.ValueNotSupported', + 'errorMessage' => 'The current ZoneId or InstanceType does not support PL0 of cloud_essd.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotSymmetric', + 'errorMessage' => 'The specified parameter KmsKeyId must be symmetric.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.NotFound', + 'errorMessage' => 'The specified DedicatedHostClusterId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.InValid', + 'errorMessage' => 'The specified Dedicated Host Cluster is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.UserNotSupported', + 'errorMessage' => 'Reseller user do not support purchase at the moment.', + ], + [ + 'errorCode' => 'InvalidDeploymentSetId.NotFound', + 'errorMessage' => 'The parameter DeploymentSetId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id is invalid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.NoStock', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool is expired or inactive.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceTypeNotSupport', + 'errorMessage' => 'The specified instance type is not support.', + ], + [ + 'errorCode' => 'HibernationConfigured.ImageNotEncrypted', + 'errorMessage' => 'The hibernation configured instance only support encrypted image.', + ], + [ + 'errorCode' => 'HibernationConfigured.MemorySizeTooBig', + 'errorMessage' => 'The hibernation configured instance memory size is too big.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanMemSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the memory size.', + ], + [ + 'errorCode' => 'InvalidCloudBoxZone.OperationNotSupported', + 'errorMessage' => 'The cloud box zone does not support creating prepaid or encrypted resources.', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthOut.Malformed', + 'errorMessage' => 'The specified parameter InternetMaxBandwidthOut is not valid.', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthIn.Malformed', + 'errorMessage' => 'The specified parameter InternetMaxBandwidthIn is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.CloudboxNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.ShareImage ', + 'errorMessage' => 'Shared snapshot creating encrypted disks with native snapshot encrypt is not supported.', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'InvalidParameter.DataEncryptedKeyCreateFailed', + 'errorMessage' => 'Create kms data encrypted key fail. If you need further assistance, you can contact the KMS Technical Support.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not supported.', + ], + [ + 'errorCode' => 'InvalidDestinationZone.DeploymentSetMismatch', + 'errorMessage' => 'Error happened, %s.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'InvalidParameter.DedicatedRegionNotSupported', + 'errorMessage' => 'The specified action is rejected because the specified ECS instance in the dedicated region does not support public IP.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnable', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParam.EncryptedMismatch', + 'errorMessage' => 'Creating encrypted disks with shared encrypted image requires replacing encryption keys.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted', + 'errorMessage' => 'Creating non-encrypted disks with encrypted snapshots is not supported.', + ], + [ + 'errorCode' => 'QuotaExceeded.InternetBandwidth', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified VSwitch does not exist in the specified region.', + ], + [ + 'errorCode' => 'OperationDenied.TestAccountRetricted', + 'errorMessage' => 'Test-account for testing has been prohibited from creating instance in this region. Please contact 400181.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRamRole.NotEcsRole', + 'errorMessage' => 'The specified ram role is not authorized for ecs, please check your role policy.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not support the specified instance type.', + ], + [ + 'errorCode' => 'ImageNotSubscribed', + 'errorMessage' => 'The specified image has not be subscribed.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified Image is disabled or is deleted.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueUnauthorized', + 'errorMessage' => 'The disk category is not authorized.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'InstanceDiskCategoryLimitExceed', + 'errorMessage' => 'The total size of specified disk category in an instance exceeds.', + ], + [ + 'errorCode' => 'InvalidDevice.InUse', + 'errorMessage' => 'The specified device has been occupied.', + ], + [ + 'errorCode' => 'ImageRemovedInMarket', + 'errorMessage' => 'The specified market image is not available, Or the specified user defined image includes product code because it is based on an image subscribed from marketplace, and that image in marketplace includeing exact the same product code has been removed.', + ], + [ + 'errorCode' => 'CategoryNotSupported', + 'errorMessage' => 'The specified zone does not offer the specified disk category.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'QuotaExceed.PortableCloudDisk', + 'errorMessage' => 'The quota of portable cloud disk exceeds.', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => 'The maximum number of instances in a security group is exceeded.', + ], + [ + 'errorCode' => 'NodeControllerUnavailable', + 'errorMessage' => 'The Node Controller is temporarily unavailable.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'There is no authority to create instance in the specified region.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotDataDiskSnapshot', + 'errorMessage' => 'The specified snapshot is system disk snapshot.', + ], + [ + 'errorCode' => 'DeleteWithInstance.Conflict', + 'errorMessage' => 'The specified disk is not a portable disk and cannot be set to DeleteWithInstance attribute.', + ], + [ + 'errorCode' => 'InstanceDiskNumLimitExceed', + 'errorMessage' => 'The number of specified disk in an instance exceeds.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified image is not support IoOptimized Instance.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified image don\'t support the InstanceType instance.', + ], + [ + 'errorCode' => 'InvalidDiskSize.TooSmall', + 'errorMessage' => 'Specified disk size is less than the size of snapshot.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.Mismatch', + 'errorMessage' => 'The specified disk categories combination is not supported.', + ], + [ + 'errorCode' => 'QuotaExceed.BuyImage', + 'errorMessage' => 'The specified image is from the image market, You have not bought it or your quota has been exceeded.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The VSwitchId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'InvalidUserData.Forbidden', + 'errorMessage' => 'User not authorized to input the parameter "UserData", please apply for permission "UserData".', + ], + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The specified zone is not available for purchase.', + ], + [ + 'errorCode' => 'InvalidClusterId.NotFound', + 'errorMessage' => 'The specified clusterId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ZoneNotSupported', + 'errorMessage' => 'The specified zone does not support this instancetype.', + ], + [ + 'errorCode' => 'InvalidPayMethod', + 'errorMessage' => 'The specified pay method is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.ImageNotValid', + 'errorMessage' => 'The specified Image is disabled or is deleted.', + ], + [ + 'errorCode' => 'InvalidUserData.Base64FormatInvalid', + 'errorMessage' => 'The specified UserData is not valid.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'DependencyViolation.WindowsInstance', + 'errorMessage' => 'The instance creating is window, cannot use ssh key pair to login.', + ], + [ + 'errorCode' => 'RealNameAuthenticationError', + 'errorMessage' => 'Your account has not passed the real-name authentication yet.', + ], + [ + 'errorCode' => 'InvalidNetworkType.MismatchRamRole', + 'errorMessage' => 'Ram role cannot be applied to instances of Classic network type.', + ], + [ + 'errorCode' => 'InvalidUser.PassRoleForbidden', + 'errorMessage' => 'The RAM user does not have the privilege to pass a RAM role.', + ], + [ + 'errorCode' => 'InvalidImage.NotSupported', + 'errorMessage' => 'The specified image does not support vSGX instance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.NotMatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.InvalidNetworkType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSpotInterruptionBehavior.ClassicNetworkNotSupport', + 'errorMessage' => 'The specified SpotInterruptionBehavior does not support Classic network Instance.', + ], + [ + 'errorCode' => 'InvalidSpotInterruptionBehavior.LocalDiskNotSupport', + 'errorMessage' => 'The specified SpotInterruptionBehavior does not support local disk instance.', + ], + [ + 'errorCode' => 'QuotaExceed.PostPaidDisk', + 'errorMessage' => 'Living postPaid disks quota exceeded.', + ], + [ + 'errorCode' => 'QuotaExceed.DeploymentSetInstanceQuotaFull', + 'errorMessage' => 'Instance quota in one deployment set exceeded.', + ], + [ + 'errorCode' => 'InvalidVSwitch.DefaultVSwitchNotSupport', + 'errorMessage' => 'The specified zone in vpc can\'t support create default vSwitch.', + ], + [ + 'errorCode' => 'OperationDenied.LocalDiskUnsupported', + 'errorMessage' => 'The configuration change is not allowed when the specified instance has local disks mounted.', + ], + [ + 'errorCode' => 'OperationDenied.InconsistentNetwork', + 'errorMessage' => 'The specified security group and vswitch are not in the same vpc.', + ], + [ + 'errorCode' => 'DefaultVswitch.Existed', + 'errorMessage' => 'The default vswitch for VPC already exists.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'Deletion protection is only valid for postPaid instance, not for prePaid or spot instance.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'CategoryViolation', + 'errorMessage' => 'The specified instance does not support this operation because of its disk category.', + ], + [ + 'errorCode' => 'ResourcesNotInSameZone', + 'errorMessage' => 'The specified instance and dedicated host are not in the same zone.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support byok.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in byok white list.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'SecurityRisk.3DVerification', + 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', + ], + [ + 'errorCode' => 'InvalidDisk.SystemDiskSize', + 'errorMessage' => 'The specified SystemDiskSize beyond the permitted range.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'Mayi.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'InvalidNetworkType', + 'errorMessage' => 'The network type is not support in this region.', + ], + [ + 'errorCode' => 'InvalidAccountStatus', + 'errorMessage' => 'Your account status is invalid, please contact customer service.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrivateIpAddress', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.PerformanceLevelNotMatch', + 'errorMessage' => 'The specified DataDisk.n.PerformanceLevel and DataDisk.n.Size do not match.', + ], + [ + 'errorCode' => 'InvalidStorageSetName.Malformed', + 'errorMessage' => 'Specified parameter StorageSetName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidMaxPartitionNumber.Malformed', + 'errorMessage' => 'Specified parameter MaxPartitionNumber is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetPartitionNumber', + 'errorMessage' => 'Specified parameter StorageSetPartitionNumber is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetId', + 'errorMessage' => 'Specified parameter StorageSetId is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetZoneId', + 'errorMessage' => 'Specified parameter StorageSetZoneId is not valid.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.RegionIdNotSupported', + 'errorMessage' => 'Region not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.FlavorNotSupported', + 'errorMessage' => 'Flavor not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.TimestampNotSupported', + 'errorMessage' => 'Timestamp not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.PrepayNotAvailable', + 'errorMessage' => 'Prepay instance is not available now.', + ], + [ + 'errorCode' => 'OperationDenied.PaygNotAvailable', + 'errorMessage' => 'Pay-as-you-go instance is not available now.', + ], + [ + 'errorCode' => 'EnterpriseGroupLimited.MutliGroupType', + 'errorMessage' => 'The specified instance can not join multi SecurityGroup types.', + ], + [ + 'errorCode' => 'EnterpriseGroupLimited.InstanceType', + 'errorMessage' => 'The specified instance type does not support Enterprise SecurityGroup.', + ], + [ + 'errorCode' => 'InternalError.AllocateUnderlayIp', + 'errorMessage' => 'Allocate underlay ip for the instance error.', + ], + [ + 'errorCode' => 'OperationDenied.BidOwnResource', + 'errorMessage' => 'Bid user can not own resource.', + ], + [ + 'errorCode' => 'OperationDenied.CloudSSDNotSupported', + 'errorMessage' => 'The specified available zone does not offer the cloud_ssd disk, use cloud_essd instead.', + ], + [ + 'errorCode' => 'InvalidVPCStatus.NotWorking', + 'errorMessage' => 'The specified VPC subnet status is not working.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticQuota', + 'errorMessage' => 'No additional quota is available for the specified ECS instance type.', + ], + [ + 'errorCode' => 'QuotaExceeded.PostpaidDataDiskCapacity', + 'errorMessage' => 'The quota of postpaid data disk capacity exceeds.', + ], + [ + 'errorCode' => 'InvalidImageFamily.MissingAvailableImage', + 'errorMessage' => 'There is no available image related to the specified image family.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportEncryptAlgorithm', + 'errorMessage' => 'The current region does not support creating encrypted disks with EncryptAlgorithm.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.OnlySupportEnterpriseGroup', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'InstanceDiskLimitExceeded', + 'errorMessage' => 'The amount of the disk on instance reach its limits.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportDiskCategory', + 'errorMessage' => 'The instanceType of the specified instance does not support this disk category.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.DiskCategory', + 'errorMessage' => 'The specified disk category does not support creating encrypted system disks or creating encrypted data disks from snapshots. Check the DiskCategory or Encrypted parameter, or check your account for default encryption settings.', + ], + [ + 'errorCode' => 'InvalidOperation.PublicIpAddressNoStock', + 'errorMessage' => 'The public IP address for the specified Region or ChargeType of the instance is out of stock. Please try another Region or ChargeType.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchDiskDefaultEncryption', + 'errorMessage' => 'Enabling disk default encryption prevents the creation of non-encrypted disks.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter Encrypted must be set to true when creating disks with encrypted snapshots.', + ], + ], + [ + [ + 'errorCode' => 'InvalidStorageClusterId.NotExist', + 'errorMessage' => 'The specified StorageClusterId does not exist in current region.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified instancetype is not support IoOptimized instance.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidDataDiskSnapshotId.NotFound', + 'errorMessage' => 'The specified parameter "DataDisk.n.SnapshotId" is not valid.', + ], + [ + 'errorCode' => 'InvalidClusterId.NotFound', + 'errorMessage' => 'The ClusterId provided does not exist in our records.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified Image is disabled or is deleted.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'Specified virtual switch does not exist.', + ], + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The InstanceChargeType does not exist in our records.', + ], + [ + 'errorCode' => 'DependencyViolation.IoOptimized', + 'errorMessage' => 'The specified instancetype must be IoOptimized instance.', + ], + [ + 'errorCode' => 'PaymentMethodNotFound', + 'errorMessage' => 'No payment method has been registered on the account.', + ], + [ + 'errorCode' => 'HOSTNAME_ILLEGAL', + 'errorMessage' => 'The specified parameter Hostname is not valid.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanImageSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the image size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanMinSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the min size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.MoreThanMaxSize', + 'errorMessage' => 'The specified SystemDisk.Size parameter exceeds the maximum size.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified vm bandwidth is not valid.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is invalid.', + ], + [ + 'errorCode' => 'InvalidKeyPairName.NotFound', + 'errorMessage' => 'The specified parameter KeyPairName does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRamRole.NotFound', + 'errorMessage' => 'The specified RAMRoleName does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidMarketImage.NotFound', + 'errorMessage' => 'The specified marketplace image does not exist, please change the imageId and try again.', + ], + [ + 'errorCode' => 'DeploymentSet.NotFound', + 'errorMessage' => 'The specified deployment set does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskIds.NotPortable', + 'errorMessage' => 'The specified DiskId is not portable.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request,please try again later.', + ], + ], + 429 => [ + [ + 'errorCode' => 'Throttling.Resource', + 'errorMessage' => 'The request throttle by resource operation.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'InvalidImage.OSType', + 'errorMessage' => 'The image OSType does not support this instance type.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"OrderId\\": \\"1234567890\\",\\n \\"TradePrice\\": 0.165\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n i-bp67acfmxazb4p****\\n 1234567890\\n 0.165\\n","errorExample":""}]', + 'title' => '创建实例', + 'description' => '> 本接口已停止迭代更新,建议您使用[RunInstances](~~2679677~~)接口。'."\n" + ."\n" + .''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解ECS产品的收费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)。**'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解ECS产品的收费方式和[价格](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl)。**'."\n" + ."\n" + .''."\n" + ."\n\n" + ."\n\n" + .'本接口为异步接口,当前创建实例请求发送成功后会返回实例ID,实例的创建不是立即完成的,需要调用[DescribeInstanceStatus](~~2679688~~)查看实例信息,当返回信息中的状态为`Stopped`时代表创建成功,之后您可以通过[StartInstance](~~2679679~~)启动实例。'."\n" + ."\n\n" + .'### 使用须知'."\n" + ."\n" + .''."\n" + ."\n" + .'- 请确保您的账号已通过实名认证。更多信息,请参见[账号实名认证相关文档](~~48263~~)。'."\n" + ."\n" + .''."\n" + ."\n\n" + .'- 创建实例会涉及资源计费,请确保您已了解云服务器ECS的计费方式。更多信息,请参见[计费概述](~~25398~~)。'."\n" + .' '."\n" + .'- 请确保您创建的实例总数或者全实例规格 vCPU 不会超出系统配额。更多信息,请参见[配额中心](https://quotas.console.aliyun.com/products/ecs/quotas)。'."\n" + .'- 创建专有网络VPC类型实例前,请预先在相应的阿里云地域[创建VPC](~~65430~~)。'."\n" + ."\n" + .'### 注意事项'."\n" + .'- 若实例计费方式为包年包月(`PrePaid`),在付款时默认会使用您可用的优惠券。'."\n" + .'- 实例内存为512 MiB时,不能使用除半年渠道之外的Windows Server镜像;实例内存为4 GiB以上时,不能使用32位操作系统的镜像。'."\n" + .'- 使用该接口创建的实例将不会分配公网IP地址,若公网带宽大于0,您可以调用[AllocatePublicIpAddress](~~25544~~)分配;若公网带宽为0,您需要调用[ModifyInstanceNetworkSpec](~~2679879~~)调整带宽之后再调用[AllocatePublicIpAddress](~~25544~~)分配。'."\n" + ."\n" + .'> 单个地域下,单个阿里云账号按固定带宽计费的公网带宽峰值总和存在限制,请参见[公网带宽限制](~~25412#BandwidthQuota~~)。'."\n" + ."\n" + .'### 使用建议'."\n" + .'- **产品选型**:参见[实例规格族](~~25378~~)或调用[DescribeInstanceTypes](~~25620~~)查看目标实例规格的性能数据,或者参见[选型配置](~~58291~~)了解如何选择实例规格。'."\n" + .'- **查询库存**:调用[DescribeAvailableResource](~~66186~~)查看指定地域或者可用区内的资源供给情况。'."\n" + .'- **自定义数据**:若实例满足使用[实例自定义数据](~~49121~~)的限制,您可传入UserData信息。发送API请求时,不会加密您设置的`UserData`数据,建议您不要以明文方式传入机密的信息,例如密码和私钥等。如果必须传入,建议加密后以Base64的方式编码后再传入,在实例内部解密后使用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'StartInstance' => [ + 'summary' => '本接口用于启动一台ECS实例,您可以通过指定实例ID以及按需设置 InitLocalDisk 等参数启动实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29185', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定启动的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InitLocalDisk', + 'in' => 'query', + 'schema' => [ + 'description' => '当本地盘出现故障时,可通过此参数指定启动实例时,是否将实例恢复到最初的健康状态。适用于实例规格族d1、i1或者i2等包含本地盘的实例。取值范围:'."\n" + ."\n" + .'- true:将实例恢复到最初的健康状态。'."\n" + .'>实例原有本地盘中的数据将会丢失。>'."\n" + ."\n" + .'- false:不做任何处理,维持现状。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检查此次请求。取值范围:'."\n" + ."\n" + .'- true:仅检查此次请求,不会启动实例。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。'."\n" + .'- false:发送正常请求,请求通过检查后,返回2XX的HTTP状态码并直接启动实例。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'LackResource', + 'errorMessage' => 'There\'s no enough resource on the specified capacity reservation.', + ], + [ + 'errorCode' => 'InvalidDedicatedHost.NotEnoughResource', + 'errorMessage' => 'The specified dedicated host has not enough resource due to host affinity.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => 'The specified instance does not have system disk.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.NoStock', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'DiskError', + 'errorMessage' => 'IncorrectDiskStatus.', + ], + [ + 'errorCode' => 'InstanceExpired', + 'errorMessage' => 'The postPaid instance has been expired.Please ensure your account have enough balance.', + ], + [ + 'errorCode' => 'InstanceNotReady', + 'errorMessage' => 'The specified instance is not ready for use.', + ], + [ + 'errorCode' => 'DiskInArrears', + 'errorMessage' => 'The specified operation is denied as your disk has expired.', + ], + [ + 'errorCode' => 'OperationDenied.SpotPriceLowerThanPublicPrice', + 'errorMessage' => 'The spot instance price is lower than public price.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticQuota', + 'errorMessage' => 'No additional quota is available for the specified ECS instance type.', + ], + [ + 'errorCode' => 'OperationDenied.HostRepairing', + 'errorMessage' => 'The specified operation is denied as the host of ECS instance is being repaired.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone, try other types of resources or other regions and zones.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidCapacityReservationId.NotFound', + 'errorMessage' => 'The specified capacity reservation does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InstanceNotReady', + 'errorMessage' => 'The specified instance is not ready for use.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 503 => [ + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E20xxxxxxxx\\"\\n}\\n"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n C0003E8B-B930-4F59-ADC0-0E20xxxxxxxx\\n"}]', + 'title' => '启动实例', + 'description' => '该接口为异步接口,实例的启动不是立即完成的,成功调用后,实例会先进入启动中(Starting)状态,你可以调用[DescribeInstanceStatus](~~2679688~~)查看实例状态,当返回的状态为`Running`时代表启动成功。'."\n" + ."\n" + .'### 使用须知'."\n" + .'- 被安全锁定的实例不能通过调用该接口启动。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。'."\n" + .'- ECS实例状态必须为**已停止**(`Stopped`)。'."\n" + .'- 节省停机模式下可能会因为库存不足导致启动失败。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'StartInstances' => [ + 'summary' => '本接口用于批量启动 ECS 实例,支持通过设置参数来选择不同的批量操作模式,为您提供灵活的启动方式。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29186', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会启动实例。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回`DRYRUN.SUCCESS`。'."\n" + .'> 如果参数`BatchOptimization`被设置为`SuccessFirst`,对应的`DryRun=true`的预检结果只会返回`DRYRUN.SUCCESS`。'."\n" + ."\n" + .'- false:发送正常请求,通过检查后直接启动实例。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BatchOptimization', + 'in' => 'query', + 'schema' => [ + 'description' => '设置批量操作模式。取值范围:'."\n" + ."\n" + .'- AllTogether:该模式下,如果实例全部启动成功,则返回成功信息;如果任意一个实例校验不通过,则所有实例启动失败,并返回失败信息。'."\n" + ."\n" + .'- SuccessFirst:该模式下,分别启动每个实例,返回结果包含每个实例的操作结果信息。'."\n" + ."\n" + .'默认值:AllTogether。', + 'type' => 'string', + 'required' => false, + 'example' => 'AllTogether', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'InstanceResponses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceResponse' => [ + 'description' => '由InstanceResponse组成的数组格式,返回每个实例操作的前后状态及操作结果。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '实例操作结果错误码。返回值200为成功,更多请参见下文错误码列表。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '实例操作返回错误信息。返回值success为成功,更多请参见下文错误码列表。', + 'type' => 'string', + 'example' => 'success', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'CurrentStatus' => [ + 'description' => '实例当前状态。', + 'type' => 'string', + 'example' => 'Starting', + ], + 'PreviousStatus' => [ + 'description' => '操作前实例的状态。', + 'type' => 'string', + 'example' => 'Stopped', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be added ECS tag', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service account have no right to access your KMS.', + ], + [ + 'errorCode' => 'DRYRUN.SUCCESS', + 'errorMessage' => 'This request is a dryrun request with successful result.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.NoStock', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.TooManyInstanceIds', + 'errorMessage' => 'Instance ids cannot be more than 100.', + ], + [ + 'errorCode' => 'Abs.InvalidInstanceIds.MalFormed', + 'errorMessage' => 'The specified instanceIds is not valid.', + ], + [ + 'errorCode' => 'InstanceExpired', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.SpotPriceLowerThanPublicPrice', + 'errorMessage' => 'The spot instance price is lower than public price.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InstanceNotReady', + 'errorMessage' => 'The specified instance is not ready for use.', + ], + [ + 'errorCode' => 'OperationDenied.HostRepairing', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone, try other types of resources or other regions and zones.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceIds.NotFound', + 'errorMessage' => 'The specified InstanceIds does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'InvalidOperation.Conflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request, please try again later.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceResponses\\": {\\n \\"InstanceResponse\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"CurrentStatus\\": \\"Starting\\",\\n \\"PreviousStatus\\": \\"Stopped\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n \\n \\n success\\n i-bp67acfmxazb4p****\\n Stopped\\n Starting\\n 200\\n \\n \\n success\\n i-bp67acfmxazb4p****\\n Stopped\\n Starting\\n 200\\n \\n \\n The specified InstanceId does not exist.\\n i-TestID\\n \\n \\n InvalidInstanceId.NotFound\\n \\n \\n","errorExample":""}]', + 'title' => '批量启动实例', + 'description' => '该接口为异步接口,实例的启动不是立即完成的,成功调用后,实例会先进入启动中(Starting)状态,你可以调用[DescribeInstanceStatus](~~2679688~~)查看实例状态,当返回的状态为`Running`时代表启动成功。'."\n" + ."\n" + .'### 使用须知'."\n" + .'- 被安全锁定的实例不能通过调用该接口启动。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。'."\n" + .'- ECS实例状态必须为**已停止**(`Stopped`)。'."\n" + .'- 节省停机模式下可能会因为库存不足导致启动失败。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'StopInstance' => [ + 'summary' => '本接口用于停止一台ECS实例,支持选择不同的停机方式、停机模式以及批量操作模式停止实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29192', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'ConfirmStop', + 'in' => 'query', + 'schema' => [ + 'description' => '该参数即将被弃用,为提高兼容性暂作保留。您在调用该接口时请忽略该参数。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ForceStop', + 'in' => 'query', + 'schema' => [ + 'description' => '停止实例时的是否强制关机策略。取值范围:'."\n" + ."\n" + .'- true:强制关机。相当于典型的断电操作,所有未写入存储设备的缓存数据会丢失。'."\n" + .'- false:正常关机流程。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'StoppedMode', + 'in' => 'query', + 'schema' => [ + 'description' => '停止按量付费ECS实例时,设置的停止模式。取值:'."\n" + ."\n" + .' - StopCharging:节省停机模式。开启节省停机模式后:'."\n" + .' - 计算资源(vCPU、内存、GPU)、镜像License费用、固定公网IP的固定带宽模式暂停计费。'."\n" + .' - 系统盘、数据盘、弹性公网 IP 的固定带宽模式持续计费。'."\n" + .' - 由于计算资源被回收,启动时可能因库存不足导致启动失败,请您稍后再试或更换实例规格。'."\n" + .' - 如果实例停止前绑定了弹性公网 IP 地址,重启后 IP 地址不变;否则,固定公网 IP 地址可能会变,但私网 IP 地址不会变。 '."\n" + ."\n" + .' 更多信息,请参见[节省停机模式](~~63353~~)。'."\n" + .' >'."\n" + .'如实例自身不支持节省停机模式,API侧不会进行报错拦截,优先保证实例停机。不支持节省停机的实例类型:经典网络实例、本地盘实例、包年包月实例等。'."\n" + .' >'."\n" + ."\n" + .' - KeepCharging:普通停机模式。实例停止后仍继续收费。'."\n" + ."\n" + .'默认值:如果您在ECS控制台上开启VPC内实例节省停机模式(更多信息,请参见[打开默认启用节省停机模式](~~63353#default~~)),并符合开启条件,则默认值为`StopCharging`。否则,默认值为`KeepCharging`。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeepCharging', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会停止实例。检查项包括是否填写了必选参数、请求格式、业务限制和ECS库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后直接停止实例。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Hibernate', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'hide', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1C488B66-B819-4D14-8711-C4EAAA13AC01', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnable', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'DiskError', + 'errorMessage' => 'IncorrectDiskStatus.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InstanceType.ParameterMismatch', + 'errorMessage' => 'The input parameter ConfirmStop must be true when an instance have localstorage.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotSupport', + 'errorMessage' => 'Classic network Instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'HibernationConfigured.NotEnabled', + 'errorMessage' => 'The instance hibernation configured option is not enabled.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSKeyIdNotFound', + 'errorMessage' => 'The specified KMSKeyId not found, %s.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSServiceNotOpen', + 'errorMessage' => 'KMS service is currently not open.', + ], + [ + 'errorCode' => 'OperationDenied.SystemInstanceNotSupport', + 'errorMessage' => 'The system instance does not support the %s operation because %s.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}"},{"type":"xml","example":"\\n 1C488B66-B819-4D14-8711-C4EAAA13AC01\\n","errorExample":"\\n 1C488B66-B819-4D14-8711-C4EAAA13AC01\\n"}]', + 'title' => '停止实例', + 'description' => '该接口为异步接口,实例的停止不是立即完成的,成功调用后,实例会先进入停止中(Stoping)状态,你可以调用[DescribeInstanceStatus](~~2679688~~)查看实例状态,当返回的状态为`Stopped `时代表启动成功。'."\n" + ."\n" + .'### 使用须知'."\n" + .'- 被安全锁定的实例不能通过调用该接口停止。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。'."\n" + .'- 开启VPC内实例节省停机模式后,您可以通过设置`StoppedMode=KeepCharging`开启普通停机模式,ECS实例停止后会继续计费,并为您保留ECS实例规格库存和公网IP地址。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'StopInstances' => [ + 'summary' => '本接口用于停止一台或多台 ECS 实例,支持选择不同的停机方式、停机模式以及批量操作模式停止实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29194', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否发送预检请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会停止实例。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回`DRYRUN.SUCCESS`。'."\n" + .'> 如果参数`BatchOptimization`被设置为`SuccessFirst`,对应的`DryRun=true`的预检结果只会返回`DRYRUN.SUCCESS`。'."\n" + ."\n" + .'- false:发送正常请求,通过检查后直接停止实例。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ForceStop', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制关机。取值范围:'."\n" + ."\n" + .'- true:强制关机。'."\n" + .' >强制停止等同于断电处理,可能丢失实例操作系统中未写入磁盘的数据,请谨慎选择。>'."\n" + .'- false:正常关机。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'StoppedMode', + 'in' => 'query', + 'schema' => [ + 'description' => '停止模式。取值:'."\n" + .' - StopCharging:节省停机模式。开启节省停机模式后:'."\n" + .' - 计算资源(vCPU、内存、GPU)、镜像License费用、固定公网IP的固定带宽模式暂停计费。'."\n" + .' - 系统盘、数据盘、弹性公网 IP 的固定带宽模式持续计费。'."\n" + .' - 由于计算资源被回收,启动时可能因库存不足导致启动失败,请您稍后再试或更换实例规格。'."\n" + .' - 如果实例停止前绑定了弹性公网 IP 地址,重启后 IP 地址不变;否则,固定公网 IP 地址可能会变,但私网 IP 地址不会变。 '."\n" + ."\n" + .' 更多信息,请参见[节省停机模式](~~63353~~)。'."\n" + .' >'."\n" + .'如实例自身不支持节省停机模式,API侧不会进行报错拦截,优先保证实例停机。不支持节省停机的实例类型:经典网络实例、本地盘实例、包年包月实例等。'."\n" + .' >'."\n" + ."\n" + .' - KeepCharging:普通停机模式。停止实例后保留实例的资源并继续收费,并为您保留 ECS 实例规格库存和公网 IP 地址。如果您停止实例是为了更换操作系统、重新初始化云盘、更改实例规格、修改私网 IP 等操作,建议您选择该模式,以避免启动失败。'."\n" + ."\n" + .'默认值:如果您[开启VPC内实例节省停机模式](~~63353#default~~)并符合开启条件,则默认值为`StopCharging`;否则,默认值为`KeepCharging`。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeepCharging', + ], + ], + [ + 'name' => 'BatchOptimization', + 'in' => 'query', + 'schema' => [ + 'description' => '设置批量操作模式。取值范围:'."\n" + ."\n" + .'- AllTogether:所有操作必须全部成功才能确认整个批量操作的成功。如果任何一个操作失败,整个批量操作都会被视为失败,所有已执行的操作都会被回滚,恢复到操作前的状态。'."\n" + ."\n" + .'- SuccessFirst:允许批量操作中的每个操作独立执行。如果某个操作失败,其他操作仍然可以继续执行并确认成功。这种模式下,成功的操作会被提交,失败的操作会被标记为失败,但不会影响其他操作的执行结果。'."\n" + ."\n" + .'默认值:AllTogether。', + 'type' => 'string', + 'required' => false, + 'example' => 'AllTogether', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1C488B66-B819-4D14-8711-C4EAAA13AC01', + ], + 'InstanceResponses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceResponse' => [ + 'description' => '由InstanceResponse组成的数组格式,返回每个实例操作的前后状态及操作结果。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '实例操作结果错误码。返回值为200表示操作成功。更多信息,请参见下文错误码列表。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '实例操作返回错误信息。返回值为`success`表示操作成功。更多信息,请参见下文错误码列表。', + 'type' => 'string', + 'example' => 'success', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'CurrentStatus' => [ + 'description' => '实例当前状态。', + 'type' => 'string', + 'example' => 'Stopping', + ], + 'PreviousStatus' => [ + 'description' => '实例操作前状态。', + 'type' => 'string', + 'example' => 'Running', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be added ECS tag', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service account have no right to access your KMS.', + ], + [ + 'errorCode' => 'DRYRUN.SUCCESS', + 'errorMessage' => 'This request is a dryrun request with successful result.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnable', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.TooManyInstanceIds', + 'errorMessage' => 'Instance ids cannot be more than 100.', + ], + [ + 'errorCode' => 'Abs.InvalidInstanceIds.MalFormed', + 'errorMessage' => 'The specified instanceIds is not valid.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InstanceNotReady', + 'errorMessage' => 'The specified instance is not ready for use.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSKeyIdNotFound', + 'errorMessage' => 'The specified KMSKeyId not found, %s.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSServiceNotOpen', + 'errorMessage' => 'KMS service is currently not open.', + ], + [ + 'errorCode' => 'OperationDenied.SystemInstanceNotSupport', + 'errorMessage' => 'The system instance does not support the %s operation because %s.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceIds.NotFound', + 'errorMessage' => 'The specified InstanceIds does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'InvalidOperation.Conflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request, please try again later.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\",\\n \\"InstanceResponses\\": {\\n \\"InstanceResponse\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"CurrentStatus\\": \\"Stopping\\",\\n \\"PreviousStatus\\": \\"Running\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FF53E96D-3F1A-42F0-8373-1C2B39D72D44\\n \\n \\n success\\n i-bp67acfmxazb4p****\\n Running\\n Stopping\\n 200\\n \\n \\n success\\n i-bp67acfmxazb4p****\\n Running\\n Stopping\\n 200\\n \\n \\n The specified InstanceId does not exist.\\n i-TestID\\n \\n \\n InvalidInstanceId.NotFound\\n \\n \\n","errorExample":""}]', + 'title' => '批量停止实例', + 'description' => '该接口为异步接口,实例的停止不是立即完成的,成功调用后,实例会先进入停止中(Stoping)状态,你可以调用[DescribeInstanceStatus](~~2679688~~)查看实例状态,当返回的状态为`Stopped `时代表停止成功。'."\n" + .'### 使用须知'."\n" + .'- 停止实例后实例不可用,请确认停止实例不会对您的业务造成影响。您可以调用[StartInstance](~~2679679~~)或 [StartInstances](~~2679680~~)接口启动实例。'."\n" + .'- 被安全锁定的实例不能通过调用该接口停止。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RebootInstance' => [ + 'summary' => '本接口用于重启一台ECS实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29133', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'ForceStop', + 'in' => 'query', + 'schema' => [ + 'description' => '重启ECS实例前,是否强制关机。取值范围:'."\n" + ."\n" + .'- true:强制关机。相当于典型的断电操作,所有未写入存储设备的缓存数据会丢失。'."\n" + ."\n" + .'- false:正常关机。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会重启实例。检查项包括是否填写了必选参数、请求格式、业务限制和ECS库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后直接重启实例。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'DiskError', + 'errorMessage' => 'IncorrectDiskStatus.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"F2E2C40D-AB09-45A1-B5C5-EB9F5C4E4E4A\\"\\n}"},{"type":"xml","example":"\\n F2E2C40D-AB09-45A1-B5C5-EB9F5C4E4E4A\\n","errorExample":"\\n F2E2C40D-AB09-45A1-B5C5-EB9F5C4E4E4A\\n"}]', + 'title' => '重启实例', + 'description' => '该接口为异步接口,实例的重启不是立即完成的,成功调用后,实例会先进入启动中(`Starting`)状态,你可以调用[DescribeInstanceStatus](~~2679688~~)查看实例状态,当返回的状态为`Running`时代表重启成功。'."\n" + ."\n" + .'### 使用须知'."\n" + .'- 被安全锁定的实例不能通过调用该接口重启。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。'."\n" + .'- 您只能重启状态为**运行中**(`Running`)的ECS实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RebootInstances' => [ + 'summary' => '本接口用于重启一台或多台ECS实例,支持您通过参数来选择是否强制重启和设置不同的批量操作模式。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29135', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会重启实例。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回`DRYRUN.SUCCESS`。'."\n" + .'> 如果参数`BatchOptimization`被设置为`SuccessFirst`,对应的`DryRun=true`的预检结果只会返回`DRYRUN.SUCCESS`。'."\n" + ."\n" + .'- false:发送正常请求,通过检查后直接重启实例。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ForceReboot', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制重启。取值范围:'."\n" + ."\n" + .'- true:强制重启。相当于典型的断电操作,所有未写入存储设备的缓存数据会丢失。'."\n" + ."\n" + .'- false:正常重启。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'BatchOptimization', + 'in' => 'query', + 'schema' => [ + 'description' => '设置批量操作模式。取值范围:'."\n" + ."\n" + .'- AllTogether:该模式下,如果实例全部重启成功,则返回成功信息;如果任意一个实例校验不通过,则所有实例重启失败,并返回失败信息。'."\n" + ."\n" + .'- SuccessFirst:该模式下,分别重启每个实例,返回结果包含每个实例的操作结果信息。'."\n" + ."\n" + .'默认值:AllTogether。', + 'type' => 'string', + 'required' => false, + 'example' => 'AllTogether', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'InstanceResponses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceResponse' => [ + 'description' => '由InstanceResponse组成的数组格式,返回每个实例操作的前后状态及操作结果。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '实例操作结果错误码。返回值为200表示操作成功。更多信息,请参见下文错误码列表。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '实例操作返回错误信息。返回值为Success表示操作成功。更多信息,请参见下文错误码列表。', + 'type' => 'string', + 'example' => 'success', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1g6zv0ce8oghu7****', + ], + 'CurrentStatus' => [ + 'description' => '实例当前状态。', + 'type' => 'string', + 'example' => 'Stopping', + ], + 'PreviousStatus' => [ + 'description' => '实例操作前状态。', + 'type' => 'string', + 'example' => 'Running', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be added ECS tag', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service account have no right to access your KMS.', + ], + [ + 'errorCode' => 'DRYRUN.SUCCESS', + 'errorMessage' => 'This request is a dryrun request with successful result.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.TooManyInstanceIds', + 'errorMessage' => 'Instance ids cannot be more than 100.', + ], + [ + 'errorCode' => 'Abs.InvalidInstanceIds.MalFormed', + 'errorMessage' => 'The specified instanceIds is not valid.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InstanceNotReady', + 'errorMessage' => 'The specified instance is not ready for use.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceIds.NotFound', + 'errorMessage' => 'The specified InstanceIds does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'InvalidOperation.Conflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request, please try again later.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"InstanceResponses\\": {\\n \\"InstanceResponse\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"InstanceId\\": \\"i-bp1g6zv0ce8oghu7****\\",\\n \\"CurrentStatus\\": \\"Stopping\\",\\n \\"PreviousStatus\\": \\"Running\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n FF53E96D-3F1A-42F0-8373-1C2B39D72D44\\n \\n \\n success\\n i-bp1g6zv0ce8oghu7****\\n Running\\n Stopping\\n 200\\n \\n \\n success\\n i-bp1g6zv0ce8oghu7****\\n Running\\n Stopping\\n 200\\n \\n \\n The specified InstanceId does not exist.\\n i-TestID\\n \\n \\n InvalidInstanceId.NotFound\\n \\n \\n","errorExample":""}]', + 'title' => '批量重启实例', + 'description' => '该接口为异步接口,实例的重启不是立即完成的,成功调用后,实例会先进入启动中(`Starting`)状态,你可以调用[DescribeInstanceStatus](~~2679688~~)查看实例状态,当返回的状态为`Running`时代表重启成功。'."\n" + ."\n" + .'### 使用须知'."\n" + .'- 被安全锁定的实例不能通过调用该接口重启。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。'."\n" + .'- ECS实例的状态必须为**运行中**(`Running`)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteInstance' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28872', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1g6zv0ce8oghu7****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制释放**运行中**(`Running`)的实例。'."\n" + ."\n" + .'- true:强制释放**运行中**(`Running`)的实例。'."\n" + .'- false:正常释放实例,此时实例必须处于**已停止**(`Stopped`)状态。'."\n" + ."\n" + .'默认值:false。'."\n" + .'>强制释放相当于断电,实例内存以及存储中的临时数据都会被擦除,无法恢复。>', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ForceStop', + 'in' => 'query', + 'schema' => [ + 'description' => '释放**运行中**(`Running`)的实例时的是否采取强制关机策略。仅当`Force=true`时生效。取值范围:'."\n" + ."\n" + .'- true:强制关机并释放实例。相当于典型的断电操作,实例会直接进入资源释放流程。'."\n" + .'>强制释放相当于断电,实例内存以及存储中的临时数据都会被擦除,无法恢复。>'."\n" + .'- false:在实例释放前,系统将优先执行标准关机流程,该模式会导致实例释放动作持续几分钟。用户在操作系统关机时,配置一些业务排水动作,从而减少业务系统的噪声。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + [ + 'name' => 'TerminateSubscription', + 'in' => 'query', + 'schema' => [ + 'description' => '是否释放已到期的包年包月实例。'."\n" + ."\n" + .'- true:释放。'."\n" + .'- false:不释放。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会释放实例。检查项包括是否填写了必需参数、请求格式、业务限制和 ECS 库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false(默认):发送正常请求,通过检查后直接删除实例。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.SLBConfiguring', + 'errorMessage' => 'Specified operation is denied as your instance is using by another product.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteEntry', + 'errorMessage' => 'Specified instance is used by route entry.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The input parameter InstanceId is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus.Initializing', + 'errorMessage' => 'The specified instance status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.DeletionProtection', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniLinked', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.SystemInstanceNotSupport', + 'errorMessage' => 'The system instance does not support the %s operation because %s.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"928E2273-5715-46B9-A730-238DC996A533\\"\\n}"},{"type":"xml","example":"\\n 928E2273-5715-46B9-A730-238DC996A533\\n","errorExample":"\\n 928E2273-5715-46B9-A730-238DC996A533\\n"}]', + 'title' => '删除实例', + 'summary' => '删除或者释放一台指定的ECS实例。', + 'description' => '>'."\n" + .'释放实例后,实例所使用的物理资源会被回收,相关数据全部丢失且不可恢复。'."\n" + .'>'."\n" + ."\n" + .'- 云盘的手动快照会被保留并继续计费,您可以通过[DeleteSnapshot](~~2679824~~)删除。'."\n" + .'- 实例上挂载的云盘和自动快照是否被释放取决于创建时的参数设置。释放实例之前,您可以通过[DescribeDisks](~~2679767~~)、[ModifyDiskAttribute](~~2679770~~)查询和修改相关参数设置:'."\n" + .' - `DeleteWithInstance=false`,云盘会被转换成按量付费云盘而保留下来,否则会随实例被释放。'."\n" + .' - `DeleteAutoSnapshot=false`,自动快照被保留,否则会随实例被释放。'."\n" + .'- 弹性公网IP(EIP)不会随实例被释放,您可以通过[ReleaseEipAddress](~~448702~~)释放。'."\n" + .'>被安全锁定的实例,即使云盘的`DeleteWithInstance`参数设置为`false`,释放实例时也会忽略这个属性而释放云盘。>', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteInstances' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28873', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DRYRUN.SUCCESS。'."\n" + .'- false:发送正常请求,通过检查后返回2XX HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制释放**运行中**(`Running`)的ECS实例。'."\n" + ."\n" + .'- true:强制释放**运行中**(`Running`)的实例。'."\n" + .'- false:正常释放实例,此时实例必须处于**已停止**(`Stopped`)状态。'."\n" + ."\n" + .'默认值:false。'."\n" + .'>强制释放相当于断电,实例内存以及存储中的临时数据都会被擦除,无法恢复。>', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ForceStop', + 'in' => 'query', + 'schema' => [ + 'description' => '释放**运行中**(`Running`)的实例时的是否采取强制关机策略。仅当`Force=true`时生效。取值范围:'."\n" + ."\n" + .'- true:强制关机并释放实例。相当于典型的断电操作,实例会直接进入资源释放流程。'."\n" + .'>强制释放相当于断电,实例内存以及存储中的临时数据都会被擦除,无法恢复。>'."\n" + .'- false:在实例释放前,系统将优先执行标准关机流程,该模式会导致实例释放动作持续几分钟。用户在操作系统关机时,配置一些业务排水动作,从而减少业务系统的噪声。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + [ + 'name' => 'TerminateSubscription', + 'in' => 'query', + 'schema' => [ + 'description' => '是否释放已到期的包年包月实例。'."\n" + ."\n" + .'- true:释放。'."\n" + .'- false:不释放。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1g6zv0ce8oghu7****', + ], + 'required' => true, + 'example' => 'i-bp1g6zv0ce8oghu7****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7B7813C6-57BF-41XX-B12B-F172F65A6046', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.CrossRegionNotSupport', + 'errorMessage' => 'Instances of multiple regions not support.', + ], + [ + 'errorCode' => 'DRYRUN.SUCCESS', + 'errorMessage' => 'This request is a dryrun request with successful result.', + ], + [ + 'errorCode' => 'DependencyViolation.SLBConfiguring', + 'errorMessage' => 'Specified operation is denied as your instance is using by another product.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteEntry', + 'errorMessage' => 'Specified instance is used by route entry.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter.TooManyInstanceIds', + 'errorMessage' => 'Instance ids cannot be more than 100.', + ], + [ + 'errorCode' => 'InvalidInstanceIds.ValueNotSupported', + 'errorMessage' => 'The specified instanceIds is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.DeletionProtection', + 'errorMessage' => 'The operation is not allowed due to deletion protection.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus.Initializing', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniLinked', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'OperationDenied.SystemInstanceNotSupport', + 'errorMessage' => 'The system instance does not support the %s operation because %s.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceIds.NotFound', + 'errorMessage' => 'The specified InstanceIds does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameters.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7B7813C6-57BF-41XX-B12B-F172F65A6046\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 7B7813C6-57BF-41XX-B12B-F172F65A6046\\n","errorExample":""}]', + 'title' => '批量删除实例', + 'summary' => '本接口用于批量删除或者释放按量付费实例或者到期的包年包月实例,支持通过参数设置决定云盘是否释放或转换为按量付费保留。', + 'description' => '>'."\n" + .'释放实例后,实例所使用的物理资源会被回收,相关数据全部丢失且不可恢复。'."\n" + .'>'."\n" + ."\n" + .'- 云盘的手动快照会被保留并继续计费,您可以通过[DeleteSnapshot](~~2679824~~)删除。'."\n" + .'- 实例上挂载的云盘和自动快照是否被释放取决于创建时的参数设置。释放实例之前,您可以通过[DescribeDisks](~~2679767~~)、[ModifyDiskAttribute](~~2679770~~)查询和修改相关参数设置:'."\n" + .' - `DeleteWithInstance=false`,云盘会被转换成按量付费云盘而保留下来,否则会随实例被释放。'."\n" + .' - `DeleteAutoSnapshot=false`,自动快照被保留,否则会随实例被释放。'."\n" + .'- 弹性公网IP(EIP)不会随实例被释放,您可以通过[ReleaseEipAddress](~~448702~~)释放。'."\n" + .'>被安全锁定的实例,即使云盘的`DeleteWithInstance`参数设置为`false`,释放实例时也会忽略这个属性而释放云盘。>', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceStatus' => [ + 'summary' => '本接口主要用于查询一台或多台指定ECS实例的状态信息,同时支持查询指定条件下的实例列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28956', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属可用区。您可以调用[DescribeZones](~~25610~~)查看最新的阿里云可用区列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-d', + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的集群ID。'."\n" + ."\n" + .'>该参数已废弃,不建议使用!>', + 'type' => 'string', + 'required' => false, + 'example' => 'cls-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '实例状态列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。取值范围:1~50。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID数组。数组长度:1~100。'."\n" + ."\n" + .'示例值:["i-bp1j4i2jdf3owlhe****", "i-bp1j4i2jdf3o1234****"]。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1j4i2jdf3owlhe****', + ], + 'required' => false, + 'example' => 'i-bp1j4i2jdf3owlhe****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '实例列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '实例总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '58', + ], + 'InstanceStatuses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceStatus' => [ + 'description' => '实例ID和状态(InstanceStatus)的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '实例状态。可能值: '."\n" + ."\n" + .'- Pending:创建中。'."\n" + ."\n" + .'- Running:运行中。'."\n" + ."\n" + .'- Starting:启动中。'."\n" + ."\n" + .'- Stopping:停止中。'."\n" + ."\n" + .'- Stopped:已停止。', + 'type' => 'string', + 'example' => 'Running', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1j4i2jdf3owlhe****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter.TooManyInstanceIds', + 'errorMessage' => 'Instance ids cannot be more than 100.', + ], + [ + 'errorCode' => 'Abs.InvalidInstanceIds.MalFormed', + 'errorMessage' => 'The specified instanceIds is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 58,\\n \\"InstanceStatuses\\": {\\n \\"InstanceStatus\\": [\\n {\\n \\"Status\\": \\"Running\\",\\n \\"InstanceId\\": \\"i-bp1j4i2jdf3owlhe****\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n\\"RequestId\\": \\"6EF60BEC-0242-43AF-BB20-270359FB54A7\\",\\n\\"TotalCount\\": 2,\\n\\"PageNumber\\": 1,\\n\\"PageSize\\": 10,\\n\\"InstanceStatuses\\": {\\n \\"InstanceStatus\\": [{\\n \\"InstanceId\\": \\"i-instance1\\",\\n \\"Status\\": \\"Running\\"\\n },\\n {\\n \\"InstanceId\\": \\"i-ae4r89pp\\",\\n \\"Status\\": \\"Stopped\\"\\n }]\\n }\\n}"},{"type":"xml","example":"\\n 1\\n \\n \\n Running\\n i-bp1j4i2jdf3owlhe****\\n \\n \\n 58\\n 1\\n 746C3444-9A24-4D7D-B8A8-DCBF7AC8BD66\\n","errorExample":"\\n 6EF60BEC-0242-43AF-BB20-270359FB54A7\\n 2\\n 1\\n 10\\n \\n \\n i-instance1\\n Running\\n \\n \\n i-ae4r89pp\\n Stopped\\n \\n \\n"}]', + 'title' => '查询实例的状态信息列表', + 'description' => 'ECS实例的生命周期状态请参见[实例状态表](~~25687~~)。 '."\n" + ."\n" + .'## 请求示例'."\n" + .'- 根据**指定地域**查询实例以及状态信息,入参示例:'."\n" + .'```'."\n" + .'"RegionID": "cn-hangzhou"'."\n" + .'```'."\n" + ."\n" + .'- 根据**指定地域**下的**某个可用区**查询实例以及状态信息,入参示例:'."\n" + .'```'."\n" + .'"RegionID": "cn-hangzhou",'."\n" + .'"ZoneID": "cn-hangzhou-a"'."\n" + .'```'."\n" + ."\n" + .'- 根据**指定地域**和**实例ID**查询实例对应状态信息,入参示例:'."\n" + .'```'."\n" + .'"RegionID": "cn-hangzhou",'."\n" + .'"InstancesID": ["i-bp1f7c1zqp999zvp****", "i-bp1dqjv36biueg61****"]'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstances' => [ + 'summary' => '本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28954', + 'abilityTreeNodes' => [ + 'FEATUREecsQDYV10', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有网络VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'v-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'InstanceNetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例网络类型。取值范围:'."\n" + ."\n" + .'- classic:经典网络。'."\n" + .'- vpc:专有网络VPC。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的安全组。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。取值可以由多个实例ID组成一个JSON数组,最多支持100个ID,ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["i-bp67acfmxazb4p****", "i-bp67acfmxazb4p****", … "i-bp67acfmxazb4p****"]', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的`NextToken`参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值为100。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'- 当不设置值或设置的值小于10时,默认值为10。'."\n" + .'- 当设置的值大于100时,默认值为100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'InnerIpAddresses', + 'in' => 'query', + 'schema' => [ + 'description' => '经典网络类型实例的内网IP列表。当InstanceNetworkType=classic时生效,取值可以由多个IP组成一个JSON数组,最多支持100个IP,IP之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["10.1.1.1", "10.1.2.1", … "10.1.10.1"]', + ], + ], + [ + 'name' => 'PrivateIpAddresses', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC网络类型实例的私有IP。当InstanceNetworkType=vpc时生效,取值可以由多个IP组成一个JSON数组,最多支持100个IP,IP之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["172.16.1.1", "172.16.2.1", … "172.16.10.1"]', + ], + ], + [ + 'name' => 'PublicIpAddresses', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的公网IP列表。取值可以由多个IP组成一个JSON数组,最多支持100个IP,IP之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["42.1.1.**", "42.1.2.**", … "42.1.10.**"]', + ], + ], + [ + 'name' => 'EipAddresses', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的弹性公网IP列表。当InstanceNetworkType=vpc时该参数生效,取值可以由多个IP组成一个JSON数组,最多支持100个IP,IP之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["42.1.1.**", "42.1.2.**", … "42.1.10.**"]', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的计费方式。取值范围: '."\n" + .' '."\n" + .'- PostPaid:按量付费。 '."\n" + .'- PrePaid:包年包月。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '公网带宽计费方式。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例名称,支持使用通配符*进行模糊搜索。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'm-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '实例状态。取值范围: '."\n" + ."\n" + .'- Pending:创建中。'."\n" + .'- Running:运行中。'."\n" + .'- Starting:启动中。'."\n" + .'- Stopping:停止中。'."\n" + .'- Stopped:已停止。', + 'type' => 'string', + 'required' => false, + 'example' => 'Running', + ], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => [ + 'description' => '资源被锁定的原因。取值范围:'."\n" + ."\n" + .'- financial:因欠费被锁定。'."\n" + ."\n" + .'- security:因安全原因被锁定。'."\n" + ."\n" + .'- Recycling:抢占式实例的待释放锁定状态。'."\n" + ."\n" + .'- dedicatedhostfinancial:因为专有宿主机欠费导致ECS实例被锁定。'."\n" + ."\n" + .'- refunded:因退款被锁定。', + 'type' => 'string', + 'required' => false, + 'example' => 'security', + ], + ], + [ + 'name' => 'Filter.1.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`CreationStartTime`。同时设置`Filter.1.Key`和`Filter.1.Value`可以查询在指定时间点后创建的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationStartTime', + ], + ], + [ + 'name' => 'Filter.2.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`CreationEndTime`。同时设置`Filter.2.Key`和`Filter.2.Value`可以查询在指定时间点前创建的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationEndTime', + ], + ], + [ + 'name' => 'Filter.3.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`ExpiredStartTime`。同时设置`Filter.3.Key`和`Filter.3.Value`可以查询在指定时间点后到期的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'ExpiredStartTime', + ], + ], + [ + 'name' => 'Filter.4.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`ExpiredEndTime`。同时设置`Filter.4.Key`和`Filter.4.Value`可以查询在指定时间点前到期的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'ExpiredEndTime', + ], + ], + [ + 'name' => 'Filter.1.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.1.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-05T22:40Z', + ], + ], + [ + 'name' => 'Filter.2.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.2.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-06T22:40Z', + ], + ], + [ + 'name' => 'Filter.3.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.3.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-07T22:40Z', + ], + ], + [ + 'name' => 'Filter.4.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.4.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-08T22:40Z', + ], + ], + [ + 'name' => 'DeviceAvailable', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否是I/O优化型实例。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'NeedSaleCycle', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'InstanceTypeFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的规格族。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例使用的SSH密钥对名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyPairNameTest', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的HPC集群ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'hpc-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RdmaIpAddresses', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC实例的RDMA网络IP。', + 'type' => 'string', + 'required' => false, + 'example' => '10.10.10.102', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。 '."\n" + .'- false:发送正常请求,通过检查后返回2XX HTTP状态码并直接查询资源状况。 '."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例元数据的访问通道。取值范围:'."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值:enabled。'."\n" + .'>有关实例元数据的更多信息,请参见[实例元数据概述](~~49122~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'enabled', + ], + ], + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => [ + 'description' => '访问实例元数据时是否强制使用加固模式(IMDSv2)。取值范围:'."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。设置该取值后,普通模式无法访问实例元数据。'."\n" + ."\n" + .'默认值:optional。'."\n" + .'>有关访问实例元数据模式的更多信息,请参见[实例元数据访问模式](~~150575~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'optional', + ], + ], + [ + 'name' => 'HttpPutResponseHopLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为弹性网卡指定的IPv6地址。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡的IPv6地址。N表示可以设置多个IPv6地址,N的取值范围为1~100。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:4321:180:1701:94c7:bc38:3bfa:****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '实例的标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '标签值。'."\n" + ."\n" + .'> 为提高兼容性,建议您使用另一个`Tag.N.Value`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'valueTest', + ], + 'key' => [ + 'description' => '标签键。'."\n" + ."\n" + .'> 为提高兼容性,建议您使用另一个`Tag.N.Key`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'keyTest', + ], + 'Key' => [ + 'description' => '实例的标签键。N的取值范围为1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'AdditionalAttributes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例其他属性列表。', + 'type' => 'array', + 'items' => [ + 'description' => '其他属性值。N的取值范围为1~20。取值范围:'."\n" + ."\n" + .'- META_OPTIONS:实例元数据。'."\n" + .'- DDH_CLUSTER:专有宿主机集群。'."\n" + .'- NETWORK_PRIMARY_ENI_IP :主网卡辅助IP。'."\n" + .'- PRIVATE_DNS_OPTIONS:私网域名信息。'."\n" + .'- CPU_OPTIONS_TOPOLOGY_TYPE:实例的CPU拓扑类型。'."\n" + .'- CURRENT_OS_NVME_SUPPORTED:当前操作系统是否支持通过NVMe协议访问磁盘。'."\n" + .'- LOGIN_AS_NON_ROOT:实例是否配置了 ecs-user 用户登录。', + 'type' => 'string', + 'required' => false, + 'example' => 'META_OPTIONS', + ], + 'required' => false, + 'example' => 'META_OPTIONS', + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '实例列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '查询到的实例总数。'."\n" + ."\n" + .'> 使用`MaxResults`和`NextToken`参数进行分页查询时,返回的`TotalCount`参数值无意义。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Instances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => '由Instances组成的数组格式,返回实例的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceGroupId' => [ + 'description' => '实例所属的企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'Memory' => [ + 'description' => '内存大小,单位为MiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16384', + ], + 'InstanceChargeType' => [ + 'description' => '实例的计费方式。可能值:'."\n" + ."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'Cpu' => [ + 'description' => 'vCPU数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'OSName' => [ + 'description' => '实例的操作系统名称。', + 'type' => 'string', + 'example' => 'CentOS 7.4 64 位', + ], + 'InstanceNetworkType' => [ + 'description' => '实例网络类型。可能值:'."\n" + ."\n" + .'- classic:经典网络。'."\n" + .'- vpc:专有网络VPC。', + 'type' => 'string', + 'example' => 'vpc', + ], + 'InnerIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => '经典网络类型实例的内网IP地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '经典网络类型实例的内网IP地址。', + 'type' => 'string', + 'example' => '10.170.**.**', + ], + ], + ], + ], + 'ExpiredTime' => [ + 'description' => '过期时间。以ISO 8601为标准,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mmZ。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'example' => '2017-12-10T04:04Z', + ], + 'ImageId' => [ + 'description' => '实例运行的镜像ID。', + 'type' => 'string', + 'example' => 'm-bp67acfmxazb4p****', + ], + 'EipAddress' => [ + 'description' => '弹性公网IP绑定信息。', + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'description' => '弹性公网IP的公网带宽限速,单位为Mbit/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'AllocationId' => [ + 'description' => '弹性公网IP的ID。', + 'type' => 'string', + 'example' => 'eip-2ze88m67qx5z****', + ], + 'IpAddress' => [ + 'description' => '弹性公网IP。', + 'type' => 'string', + 'example' => '42.112.**.**', + ], + 'IsSupportUnassociate' => [ + 'description' => '是否可以解绑弹性公网IP。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InternetChargeType' => [ + 'description' => '弹性公网IP的计费方式。'."\n" + ."\n" + .'- PayByBandwidth:按带宽计费。'."\n" + ."\n" + .'- PayByTraffic:按流量计费。', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + ], + ], + 'ImageOptions' => [ + 'description' => '镜像相关属性信息。', + 'type' => 'object', + 'properties' => [ + 'LoginAsNonRoot' => [ + 'description' => '使用该镜像的实例是否支持使用ecs-user用户登录。可能值:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'CurrentOSNVMeSupported' => [ + 'description' => '当前操作系统是否支持通过NVMe协议访问磁盘。可能值:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + .'> 当请求参数AdditionalAttributes包含CURRENT_OS_NVME_SUPPORTED时才会返回该参数。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'VlanId' => [ + 'description' => '实例的VLAN ID。'."\n" + ."\n" + .'>该参数即将被弃用,为提高兼容性,请尽量使用其他参数。', + 'type' => 'string', + 'example' => '10', + ], + 'HostName' => [ + 'description' => '实例主机名。', + 'type' => 'string', + 'example' => 'testHostName', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '实例的标签集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '实例的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagValue' => [ + 'description' => '实例的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + ], + ], + 'Status' => [ + 'description' => '实例状态。', + 'type' => 'string', + 'example' => 'Running', + ], + 'HibernationOptions' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'Configured' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'AdditionalInfo' => [ + 'description' => '> 该参数正在邀测中,暂不支持使用。', + 'type' => 'object', + 'properties' => [ + 'EnableHighDensityMode' => [ + 'description' => '> 该参数正在邀测中,暂不支持使用。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'MetadataOptions' => [ + 'description' => '元数据选项集合。', + 'type' => 'object', + 'properties' => [ + 'HttpPutResponseHopLimit' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'HttpTokens' => [ + 'description' => '访问实例元数据时是否强制使用加固模式(IMDSv2)。可能值:'."\n" + ."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。', + 'type' => 'string', + 'example' => 'optional', + ], + 'HttpEndpoint' => [ + 'description' => '是否启用实例元数据的访问通道。可能值:'."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。', + 'type' => 'string', + 'example' => 'enabled', + ], + ], + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'StoppedMode' => [ + 'description' => '实例停机后是否继续收费。可能值:'."\n" + ."\n" + .'- KeepCharging:停机后继续收费,为您继续保留库存资源。'."\n" + .'- StopCharging:停机后不收费。停机后,我们释放实例对应的资源,例如vCPU、内存和公网IP等资源。重启是否成功依赖于当前地域中是否仍有资源库存。'."\n" + .'- Not-applicable:本实例不支持停机不收费功能。', + 'type' => 'string', + 'example' => 'KeepCharging', + ], + 'CpuOptions' => [ + 'description' => 'CPU配置详情。', + 'type' => 'object', + 'properties' => [ + 'TopologyType' => [ + 'description' => '实例的CPU拓扑类型。可能值:'."\n" + ."\n" + .'- HT离散模式:ContinuousCoreToHTMapping'."\n" + .'- HT连续模式:DiscreteCoreToHTMapping', + 'type' => 'string', + 'example' => 'DiscreteCoreToHTMapping', + ], + 'TurboMode' => [ + 'type' => 'string', + ], + 'EnableVISST' => [ + 'type' => 'boolean', + ], + 'EnableVRDT' => [ + 'type' => 'boolean', + ], + 'ThreadsPerCore' => [ + 'description' => 'CPU线程数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Numa' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'example' => 'null', + ], + 'CoreCount' => [ + 'description' => '物理CPU核心数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + ], + ], + 'StartTime' => [ + 'description' => '实例最近一次的启动时间。以ISO 8601为标准,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mmZ。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'example' => '2017-12-10T04:04Z', + ], + 'PrivateDnsNameOptions' => [ + 'description' => '实例的私网域名配置信息集合。'."\n" + ."\n\n" + .'关于私网域名解析,请参见[ECS私网域名解析'."\n" + .'](~~2844797~~)。'."\n" + ."\n" + .'> 仅当请求参数`AdditionalAttributes`取值包含`PRIVATE_DNS_OPTIONS`时,返回该参数。', + 'type' => 'object', + 'properties' => [ + 'EnableInstanceIdDnsARecord' => [ + 'description' => '开启/关闭实例ID类型的域名到 IPv4的解析。可能值:'."\n" + .' '."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'HostnameType' => [ + 'description' => '主机名类型,可能值:'."\n" + ."\n" + .'- Custom:自定义。'."\n" + .'- IpBased:基于IP格式的主机。'."\n" + .'- InstanceIdBased:基于实例ID格式的主机名。'."\n" + ."\n" + .'默认值:Custom。', + 'type' => 'string', + 'example' => 'Custom', + ], + 'EnableIpDnsPtrRecord' => [ + 'description' => '开启/关闭IPv4到IP类型的域名解析。可能值:'."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EnableIpDnsARecord' => [ + 'description' => '开启/关闭IP类型的域名到IPv4 的解析。可能值:'."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EnableInstanceIdDnsAAAARecord' => [ + 'description' => '开启/关闭实例 ID 类型的域名到 IPv6 的解析。可能值:'."\n" + .' '."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'DeletionProtection' => [ + 'description' => '实例释放保护属性,指定是否支持通过控制台或API(DeleteInstance)释放实例。'."\n" + ."\n" + .'- true:已开启实例释放保护。'."\n" + .'- false:未开启实例释放保护。'."\n" + ."\n" + .'> 该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '实例所属安全组ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + ], + ], + 'VpcAttributes' => [ + 'description' => '专有网络VPC属性。', + 'type' => 'object', + 'properties' => [ + 'PrivateIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => '私有IP地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '私有IP地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + ], + ], + ], + 'VpcId' => [ + 'description' => '专有网络VPC ID。', + 'type' => 'string', + 'example' => 'vpc-2zeuphj08tt7q3brd****', + ], + 'VSwitchId' => [ + 'description' => '虚拟交换机ID。', + 'type' => 'string', + 'example' => 'vsw-2zeh0r1pabwtg6wcs****', + ], + 'NatIpAddress' => [ + 'description' => '云产品的IP,用于VPC云产品之间的网络互通。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + ], + ], + 'InternetChargeType' => [ + 'description' => '网络计费类型。可能值:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'DeploymentSetId' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'example' => 'ds-bp67acfmxazb4p****', + ], + 'InstanceName' => [ + 'description' => '实例名称。', + 'type' => 'string', + 'example' => 'InstanceNameTest', + ], + 'SpotInterruptionBehavior' => [ + 'description' => '平台发起抢占式实例中断时,抢占式实例的中断模式。可能值:'."\n" + ."\n" + .'- Terminate:释放。'."\n" + ."\n" + .'- Stop:节省停机。', + 'type' => 'string', + 'example' => 'Terminate', + ], + 'InternetMaxBandwidthOut' => [ + 'description' => '公网出带宽最大值,单位:Mbit/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'SerialNumber' => [ + 'description' => '实例序列号。', + 'type' => 'string', + 'example' => '51d1353b-22bf-4567-a176-8b3e12e4****', + ], + 'OSType' => [ + 'description' => '实例的操作系统类型,分为Windows Server和Linux两种。可能值:'."\n" + ."\n" + .'- windows。'."\n" + .'- linux。', + 'type' => 'string', + 'example' => 'linux', + ], + 'CreationTime' => [ + 'description' => '实例创建时间。以ISO 8601为标准,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mmZ。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'example' => '2017-12-10T04:04Z', + ], + 'AutoReleaseTime' => [ + 'description' => '按量付费实例的自动释放时间。', + 'type' => 'string', + 'example' => '2017-12-10T04:04Z', + ], + 'Description' => [ + 'description' => '实例描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'EnableNVS' => [ + 'type' => 'boolean', + ], + 'LocalStorageCapacity' => [ + 'description' => '实例挂载的本地存储容量。单位:GiB。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + ], + 'InstanceTypeFamily' => [ + 'description' => '实例规格族。', + 'type' => 'string', + 'example' => 'ecs.g5', + ], + 'DedicatedInstanceAttribute' => [ + 'description' => '专有宿主机实例的属性。', + 'type' => 'object', + 'properties' => [ + 'Tenancy' => [ + 'description' => '实例的宿主机类型是否为专有宿主机。可能值:'."\n" + ."\n" + .'- default:实例的宿主机类型不是专有宿主机。'."\n" + ."\n" + .'- host:实例的宿主机类型为专有宿主机。', + 'type' => 'string', + 'example' => 'default', + ], + 'Affinity' => [ + 'description' => '专有宿主机实例是否与专有宿主机关联。可能值:'."\n" + ."\n" + .'- default:专有宿主机实例不与专有宿主机关联。停机不收费实例重启后,可能会放置在自动资源部署池中的其它专有宿主机上。'."\n" + ."\n" + .'- host:专有宿主机实例与专有宿主机关联。停机不收费实例重启后,仍放置在原专有宿主机上。', + 'type' => 'string', + 'example' => 'default', + ], + ], + ], + 'SpotDuration' => [ + 'description' => '抢占式实例的保留时长,单位为小时。可能值:'."\n" + ."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'>当SpotStrategy值为SpotWithPriceLimit或SpotAsPriceGo时返回该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LocalStorageAmount' => [ + 'description' => '实例挂载的本地存储数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'PublicIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => '实例公网IP地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例公网IP地址。', + 'type' => 'string', + 'example' => '121.40.**.**', + ], + ], + ], + ], + 'GPUSpec' => [ + 'description' => '实例规格附带的GPU类型。', + 'type' => 'string', + 'example' => 'NVIDIA V100', + ], + 'NetworkInterfaces' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterface' => [ + 'description' => '实例包含的弹性网卡集合。', + 'type' => 'array', + 'items' => [ + 'description' => '实例包含的弹性网卡集合。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '弹性网卡类型。可能值:'."\n" + .'- Primary:主网卡。'."\n" + .'- Secondary:辅助弹性网卡。', + 'type' => 'string', + 'example' => 'Primary', + ], + 'Ipv6Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Set' => [ + 'description' => '弹性网卡已分配的IPv6地址集合。仅当请求参数`AdditionalAttributes.N`取值为`NETWORK_PRIMARY_ENI_IP`时,才会返回该参数值。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Address' => [ + 'description' => '弹性网卡已分配的IPv6地址。', + 'type' => 'string', + 'example' => '2408:4321:180:1701:94c7:bc38:3bfa:***', + ], + ], + ], + ], + ], + ], + 'Ipv6PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv6前缀集合。仅当请求参数`AdditionalAttributes.N`取值为`NETWORK_PRIMARY_ENI_IP`时,才会返回该参数值。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Prefix' => [ + 'description' => '弹性网卡已分配的IPv6前缀。', + 'type' => 'string', + 'example' => '2001:1111:*:*::/80', + ], + ], + ], + ], + ], + ], + 'PrimaryIpAddress' => [ + 'description' => '弹性网卡主私有IP地址。', + 'type' => 'string', + 'example' => '172.17.**.***', + ], + 'MacAddress' => [ + 'description' => '弹性网卡的MAC地址。', + 'type' => 'string', + 'example' => '00:16:3e:32:b4:**', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡的ID。', + 'type' => 'string', + 'example' => 'eni-2zeh9atclduxvf1z****', + ], + 'Ipv4PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv4PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv4前缀集合。仅当请求参数`AdditionalAttributes.N`取值为`NETWORK_PRIMARY_ENI_IP`时,才会返回该参数值。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv4Prefix' => [ + 'description' => '弹性网卡已分配的IPv4前缀。', + 'type' => 'string', + 'example' => '192.168.*.*/28', + ], + ], + ], + ], + ], + ], + 'PrivateIpSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpSet' => [ + 'description' => 'PrivateIpSet组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrivateIpAddress' => [ + 'description' => '实例的私网IP地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'PrivateDnsName' => [ + 'description' => '实例的私网域名。'."\n" + ."\n\n" + .'> 仅当`HostnameType`取值为`IpBased`或者`InstanceIdBased`时,返回固定格式的私网域名。', + 'type' => 'string', + 'example' => 'dnsTestName', + ], + 'Primary' => [ + 'description' => '是否是主私网IP地址,可能值:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'SpotPriceLimit' => [ + 'description' => '实例的每小时最高价格。支持最大3位小数,参数SpotStrategy=SpotWithPriceLimit时,该参数生效。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.98', + ], + 'SaleCycle' => [ + 'description' => '> 该参数已弃用,不再返回有意义的数据。', + 'type' => 'string', + 'example' => 'month', + ], + 'DeviceAvailable' => [ + 'description' => '实例是否可以挂载数据盘。'."\n" + ."\n" + .'- true:可以挂载数据盘。'."\n" + .'- false:不可以挂载数据盘。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'SpotStrategy' => [ + 'description' => '按量实例的竞价策略。可能值:'."\n" + ."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,最高按量付费价格的抢占式实例。', + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'OSNameEn' => [ + 'description' => '实例操作系统的英文名称。', + 'type' => 'string', + 'example' => 'CentOS 7.4 64 bit', + ], + 'KeyPairName' => [ + 'description' => '密钥对名称。', + 'type' => 'string', + 'example' => 'testKeyPairName', + ], + 'IoOptimized' => [ + 'description' => '是否为I/O优化型实例。'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ZoneId' => [ + 'description' => '实例所属可用区。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'ClusterId' => [ + 'description' => '实例所在的集群ID。'."\n" + ."\n" + .'>该参数即将被弃用,为提高兼容性,请尽量使用其他参数。', + 'type' => 'string', + 'example' => 'c-bp67acfmxazb4p****', + ], + 'HpcClusterId' => [ + 'description' => '实例所属的HPC集群ID。', + 'type' => 'string', + 'example' => 'hpc-bp67acfmxazb4p****', + ], + 'ISP' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'DeploymentSetGroupNo' => [ + 'description' => 'ECS实例绑定部署集分散部署时,实例在部署集中的分组位置。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'EcsCapacityReservationAttr' => [ + 'description' => '云服务器ECS的容量预留相关参数。', + 'type' => 'object', + 'properties' => [ + 'CapacityReservationPreference' => [ + 'description' => '容量预留偏好。', + 'type' => 'string', + 'example' => 'cr-bp67acfmxazb4p****', + ], + 'CapacityReservationId' => [ + 'description' => '容量预留ID。', + 'type' => 'string', + 'example' => 'cr-bp67acfmxazb4p****', + ], + ], + ], + 'DedicatedHostAttribute' => [ + 'description' => '由专有宿主机集群ID(DedicatedHostClusterId)、专有宿主机ID(DedicatedHostId)和名称(DedicatedHostName)组成的宿主机属性数组。', + 'type' => 'object', + 'properties' => [ + 'DedicatedHostId' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'example' => 'dh-bp67acfmxazb4p****', + ], + 'DedicatedHostName' => [ + 'description' => '专有宿主机名称。', + 'type' => 'string', + 'example' => 'testDedicatedHostName', + ], + 'DedicatedHostClusterId' => [ + 'description' => '专有宿主机集群ID。', + 'type' => 'string', + 'example' => 'dc-bp67acfmxazb4h****', + ], + ], + ], + 'GPUAmount' => [ + 'description' => '实例规格附带的GPU数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LockReason' => [ + 'description' => '实例的锁定原因。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LockReason' => [ + 'description' => '锁定类型。可能值:'."\n" + ."\n" + .'- financial:因欠费被锁定。'."\n" + .'- security:因安全原因被锁定。'."\n" + .'- Recycling:抢占式实例的待释放锁定状态。'."\n" + .'- dedicatedhostfinancial:因为专有宿主机欠费导致ECS实例被锁定。'."\n" + .'- refunded:因退款被锁定。', + 'type' => 'string', + 'example' => 'Recycling', + ], + 'LockMsg' => [ + 'description' => '实例被锁定的描述信息。', + 'type' => 'string', + 'example' => 'The specified instance is locked due to financial reason.', + ], + ], + ], + ], + ], + ], + 'RdmaIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => 'HPC实例的RDMA网络IP列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'HPC实例的RDMA网络IP。', + 'type' => 'string', + 'example' => '10.10.10.102', + ], + ], + ], + ], + 'InternetMaxBandwidthIn' => [ + 'description' => '公网入带宽最大值,单位:Mbit/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'ClockOptions' => [ + 'type' => 'object', + 'properties' => [ + 'PtpStatus' => [ + 'type' => 'string', + ], + ], + ], + 'Recyclable' => [ + 'description' => '实例是否可以回收。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'RegionId' => [ + 'description' => '实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'CreditSpecification' => [ + 'description' => '突发性能实例的运行模式。可能值:'."\n" + ."\n" + .'- Standard:标准模式。有关实例性能的更多信息,请参见[什么是突发性能实例](~~59977~~)中的性能约束模式章节。'."\n" + .'- Unlimited:无性能约束模式,有关实例性能的更多信息,请参见[什么是突发性能实例](~~59977~~)中的无性能约束模式章节。', + 'type' => 'string', + 'example' => 'Standard', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.NotFound', + 'errorMessage' => 'The specified HpcClusterId is not found.', + ], + [ + 'errorCode' => 'InvalidHpcClusterId.Creating', + 'errorMessage' => 'The specified HpcClusterId is creating.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The InstanceChargeType does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => 'The specified InternetChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidLockReason.NotFound', + 'errorMessage' => 'The specified LockReason is not found.', + ], + [ + 'errorCode' => 'InvalidFilterKey.NotFound', + 'errorMessage' => 'Invalid filter.%s.', + ], + [ + 'errorCode' => 'InvalidFilterValue', + 'errorMessage' => 'Invalid filter.%s.', + ], + [ + 'errorCode' => 'InvalidNetworkType.NotFound', + 'errorMessage' => 'The specified InstanceNetworkType is not found.', + ], + [ + 'errorCode' => 'InvalidStatus.NotFound', + 'errorMessage' => 'The specified Status is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"Memory\\": 16384,\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"Cpu\\": 8,\\n \\"OSName\\": \\"CentOS 7.4 64 位\\",\\n \\"InstanceNetworkType\\": \\"vpc\\",\\n \\"InnerIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"10.170.**.**\\"\\n ]\\n },\\n \\"ExpiredTime\\": \\"2017-12-10T04:04Z\\",\\n \\"ImageId\\": \\"m-bp67acfmxazb4p****\\",\\n \\"EipAddress\\": {\\n \\"Bandwidth\\": 5,\\n \\"AllocationId\\": \\"eip-2ze88m67qx5z****\\",\\n \\"IpAddress\\": \\"42.112.**.**\\",\\n \\"IsSupportUnassociate\\": true,\\n \\"InternetChargeType\\": \\"PayByTraffic\\"\\n },\\n \\"ImageOptions\\": {\\n \\"LoginAsNonRoot\\": false,\\n \\"CurrentOSNVMeSupported\\": true\\n },\\n \\"VlanId\\": \\"10\\",\\n \\"HostName\\": \\"testHostName\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"Status\\": \\"Running\\",\\n \\"HibernationOptions\\": {\\n \\"Configured\\": false\\n },\\n \\"AdditionalInfo\\": {\\n \\"EnableHighDensityMode\\": true\\n },\\n \\"MetadataOptions\\": {\\n \\"HttpPutResponseHopLimit\\": 0,\\n \\"HttpTokens\\": \\"optional\\",\\n \\"HttpEndpoint\\": \\"enabled\\"\\n },\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"StoppedMode\\": \\"KeepCharging\\",\\n \\"CpuOptions\\": {\\n \\"TopologyType\\": \\"DiscreteCoreToHTMapping\\",\\n \\"TurboMode\\": \\"\\",\\n \\"EnableVISST\\": true,\\n \\"EnableVRDT\\": true,\\n \\"ThreadsPerCore\\": 2,\\n \\"Numa\\": \\"null\\",\\n \\"CoreCount\\": 2\\n },\\n \\"StartTime\\": \\"2017-12-10T04:04Z\\",\\n \\"PrivateDnsNameOptions\\": {\\n \\"EnableInstanceIdDnsARecord\\": false,\\n \\"HostnameType\\": \\"Custom\\",\\n \\"EnableIpDnsPtrRecord\\": true,\\n \\"EnableIpDnsARecord\\": true,\\n \\"EnableInstanceIdDnsAAAARecord\\": false\\n },\\n \\"DeletionProtection\\": false,\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp67acfmxazb4p****\\"\\n ]\\n },\\n \\"VpcAttributes\\": {\\n \\"PrivateIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"172.17.**.**\\"\\n ]\\n },\\n \\"VpcId\\": \\"vpc-2zeuphj08tt7q3brd****\\",\\n \\"VSwitchId\\": \\"vsw-2zeh0r1pabwtg6wcs****\\",\\n \\"NatIpAddress\\": \\"172.17.**.**\\"\\n },\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"DeploymentSetId\\": \\"ds-bp67acfmxazb4p****\\",\\n \\"InstanceName\\": \\"InstanceNameTest\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"InternetMaxBandwidthOut\\": 5,\\n \\"SerialNumber\\": \\"51d1353b-22bf-4567-a176-8b3e12e4****\\",\\n \\"OSType\\": \\"linux\\",\\n \\"CreationTime\\": \\"2017-12-10T04:04Z\\",\\n \\"AutoReleaseTime\\": \\"2017-12-10T04:04Z\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"EnableNVS\\": true,\\n \\"LocalStorageCapacity\\": 1000,\\n \\"InstanceTypeFamily\\": \\"ecs.g5\\",\\n \\"DedicatedInstanceAttribute\\": {\\n \\"Tenancy\\": \\"default\\",\\n \\"Affinity\\": \\"default\\"\\n },\\n \\"SpotDuration\\": 1,\\n \\"LocalStorageAmount\\": 2,\\n \\"PublicIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"121.40.**.**\\"\\n ]\\n },\\n \\"GPUSpec\\": \\"NVIDIA V100\\",\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterface\\": [\\n {\\n \\"Type\\": \\"Primary\\",\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2408:4321:180:1701:94c7:bc38:3bfa:***\\"\\n }\\n ]\\n },\\n \\"Ipv6PrefixSets\\": {\\n \\"Ipv6PrefixSet\\": [\\n {\\n \\"Ipv6Prefix\\": \\"2001:1111:*:*::/80\\"\\n }\\n ]\\n },\\n \\"PrimaryIpAddress\\": \\"172.17.**.***\\",\\n \\"MacAddress\\": \\"00:16:3e:32:b4:**\\",\\n \\"NetworkInterfaceId\\": \\"eni-2zeh9atclduxvf1z****\\",\\n \\"Ipv4PrefixSets\\": {\\n \\"Ipv4PrefixSet\\": [\\n {\\n \\"Ipv4Prefix\\": \\"192.168.*.*/28\\"\\n }\\n ]\\n },\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"172.17.**.**\\",\\n \\"PrivateDnsName\\": \\"dnsTestName\\",\\n \\"Primary\\": true\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"SpotPriceLimit\\": 0.98,\\n \\"SaleCycle\\": \\"month\\",\\n \\"DeviceAvailable\\": true,\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"OSNameEn\\": \\"CentOS 7.4 64 bit\\",\\n \\"KeyPairName\\": \\"testKeyPairName\\",\\n \\"IoOptimized\\": true,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ClusterId\\": \\"c-bp67acfmxazb4p****\\",\\n \\"HpcClusterId\\": \\"hpc-bp67acfmxazb4p****\\",\\n \\"ISP\\": \\"null\\",\\n \\"DeploymentSetGroupNo\\": 1,\\n \\"EcsCapacityReservationAttr\\": {\\n \\"CapacityReservationPreference\\": \\"cr-bp67acfmxazb4p****\\",\\n \\"CapacityReservationId\\": \\"cr-bp67acfmxazb4p****\\"\\n },\\n \\"DedicatedHostAttribute\\": {\\n \\"DedicatedHostId\\": \\"dh-bp67acfmxazb4p****\\",\\n \\"DedicatedHostName\\": \\"testDedicatedHostName\\",\\n \\"DedicatedHostClusterId\\": \\"dc-bp67acfmxazb4h****\\"\\n },\\n \\"GPUAmount\\": 4,\\n \\"OperationLocks\\": {\\n \\"LockReason\\": [\\n {\\n \\"LockReason\\": \\"Recycling\\",\\n \\"LockMsg\\": \\"The specified instance is locked due to financial reason.\\"\\n }\\n ]\\n },\\n \\"RdmaIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"10.10.10.102\\"\\n ]\\n },\\n \\"InternetMaxBandwidthIn\\": 50,\\n \\"ClockOptions\\": {\\n \\"PtpStatus\\": \\"\\"\\n },\\n \\"Recyclable\\": false,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"CreditSpecification\\": \\"Standard\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a4883\\n 10\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n \\n \\n 2017-12-10T04:04Z\\n 51d1353b-22bf-4567-a176-8b3e12e4****\\n Running\\n ds-bp67acfmxazb4p****\\n testKeyPairName\\n month\\n NoSpot\\n true\\n 1000\\n testDescription\\n 1\\n vpc\\n InstanceNameTest\\n CentOS 7.4 64 bit\\n hpc-bp67acfmxazb4p****\\n 0.98\\n 16384\\n CentOS 7.4 64 位\\n 1\\n m-bp67acfmxazb4p****\\n 10\\n c-bp67acfmxazb4p****\\n NVIDIA V100\\n 2017-12-10T04:04Z\\n false\\n KeepCharging\\n 4\\n testHostName\\n i-bp67acfmxazb4p****\\n 5\\n 50\\n ecs.g5.large\\n PostPaid\\n cn-hangzhou\\n true\\n 2017-12-10T04:04Z\\n 8\\n 2\\n 2017-12-10T04:04Z\\n rg-bp67acfmxazb4p****\\n PayByTraffic\\n cn-hangzhou-g\\n false\\n null\\n Standard\\n ecs.g5\\n linux\\n \\n \\n Primary\\n 00:16:3e:32:b4:**\\n 172.17.**.***\\n eni-2zeh9atclduxvf1z****\\n \\n \\n 172.17.**.**\\n true\\n \\n \\n \\n \\n 2408:4321:180:1701:94c7:bc38:3bfa:***\\n \\n \\n \\n \\n 192.168.*.*/28\\n \\n \\n \\n \\n 2001:1111:*:*::/80\\n \\n \\n \\n \\n The specified instance is locked due to financial reason.\\n Recycling\\n \\n \\n \\n \\n TestValue\\n TestKey\\n \\n \\n \\n 10.10.10.102\\n \\n \\n sg-bp67acfmxazb4p****\\n \\n \\n 121.40.**.**\\n \\n \\n 10.170.**.**\\n \\n \\n vpc-2zeuphj08tt7q3brd****\\n 172.17.**.**\\n vsw-2zeh0r1pabwtg6wcs****\\n \\n 172.17.**.**\\n \\n \\n \\n true\\n PayByTraffic\\n 42.112.**.**\\n 5\\n eip-2ze88m67qx5z****\\n \\n \\n false\\n \\n \\n dh-bp67acfmxazb4p****\\n testDedicatedHostName\\n dc-bp67acfmxazb4h****\\n \\n \\n cr-bp67acfmxazb4p****\\n cr-bp67acfmxazb4p****\\n \\n \\n default\\n default\\n \\n \\n 2\\n 2\\n 4\\n \\n \\n enabled\\n 0\\n optional\\n \\n \\n false\\n \\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询实例的详细信息列表', + 'description' => '### 使用须知'."\n" + .'- 通过阿里云CLI调用API时,不同数据类型的请求参数取值必须遵循格式要求。更多信息,请参见[CLI参数格式说明](~~110340~~)。'."\n" + ."\n" + .'### 使用建议'."\n" + .'- 通过请求参数DryRun发送预检请求,可以检查参数有效性和授权情况。'."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`值将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`值作为查询凭证,并设置`MaxResults`限制返回条目数。', + ], + 'DescribeInstanceTypeFamilies' => [ + 'summary' => '本接口用于查询阿里云 ECS提供的实例规格族列表。通过该接口获取不同系列的实例规格族信息,从而更好地帮助您了解可用的实例规格资源,为您选择合适的实例规格创建 ECS 实例提供参考。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28958', + 'abilityTreeNodes' => [ + 'FEATUREecsILZKWZ', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Generation', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格族的系列信息。更多信息,请参见[实例规格族](~~25378~~)。取值范围:'."\n" + ."\n" + .'- ecs-1:系列I实例规格,上线时间较早,性价比高。'."\n" + ."\n" + .'- ecs-2:系列II实例规格族,第二次软硬件升级,实例性能增强。'."\n" + ."\n" + .'- ecs-3:系列III实例规格族,实例性能优良,能承载不同业务需求。'."\n" + ."\n" + .'- ecs-4:系列IV实例规格族,包含常见的企业级实例规格(g5、c5、r5等)、弹性裸金属服务器实例规格(ebmc5s、ebmg5s、ebmr5s等)、突发性能实例规格(t5)等,具有强大的场景适应性,能承载海量热门业务需求,延迟更低。'."\n" + ."\n" + .'- ecs-5:系列V实例规格族,包含常见的企业级实例规格(g6、c6、r6等)、弹性裸金属服务器实例规格(ebmg6、ebmg6e、ebmc6等)、存储增强型实例规格(g6e)等,响应更快,性能更优越。'."\n" + ."\n" + .'- ecs-6:系列VI实例规格族,包含企业级实例规格(hfc7、hfg7、hfr7等)、弹性裸金属服务器实例规格(ebmhfg7等),该系列实例规格族正在邀测中。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs-5', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'InstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeFamily' => [ + 'description' => '由实例规格族InstanceTypeFamily组成的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格族所属代数。', + 'type' => 'object', + 'properties' => [ + 'Generation' => [ + 'description' => '实例规格族所属代数。', + 'type' => 'string', + 'example' => 'ecs-5', + ], + 'InstanceTypeFamilyId' => [ + 'description' => '实例规格族ID。', + 'type' => 'string', + 'example' => 'ecs.g6', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceTypeFamilies\\": {\\n \\"InstanceTypeFamily\\": [\\n {\\n \\"Generation\\": \\"ecs-5\\",\\n \\"InstanceTypeFamilyId\\": \\"ecs.g6\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n ecs.g6\\n ecs-5\\n \\n \\n ecs.ebmg6\\n ecs-5\\n \\n \\n ecs.ebmg6e\\n ecs-5\\n \\n \\n ecs.g6e\\n ecs-5\\n \\n \\n ecs.c6\\n ecs-5\\n \\n \\n ecs.r6\\n ecs-5\\n \\n \\n ecs.t6\\n ecs-5\\n \\n \\n ecs.hfc6\\n ecs-5\\n \\n \\n ecs.hfg6\\n ecs-5\\n \\n \\n ecs.hfr6\\n ecs-5\\n \\n \\n ecs.ebmc6\\n ecs-5\\n \\n \\n ecs.ebmr6\\n ecs-5\\n \\n \\n A66D039A-EC35-4130-B0D1-E9873C07****\\n","errorExample":""}]', + 'title' => '查询实例规格族列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceTypes' => [ + 'summary' => '本接口主要用于查询云服务器ECS提供的所有实例规格的信息列表并关联获取实例规格的详细信息,也可根据特定条件查询指定实例规格的信息,帮助您了解不同实例规格的配置和性能,以便选择适合自己业务需求的实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28959', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'InstanceTypeFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格所属的实例规格族。取值请参见[DescribeInstanceTypeFamilies](~~25621~~)。'."\n" + ."\n" + .'关于实例规格族的更多信息,请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6', + ], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定的实例规格数组。数组长度:1~10。当该参数不传值时,默认查询所有实例规格的信息。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + 'required' => false, + 'example' => 'ecs.g6.large', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'MinimumCpuCoreCount', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小vCPU内核的数目。取值范围:正整数。'."\n" + ."\n" + .'>查询到实例规格的vCPU内核数目小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MaximumCpuCoreCount', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最大vCPU内核的数目。取值范围:正整数。'."\n" + ."\n" + .'>查询到实例规格的vCPU内核数目大于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'MinimumMemorySize', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小内存。单位:GiB。'."\n" + ."\n" + .'>查询到实例规格的内存大小小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'MaximumMemorySize', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最大内存。单位:GiB。'."\n" + ."\n" + .'>查询到实例规格的内存大小大于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'MinimumGPUAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小GPU数目。取值范围:正整数。'."\n" + ."\n" + .'>查询到实例规格的GPU数目小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'MaximumGPUAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最大GPU数目。取值范围:正整数。'."\n" + ."\n" + .'>查询到实例规格的GPU数目大于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'GPUSpec', + 'in' => 'query', + 'schema' => [ + 'description' => 'GPU类型。'."\n" + .'>支持模糊匹配,如某规格的GPU类型为NVIDIA V100,输入NVIDIA也可查询到该规格信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'NVIDIA V100', + ], + ], + [ + 'name' => 'InstanceCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格分类。取值范围:'."\n" + ."\n" + .'- General-purpose: 通用型。'."\n" + .'- Compute-optimized:计算型。'."\n" + .'- Memory-optimized:内存型。'."\n" + .'- Big data:大数据型。'."\n" + .'- Local SSDs :本地SSD型。'."\n" + .'- High Clock Speed :高主频型。'."\n" + .'- Enhanced :增强型。'."\n" + .'- Shared:共享型。'."\n" + .'- Compute-optimized with GPU :GPU计算型。'."\n" + .'- Visual Compute-optimized :视觉计算型。'."\n" + .'- Heterogeneous Service :异构服务型。'."\n" + .'- Compute-optimized with FPGA :FPGA计算型。'."\n" + .'- Compute-optimized with NPU :NPU计算型。'."\n" + .'- ECS Bare Metal :弹性裸金属服务器。'."\n" + .'- Super Computing Cluster:超级计算集群。'."\n" + .'- High Performance Compute:高性能计算型。', + 'type' => 'string', + 'required' => false, + 'example' => 'Big data', + 'enum' => [ + 'General-purpose', + 'Compute-optimized', + 'Memory-optimized', + 'Big data', + 'Local SSDs', + 'High Clock Speed', + 'Enhanced', + 'Shared', + 'Compute-optimized with GPU', + 'Visual Compute-optimized', + 'Heterogeneous Service', + 'Compute-optimized with FPGA', + 'Compute-optimized with NPU', + 'ECS Bare Metal', + 'Super Computing Cluster', + 'High Performance Compute', + ], + ], + ], + [ + 'name' => 'CpuArchitecture', + 'in' => 'query', + 'schema' => [ + 'description' => 'CPU架构。取值范围:'."\n" + .'- X86。'."\n" + .'- ARM。', + 'type' => 'string', + 'required' => false, + 'example' => 'X86', + 'enum' => [ + 'X86', + 'ARM', + ], + ], + ], + [ + 'name' => 'MinimumCpuSpeedFrequency', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小主频。'."\n" + ."\n" + .'>查询到实例规格的主频小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '2.5', + ], + ], + [ + 'name' => 'MaximumCpuSpeedFrequency', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最大主频。'."\n" + ."\n" + .'>查询到实例规格的主频大于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '3.2', + ], + ], + [ + 'name' => 'MinimumCpuTurboFrequency', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小睿频。'."\n" + ."\n" + .'>查询到实例规格的睿频小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '3.2', + ], + ], + [ + 'name' => 'MaximumCpuTurboFrequency', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最大睿频。'."\n" + ."\n" + .'>查询到实例规格的睿频大于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '4.1', + ], + ], + [ + 'name' => 'PhysicalProcessorModel', + 'in' => 'query', + 'schema' => [ + 'description' => '处理器型号。'."\n" + .'>支持模糊匹配,如某规格的处理器型号为Intel Xeon(Ice Lake) Platinum 8369B,输入Intel也可查询到该规格信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', + ], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格族级别。取值范围:'."\n" + .'- EntryLevel:入门级(共享型)。'."\n" + .'- EnterpriseLevel:企业级。'."\n" + .'- CreditEntryLevel:积分入门级。', + 'type' => 'string', + 'required' => false, + 'example' => 'EntryLevel', + 'enum' => [ + 'EntryLevel', + 'EnterpriseLevel', + 'CreditEntryLevel', + ], + ], + ], + [ + 'name' => 'MinimumInstancePpsRx', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小内网入方向网络收发包能力。单位:pps。'."\n" + ."\n" + .'>查询到实例规格的内网入方向网络收发包能力小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '15', + ], + ], + [ + 'name' => 'MinimumInstancePpsTx', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小内网出方向网络收发包能力。单位:pps。'."\n" + ."\n" + .'>查询到实例规格的内网出方向网络收发包能力小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '15', + ], + ], + [ + 'name' => 'MinimumInstanceBandwidthRx', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小内网入方向带宽限制,单位:kbit/s。'."\n" + ."\n" + .'>查询到实例规格的内网入方向带宽限制小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12288', + ], + ], + [ + 'name' => 'MinimumInstanceBandwidthTx', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小内网出方向带宽限制,单位:kbit/s。'."\n" + ."\n" + .'>查询到实例规格的内网出方向带宽限制小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12288', + ], + ], + [ + 'name' => 'MinimumPrimaryEniQueueNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小主网卡默认队列数。'."\n" + ."\n" + .'>查询到实例规格的主网卡默认队列数小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + ], + [ + 'name' => 'MinimumSecondaryEniQueueNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小辅助弹性网卡默认队列数。'."\n" + ."\n" + .'>查询到实例规格的辅助弹性网卡默认队列数小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'MinimumEniQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小支持挂载的弹性网卡上限。'."\n" + ."\n" + .'>查询到实例规格的支持挂载的弹性网卡上限小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'MinimumQueuePairNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小单块弹性RDMA网卡(ERI)的QP(QueuePair)队列数上限。'."\n" + ."\n" + .'>查询到实例规格的单块弹性RDMA网卡(ERI)的QP(QueuePair)队列数上限小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + ], + [ + 'name' => 'MinimumEriQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小弹性RDMA网卡(ERI)数量。'."\n" + ."\n" + .'>查询到实例规格的弹性RDMA网卡(ERI)数量小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'MinimumEniPrivateIpAddressQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小单块弹性网卡的IPv4地址上限。'."\n" + ."\n" + .'>查询到实例规格的单块弹性网卡的IPv4地址上限小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MinimumEniIpv6AddressQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小单块弹性网卡的IPv6地址上限。'."\n" + ."\n" + .'>查询到实例规格的单块弹性网卡的IPv6地址上限小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MinimumLocalStorageAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小实例挂载的本地盘的数量。'."\n" + ."\n" + .'>查询到实例规格的实例挂载的本地盘的数量小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'MinimumLocalStorageCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '实例挂载的本地盘的单盘容量。单位:GiB', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '40', + ], + ], + [ + 'name' => 'MinimumDiskQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小支持挂载的云盘数量上限。'."\n" + ."\n" + .'>查询到实例规格的支持挂载的云盘数量上限小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'LocalStorageCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '本地盘类型。更多信息,请参见[本地盘](~~63138#section_n2w_8yc_5u1~~)。取值范围:'."\n" + ."\n" + .'- local\\_hdd\\_pro:实例规格族d1ne和d1搭载的SATA HDD本地盘。'."\n" + .'- local\\_ssd\\_pro:实例规格族i2、i2g、i1、ga1和gn5等搭载的NVMe SSD本地盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'local_ssd_pro', + 'enum' => [ + 'local_hdd_pro', + 'local_ssd_pro', + ], + ], + ], + [ + 'name' => 'NvmeSupport', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格所挂载的云盘是否支持NVMe。取值范围:'."\n" + ."\n" + .'- required:支持。表示云盘以NVMe的方式挂载。'."\n" + .'- unsupported:不支持。表示云盘不以NVMe的方式挂载。', + 'type' => 'string', + 'required' => false, + 'example' => 'required', + 'enum' => [ + 'required', + 'unsupported', + ], + ], + ], + [ + 'name' => 'MinimumBaselineCredit', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小突发性能实例t5、t6的基准vCPU计算性能(所有vCPU之和)。'."\n" + ."\n" + .'>查询到实例规格的突发性能实例t5、t6的基准vCPU计算性能(所有vCPU之和)小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12', + ], + ], + [ + 'name' => 'MinimumInitialCredit', + 'in' => 'query', + 'schema' => [ + 'description' => '查询实例规格时,期望最小突发性能实例t5、t6的初始vCPU积分值。'."\n" + ."\n" + .'>查询到实例规格的突发性能实例t5、t6的初始vCPU积分值小于设定值时,系统不会返回其实例规格的信息。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12', + ], + ], + [ + 'name' => 'InstanceTypeFamilies', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定查询的实例规格族数组。数组长度:1~10。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格族。', + 'type' => 'string', + 'required' => false, + 'example' => '["ecs.g6", "ecs.c6", … "ecs.r6"]', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'GpuSpecs', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定查询的GPU类型数组。数组长度:1~10。', + 'type' => 'array', + 'items' => [ + 'description' => '指定查询的GPU类型。', + 'type' => 'string', + 'required' => false, + 'example' => '["NVIDIA V100", "NVIDIA T4", … "NVIDIA A10"]', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'InstanceCategories', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定查询的实例规格分类数组。数组长度:1~10。', + 'type' => 'array', + 'items' => [ + 'description' => '指定查询的实例规格分类。取值范围:'."\n" + .'- General-purpose: 通用型。'."\n" + .'- Compute-optimized:计算型。'."\n" + .'- Memory-optimized:内存型。'."\n" + .'- Big data:大数据型。'."\n" + .'- Local SSDs :本地SSD型。'."\n" + .'- High Clock Speed :高主频型。'."\n" + .'- Enhanced :增强型。'."\n" + .'- Shared:共享型。'."\n" + .'- Compute-optimized with GPU :GPU计算型。'."\n" + .'- Visual Compute-optimized :视觉计算型。'."\n" + .'- Heterogeneous Service :异构服务型。'."\n" + .'- Compute-optimized with FPGA :FPGA计算型。'."\n" + .'- Compute-optimized with NPU :NPU计算型。'."\n" + .'- ECS Bare Metal :弹性裸金属服务器。'."\n" + .'- Super Computing Cluster:超级计算集群。'."\n" + .'- High Performance Compute:高性能计算型。', + 'type' => 'string', + 'required' => false, + 'example' => '["General-purpose", "Compute-optimized", … "Enhanced"]', + 'enum' => [ + 'General-purpose', + 'Compute-optimized', + 'Memory-optimized', + 'Big data', + 'Local SSDs', + 'High Clock Speed', + 'Enhanced', + 'Shared', + 'Compute-optimized with GPU', + 'Visual Compute-optimized', + 'Heterogeneous Service', + 'Compute-optimized with FPGA', + 'Compute-optimized with NPU', + 'ECS Bare Metal', + 'Super Computing Cluster', + 'High Performance Compute', + ], + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'CpuArchitectures', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定查询的CPU架构数组。数组长度:1~2。', + 'type' => 'array', + 'items' => [ + 'description' => '指定查询的CPU架构。取值范围:'."\n" + ."\n" + .'- X86。'."\n" + .'- ARM。', + 'type' => 'string', + 'required' => false, + 'example' => '["X86", "ARM"]', + 'enum' => [ + 'X86', + 'ARM', + ], + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'PhysicalProcessorModels', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定查询的处理器型号数组。数组长度:1~10。', + 'type' => 'array', + 'items' => [ + 'description' => '指定查询的处理器型号。', + 'type' => 'string', + 'required' => false, + 'example' => '["Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY"]', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'LocalStorageCategories', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定的本地盘类型数组。数组长度:1~2。', + 'type' => 'array', + 'items' => [ + 'description' => '指定查询的本地盘类型。更多信息,请参见[本地盘](~~63138#section_n2w_8yc_5u1~~)。取值范围:'."\n" + ."\n" + .'- local\\_hdd\\_pro:实例规格族d1ne和d1搭载的SATA HDD本地盘。'."\n" + .'- local\\_ssd\\_pro:实例规格族i2、i2g、i1、ga1和gn5等搭载的NVMe SSD本地盘。', + 'type' => 'string', + 'required' => false, + 'example' => '["local_hdd_pro", "local_ssd_pro"]', + 'enum' => [ + 'local_hdd_pro', + 'local_ssd_pro', + ], + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。最大值:1600'."\n" + ."\n" + .'默认值:1600', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '1600', + 'minimum' => '1', + 'example' => '10', + 'default' => '1600', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的NextToken参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'e71d8a535bd9cc11', + 'maxLength' => 50, + ], + ], + [ + 'name' => 'AdditionalAttributes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定需要返回的规格高级特性列表。', + 'type' => 'array', + 'items' => [ + 'description' => '其他属性值。N 的取值范围为 1~20。取值范围:'."\n" + ."\n" + .'- NetworkInfo.BandwidthWeighting:规格的网络/存储带宽性能权重', + 'type' => 'string', + 'required' => false, + 'example' => 'NetworkInfo.BandwidthWeighting', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '查询的实例规格信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '00827261-20B7-4562-83F2-4DF39876A45A', + ], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceType' => [ + 'description' => '实例规格集合。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格集合。', + 'type' => 'object', + 'properties' => [ + 'EniTotalQuantity' => [ + 'description' => '支持挂载的所有网卡(包括主网卡、弹性网卡、中继网卡等)上限。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'LocalStorageCategory' => [ + 'description' => '本地盘类型。更多信息,请参见[本地盘](~~63138~~)。可能值:'."\n" + ."\n" + .'- local_hdd_pro:实例规格族d1ne和d1搭载的SATA HDD本地盘。'."\n" + .'- local_ssd_pro:实例规格族i2、i2g、i1、ga1和gn5等搭载的NVMe SSD本地盘。', + 'type' => 'string', + 'example' => 'local_ssd_pro', + ], + 'PrimaryEniQueueNumber' => [ + 'description' => '主网卡默认队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'MemorySize' => [ + 'description' => '内存大小。单位:GiB。', + 'type' => 'number', + 'format' => 'float', + 'example' => '16', + ], + 'LocalStorageCapacity' => [ + 'description' => '实例挂载的本地盘的单盘容量。单位:GiB。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5000', + ], + 'InstanceFamilyLevel' => [ + 'description' => '实例规格族级别。可能值:'."\n" + ."\n" + .'- EntryLevel:入门级(共享型)。'."\n" + .'- EnterpriseLevel:企业级。'."\n" + .'- CreditEntryLevel:积分入门级。更多信息,请参见[突发性能实例](~~59977~~)。', + 'type' => 'string', + 'example' => 'EnterpriseLevel', + ], + 'InstancePpsRx' => [ + 'description' => '内网入方向网络收发包能力。单位:pps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '500000', + ], + 'EniIpv6AddressQuantity' => [ + 'description' => '单块弹性网卡的IPv6地址上限。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaximumQueueNumberPerEni' => [ + 'description' => '单块弹性网卡最大队列数。包括主网卡及辅助网卡支持的队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'InstanceTypeId' => [ + 'description' => '实例规格ID。', + 'type' => 'string', + 'example' => 'ecs.g6.large', + ], + 'InstanceBandwidthRx' => [ + 'description' => '最大内网入方向带宽限制。单位:kbit/s', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1024000', + ], + 'SecondaryEniQueueNumber' => [ + 'description' => '辅助弹性网卡默认队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'GPUSpec' => [ + 'description' => 'GPU类型。'."\n", + 'type' => 'string', + 'example' => 'NVIDIA V100', + ], + 'InstanceBandwidthTx' => [ + 'description' => '最大内网出方向带宽限制。单位:kbit/s', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1024000', + ], + 'QueuePairNumber' => [ + 'description' => '实例所有弹性RDMA网卡(ERI)的QP(QueuePair)队列数上限和实例规格有关,对于:'."\n" + .'- 企业级CPU实例:`QueuePairNumber`,即实例规格允许的所有弹性RDMA网卡的QP数量上限。'."\n" + ."\n" + .'- GPU实例:允许的所有网卡QP数上限为`QueuePairNumber * NetworkCardQuantity`。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '22', + ], + 'EriQuantity' => [ + 'description' => '弹性RDMA网卡(ERI)数量。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'GPUAmount' => [ + 'description' => 'GPU数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'TotalEniQueueQuantity' => [ + 'description' => '实例规格允许修改的弹性网卡队列数总配额。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '12', + ], + 'NvmeSupport' => [ + 'description' => '实例规格所挂载的云盘是否支持NVMe。可能值:'."\n" + .'- required:支持。表示云盘以NVMe的方式挂载。'."\n" + .'- unsupported:不支持。表示云盘不以NVMe的方式挂载。', + 'type' => 'string', + 'example' => 'unsupported', + ], + 'DiskQuantity' => [ + 'description' => '支持挂载的云盘数量上限。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '17', + ], + 'InitialCredit' => [ + 'description' => '突发性能实例t5、t6的初始vCPU积分值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '120', + ], + 'LocalStorageAmount' => [ + 'description' => '实例挂载的本地盘的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'BaselineCredit' => [ + 'description' => '突发性能实例t5、t6的基准vCPU计算性能(所有vCPU之和)。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'InstancePpsTx' => [ + 'description' => '内网出方向网络收发包能力。单位:pps。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '500000', + ], + 'EniPrivateIpAddressQuantity' => [ + 'description' => '单块弹性网卡的IPv4地址上限。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'CpuCoreCount' => [ + 'description' => 'vCPU内核数目。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'InstanceTypeFamily' => [ + 'description' => '实例规格族。', + 'type' => 'string', + 'example' => 'ecs.g6', + ], + 'EniQuantity' => [ + 'description' => '支持挂载的弹性网卡上限。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'EniTrunkSupported' => [ + 'description' => '实例规格所挂载的网卡是否支持中继。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'CpuSpeedFrequency' => [ + 'description' => 'CPU基频,单位GHz。', + 'type' => 'number', + 'format' => 'float', + 'example' => '2.7', + ], + 'CpuTurboFrequency' => [ + 'description' => 'CPU睿频,单位GHz。', + 'type' => 'number', + 'format' => 'float', + 'example' => '3.5', + ], + 'PhysicalProcessorModel' => [ + 'description' => '处理器型号。'."\n", + 'type' => 'string', + 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', + ], + 'NetworkEncryptionSupport' => [ + 'description' => '实例是否支持VPC网络流量加密,可能值:'."\n" + ."\n" + .'- true:支持VPC网络流量加密。'."\n" + .'- false:不支持VPC网络流量加密。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InstanceCategory' => [ + 'description' => '实例规格分类。可能值:'."\n" + ."\n" + .'- General-purpose: 通用型。'."\n" + .'- Compute-optimized:计算型。'."\n" + .'- Memory-optimized:内存型。'."\n" + .'- Big data:大数据型。'."\n" + .'- Local SSDs :本地SSD型。'."\n" + .'- High Clock Speed :高主频型。'."\n" + .'- Enhanced :增强型。'."\n" + .'- Shared:共享型。'."\n" + .'- Compute-optimized with GPU :GPU计算型。'."\n" + .'- Visual Compute-optimized :视觉计算型。'."\n" + .'- Heterogeneous Service :异构服务型。'."\n" + .'- Compute-optimized with FPGA :FPGA计算型。'."\n" + .'- Compute-optimized with NPU :NPU计算型。'."\n" + .'- ECS Bare Metal :弹性裸金属服务器。'."\n" + .'- Super Computing Cluster:超级计算集群。'."\n" + .'- High Performance Compute:高性能计算型。', + 'type' => 'string', + 'example' => 'Big data', + ], + 'CpuArchitecture' => [ + 'description' => 'CPU架构,可能值:'."\n" + ."\n" + .'- X86。'."\n" + .'- ARM。', + 'type' => 'string', + 'example' => 'X86', + ], + 'GPUMemorySize' => [ + 'title' => '', + 'description' => '规格对应的单块GPU显存。单位:GiB。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '32', + ], + 'NetworkCardQuantity' => [ + 'description' => '实例规格支持的物理网卡数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NetworkCards' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkCardInfo' => [ + 'description' => '物理网卡信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '物理网卡信息。', + 'type' => 'object', + 'properties' => [ + 'NetworkCardIndex' => [ + 'description' => '物理网卡索引。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + ], + 'SupportedBootModes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedBootMode' => [ + 'description' => '规格支持的启动模式。', + 'type' => 'array', + 'items' => [ + 'description' => '启动模式,可能值:'."\n" + .'- BIOS:仅支持BIOS启动模式。 '."\n" + .'- UEFI:仅支持UEFI启动模式。'."\n" + .'- BIOS,UEFI:支持BIOS和UEFI启动模式。', + 'type' => 'string', + 'example' => 'BIOS', + ], + ], + ], + ], + 'EnhancedNetwork' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'SriovSupport' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VfQueueNumberPerEni' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'RssSupport' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'CpuOptions' => [ + 'description' => 'CPU设置。', + 'type' => 'object', + 'properties' => [ + 'SupportedTopologyTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedTopologyType' => [ + 'description' => '实例规格支持的 CPU 拓扑类型数组。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格支持的 CPU 拓扑类型。可能值:'."\n" + ."\n" + .'- ContinuousCoreToHTMapping:实例的同一个 Core 的 HT 是连续的。'."\n" + .'- DiscreteCoreToHTMapping:实例的同一个 Core 的 HT 是离散的。', + 'type' => 'string', + 'example' => 'ContinuousCoreToHTMapping', + ], + ], + ], + ], + 'ThreadsPerCore' => [ + 'description' => 'CPU每个核心的线程数。'."\n" + ."\n" + .'> `CpuOptions.ThreadsPerCore=1`表示关闭CPU超线程。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Core' => [ + 'description' => 'CPU核心数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'CoreFactor' => [ + 'description' => 'CPU选项步长。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'HyperThreadingAdjustable' => [ + 'description' => '是否支持开关超线程。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'JumboFrameSupport' => [ + 'description' => '是否支持巨型帧。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Clock' => [ + 'description' => '规格支持的时钟。', + 'type' => 'object', + 'properties' => [ + 'PtpSupport' => [ + 'description' => '是否支持开启PTP,可能值:'."\n" + ."\n" + .'- supported:支持'."\n" + .'- unsupported:不支持', + 'type' => 'string', + 'example' => 'unsupported', + ], + ], + ], + 'Attributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Attribute' => [ + 'description' => '规格属性列表。', + 'type' => 'array', + 'items' => [ + 'description' => '规格属性。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '属性名。', + 'type' => 'string', + 'example' => 'VirtualIntelSpeedSelectTechnologySupport', + ], + 'Value' => [ + 'description' => '属性值。', + 'type' => 'string', + 'example' => '1', + ], + ], + ], + ], + ], + ], + 'NetworkInfo' => [ + 'description' => '网络相关信息。', + 'type' => 'object', + 'properties' => [ + 'BandwidthWeighting' => [ + 'description' => '规格支持的带宽权重', + 'type' => 'object', + 'properties' => [ + 'WeightingInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'WeightingInfo' => [ + 'description' => '带宽权重信息。需要在入参AdditionalAttributes 中指定NetworkInfo.BandwidthWeighting 时才返回该字段。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcBandwidth' => [ + 'description' => '网络基础带宽。单位:Kbit/s', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20480000', + ], + 'EbsBurstBandwidth' => [ + 'description' => '存储突发带宽,该规格不支持存储性能突发时不返回。单位:Kbit/s', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000000', + ], + 'EbsBandwidth' => [ + 'description' => '存储基础带宽。单位:Kbit/s', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000000', + ], + 'VpcBurstBandwidth' => [ + 'description' => '网络突发带宽,该规格不支持网络性能突发时不返回。单位:Kbit/s', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '25600000', + ], + 'Name' => [ + 'description' => '带宽权重名称', + 'type' => 'string', + 'example' => 'Default', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。', + 'type' => 'string', + 'example' => 'e71d8a535bd9cc11', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"00827261-20B7-4562-83F2-4DF39876A45A\\",\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n {\\n \\"EniTotalQuantity\\": 0,\\n \\"LocalStorageCategory\\": \\"local_ssd_pro\\",\\n \\"PrimaryEniQueueNumber\\": 4,\\n \\"MemorySize\\": 16,\\n \\"LocalStorageCapacity\\": 5000,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstancePpsRx\\": 500000,\\n \\"EniIpv6AddressQuantity\\": 1,\\n \\"MaximumQueueNumberPerEni\\": 4,\\n \\"InstanceTypeId\\": \\"ecs.g6.large\\",\\n \\"InstanceBandwidthRx\\": 1024000,\\n \\"SecondaryEniQueueNumber\\": 4,\\n \\"GPUSpec\\": \\"NVIDIA V100\\",\\n \\"InstanceBandwidthTx\\": 1024000,\\n \\"QueuePairNumber\\": 22,\\n \\"EriQuantity\\": 0,\\n \\"GPUAmount\\": 0,\\n \\"TotalEniQueueQuantity\\": 12,\\n \\"NvmeSupport\\": \\"unsupported\\",\\n \\"DiskQuantity\\": 17,\\n \\"InitialCredit\\": 120,\\n \\"LocalStorageAmount\\": 1,\\n \\"BaselineCredit\\": 4,\\n \\"InstancePpsTx\\": 500000,\\n \\"EniPrivateIpAddressQuantity\\": 10,\\n \\"CpuCoreCount\\": 4,\\n \\"InstanceTypeFamily\\": \\"ecs.g6\\",\\n \\"EniQuantity\\": 3,\\n \\"EniTrunkSupported\\": true,\\n \\"CpuSpeedFrequency\\": 2.7,\\n \\"CpuTurboFrequency\\": 3.5,\\n \\"PhysicalProcessorModel\\": \\"Intel Xeon(Ice Lake) Platinum 8369B\\",\\n \\"NetworkEncryptionSupport\\": true,\\n \\"InstanceCategory\\": \\"Big data\\",\\n \\"CpuArchitecture\\": \\"X86\\",\\n \\"GPUMemorySize\\": 32,\\n \\"NetworkCardQuantity\\": 1,\\n \\"NetworkCards\\": {\\n \\"NetworkCardInfo\\": [\\n {\\n \\"NetworkCardIndex\\": 1\\n }\\n ]\\n },\\n \\"SupportedBootModes\\": {\\n \\"SupportedBootMode\\": [\\n \\"BIOS\\"\\n ]\\n },\\n \\"EnhancedNetwork\\": {\\n \\"SriovSupport\\": true,\\n \\"VfQueueNumberPerEni\\": 5,\\n \\"RssSupport\\": true\\n },\\n \\"CpuOptions\\": {\\n \\"SupportedTopologyTypes\\": {\\n \\"SupportedTopologyType\\": [\\n \\"ContinuousCoreToHTMapping\\"\\n ]\\n },\\n \\"ThreadsPerCore\\": 2,\\n \\"Core\\": 2,\\n \\"CoreFactor\\": 2,\\n \\"HyperThreadingAdjustable\\": true\\n },\\n \\"JumboFrameSupport\\": true,\\n \\"Clock\\": {\\n \\"PtpSupport\\": \\"unsupported\\"\\n },\\n \\"Attributes\\": {\\n \\"Attribute\\": [\\n {\\n \\"Name\\": \\"VirtualIntelSpeedSelectTechnologySupport\\",\\n \\"Value\\": \\"1\\"\\n }\\n ]\\n },\\n \\"NetworkInfo\\": {\\n \\"BandwidthWeighting\\": {\\n \\"WeightingInfos\\": {\\n \\"WeightingInfo\\": [\\n {\\n \\"VpcBandwidth\\": 20480000,\\n \\"EbsBurstBandwidth\\": 20000000,\\n \\"EbsBandwidth\\": 10000000,\\n \\"VpcBurstBandwidth\\": 25600000,\\n \\"Name\\": \\"Default\\"\\n }\\n ]\\n }\\n }\\n }\\n }\\n ]\\n },\\n \\"NextToken\\": \\"e71d8a535bd9cc11\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 00827261-20B7-4562-83F2-4DF39876A45A\\n \\n \\n \\n 500000\\n unsupported\\n 4\\n 12\\n true\\n ecs.g6\\n 500000\\n 0\\n 1024000\\n 1024000\\n 4\\n \\n \\n ecs.g6.xlarge\\n 16\\n 4\\n 1\\n 5\\n 4\\n 3\\n 0\\n 17\\n 22\\n EnterpriseLevel\\n 10\\n 2.7\\n 3.5\\n Intel Xeon(Ice Lake) Platinum 8369B\\n 120\\n \\n \\n","errorExample":""}]', + 'title' => '查询实例规格信息列表', + 'description' => '- **分页查询**:您可以设置MaxResults参数以限制返回值中实例规格的条目数,如果只返回了部分被查询到的实例规格的条目数,则会同步返回NextToken参数值。再次调用该接口,设置上次调用该接口返回的NextToken参数值以及MaxResults参数,以实现分页查询实例规格信息。'."\n" + ."\n" + .'- 若您调用该API时未传入NextToken参数进行分页获取,默认只返回第一页(不超过100条)数据,若需要更多数据,请您传入NextToken进行分页获取或传入过滤条件来限制返回的数据范围。'."\n" + ."\n" + .'> MaxResults(每页最大条目数)参数的最大值为100,对于在2022年调用过本API的用户,MaxResults参数的最大值仍为1600,在2023年11月15日及之后,我们将对所有用户的MaxResults参数的最大值缩小到100,不再支持1600。'."\n" + ."\n" + .'- DescribeInstanceTypes仅查询实例规格的配置和性能信息。如果您需要查询具体地域下可购买的实例规格,请使用[DescribeAvailableResource](~~66186~~)。'."\n" + ."\n" + .''."\n" + .'- 如果您需要使用非售卖可见的实例规格或特别的规格需求,请[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)。'."\n" + .' '."\n" + ."\n" + .''."\n" + .'- 如果您需要使用非售卖可见的实例规格或特别的规格需求,请[提交工单](https://smartservice.console.aliyun.com/service/create-ticket-intl)。'."\n" + .'', + ], + 'DescribeInstanceAttribute' => [ + 'summary' => '本接口用于查询一台指定ECS实例的属性信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28946', + 'abilityTreeNodes' => [ + 'FEATUREecsQDYV10', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-uf6f5trc95ug8t33****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '实例状态。取值范围:'."\n" + ."\n" + .'- Pending:创建中。'."\n" + .'- Running:运行中。'."\n" + .'- Starting:启动中。'."\n" + .'- Stopping:停止中。'."\n" + .'- Stopped:已停止。', + 'type' => 'string', + 'example' => 'Running', + ], + 'SerialNumber' => [ + 'description' => '实例序列号。', + 'type' => 'string', + 'example' => '51d1353b-22bf-4567-a176-8b3e12e4****', + ], + 'CreationTime' => [ + 'description' => '实例创建时间。以ISO 8601为标准,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mmZ。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'example' => '2017-12-10T04:04Z', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'Description' => [ + 'description' => '实例描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'InstanceName' => [ + 'description' => '实例名称。', + 'type' => 'string', + 'example' => 'testInstanceName', + ], + 'InstanceNetworkType' => [ + 'description' => '实例网络类型。取值范围: '."\n" + .' '."\n" + .'- classic:经典网络。'."\n" + .'- vpc:专有网络VPC。', + 'type' => 'string', + 'example' => 'vpc', + ], + 'Memory' => [ + 'description' => '内存大小,单位为MiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16384', + ], + 'ImageId' => [ + 'description' => '实例运行的镜像ID。', + 'type' => 'string', + 'example' => 'm-bp1h46wfpjsjastc****', + ], + 'ClusterId' => [ + 'description' => '实例所在的集群ID。'."\n" + .'>该参数即将被弃用,为提高兼容性,请尽量使用其他参数。', + 'type' => 'string', + 'example' => 'cls-bp67acfmxazb4p****', + ], + 'VlanId' => [ + 'description' => '实例的VLAN ID。'."\n" + .'>该参数即将被弃用,为提高兼容性,请尽量使用其他参数。', + 'type' => 'string', + 'example' => '10', + ], + 'StoppedMode' => [ + 'description' => '实例停机后是否继续收费。可能值:'."\n" + ."\n" + .'- KeepCharging:停机后继续收费,为您继续保留库存资源。'."\n" + .'- StopCharging:停机后不收费。停机后,我们释放实例对应的资源,例如vCPU、内存和公网IP等资源。重启是否成功依赖于当前地域中是否仍有资源库存。'."\n" + .'- Not-applicable:本实例不支持停机不收费功能。', + 'type' => 'string', + 'example' => 'KeepCharging', + ], + 'HostName' => [ + 'description' => '实例主机名。', + 'type' => 'string', + 'example' => 'testHostName', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-uf6f5trc95ug8t33****', + ], + 'InstanceType' => [ + 'description' => '实例的规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'InternetMaxBandwidthIn' => [ + 'description' => '公网入带宽最大值,单位为Mbit/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'InternetMaxBandwidthOut' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'RegionId' => [ + 'description' => '实例所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'InstanceChargeType' => [ + 'description' => '实例的计费方式。可能值:'."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。', + 'type' => 'string', + 'example' => 'PrePaid', + ], + 'IoOptimized' => [ + 'description' => '是否是I/O优化型实例。可能值:'."\n" + ."\n" + .'- optimized:I/O优化。'."\n" + ."\n" + .'- none:非I/O优化。', + 'type' => 'string', + 'example' => 'optimized', + ], + 'Cpu' => [ + 'description' => 'vCPU处理器核心数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'ExpiredTime' => [ + 'description' => '过期时间。以ISO 8601为标准,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mmZ。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'example' => '2017-12-10T04:04Z', + ], + 'ZoneId' => [ + 'description' => '实例所属可用区。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'InternetChargeType' => [ + 'description' => '公网带宽计费方式。可能值:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'CreditSpecification' => [ + 'description' => '突发性能实例的运行模式。可能值:'."\n" + ."\n" + .'- Standard:标准模式。有关实例性能的更多信息,请参见[性能模式](~~59977#section-svb-w9d-dju~~)。 '."\n" + .'- Unlimited:无性能约束模式,有关实例性能的更多信息,请参见[性能模式](~~59977#section-svb-w9d-dju~~)。', + 'type' => 'string', + 'example' => 'Standard', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '实例所属安全组集合。', + 'type' => 'array', + 'items' => [ + 'description' => '实例所属安全组。', + 'type' => 'string', + 'example' => 'sg-bp1fg655nh68xyz9i****', + ], + ], + ], + ], + 'PublicIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => '实例公网IP地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例公网IP地址。', + 'type' => 'string', + 'example' => '121.40.**.**', + ], + ], + ], + ], + 'InnerIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => '经典网络类型实例的内网IP地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '经典网络类型实例的内网IP地址。', + 'type' => 'string', + 'example' => '192.168.**.**', + ], + ], + ], + ], + 'VpcAttributes' => [ + 'description' => '专有网络VPC属性。', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => '专有网络VPC ID。', + 'type' => 'string', + 'example' => 'vpc-wz9e4e9pmbcnj6ki6****', + ], + 'NatIpAddress' => [ + 'description' => '云产品的IP,用于VPC云产品之间的网络互通。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'VSwitchId' => [ + 'description' => '虚拟交换机ID。', + 'type' => 'string', + 'example' => 'vsw-uf6ixacqz8osrwnqb****', + ], + 'PrivateIpAddress' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IpAddress' => [ + 'description' => '私有IP地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '私有IP地址。', + 'type' => 'string', + 'example' => '192.168.**.**', + ], + ], + ], + ], + ], + ], + 'EipAddress' => [ + 'description' => '弹性公网IP绑定信息。', + 'type' => 'object', + 'properties' => [ + 'InternetChargeType' => [ + 'description' => '公网带宽计费方式。可能值:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'IpAddress' => [ + 'description' => '弹性公网IP。', + 'type' => 'string', + 'example' => '30.21.**.**', + ], + 'Bandwidth' => [ + 'description' => '弹性公网IP的公网带宽限速,单位为Mbit/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'AllocationId' => [ + 'description' => '弹性公网IP的ID。', + 'type' => 'string', + 'example' => 'eip-wz9uilio26dfscamm****', + ], + ], + ], + 'DedicatedHostAttribute' => [ + 'description' => '由专有宿主机集群ID(DedicatedHostClusterId)、专有宿主机ID(DedicatedHostId)和名称(DedicatedHostName)组成的宿主机属性数组。', + 'type' => 'object', + 'properties' => [ + 'DedicatedHostName' => [ + 'description' => '专有宿主机的名称。', + 'type' => 'string', + 'example' => 'ecs-autoui-create-ddh-temp', + ], + 'DedicatedHostId' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'example' => 'dh-2ze7qrzz6lvbfhr0****', + ], + ], + ], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LockReason' => [ + 'description' => '锁定原因列表。', + 'type' => 'array', + 'items' => [ + 'description' => '锁定原因。', + 'type' => 'object', + 'properties' => [ + 'LockReason' => [ + 'description' => '锁定原因。可能值:'."\n" + ."\n" + .'- financial:因欠费被锁定。'."\n" + .'- security:因安全原因被锁定。'."\n" + .'- Recycling:抢占式实例的待释放锁定状态。'."\n" + .'- dedicatedhostfinancial:因为专有宿主机欠费导致ECS实例被锁定。'."\n" + .'- refunded:因退款被锁定。', + 'type' => 'string', + 'example' => 'financial', + ], + ], + ], + ], + ], + ], + 'EnableJumboFrame' => [ + 'description' => 'ECS实例是否开启了Jumbo frame特性。 可能值:'."\n" + ."\n" + .'- true:开启。'."\n" + ."\n" + .'- false:不开启。'."\n" + ."\n" + .'更多信息,请参见[ECS实例MTU](~~200512~~)。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'EnableNetworkEncryption' => [ + 'description' => '实例是否开启VPC网络流量加密,可能值:'."\n" + ."\n" + .'- true:开启。'."\n" + .'- false:未开启。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'True', + ], + 'NetworkOptions' => [ + 'description' => '网络相关属性参数。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'EnableJumboFrame' => [ + 'description' => '实例是否开启了Jumbo frame特性。 可能值:'."\n" + ."\n" + .'- true:开启。'."\n" + ."\n" + .'- false:未开启。'."\n" + ."\n" + .'更多信息,请参见[ECS实例MTU](~~200512~~)。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'EnableNetworkEncryption' => [ + 'description' => '实例是否开启VPC网络流量加密,可能值:'."\n" + ."\n" + .'- true:开启。'."\n" + .'- false:未开启。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'False', + ], + 'BandwidthWeighting' => [ + 'description' => '带宽权重。'."\n" + ."\n" + .'不同规格支持设置的值不一样,您可以通过[DescribeInstanceTypes](~~2679699~~)查询当前实例规格支持的带宽权重值。', + 'type' => 'string', + 'enumValueTitles' => [ + 'Vpc-L1' => 'Vpc-L1', + 'Vpc-L2' => 'Vpc-L2', + 'Ebs-L1' => 'Ebs-L1', + 'Ebs-L2' => 'Ebs-L2', + 'Default' => 'Default', + ], + 'example' => 'Vpc-L1', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Running\\",\\n \\"SerialNumber\\": \\"51d1353b-22bf-4567-a176-8b3e12e4****\\",\\n \\"CreationTime\\": \\"2017-12-10T04:04Z\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"InstanceName\\": \\"testInstanceName\\",\\n \\"InstanceNetworkType\\": \\"vpc\\",\\n \\"Memory\\": 16384,\\n \\"ImageId\\": \\"m-bp1h46wfpjsjastc****\\",\\n \\"ClusterId\\": \\"cls-bp67acfmxazb4p****\\",\\n \\"VlanId\\": \\"10\\",\\n \\"StoppedMode\\": \\"KeepCharging\\",\\n \\"HostName\\": \\"testHostName\\",\\n \\"InstanceId\\": \\"i-uf6f5trc95ug8t33****\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"InternetMaxBandwidthIn\\": 50,\\n \\"InternetMaxBandwidthOut\\": 5,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceChargeType\\": \\"PrePaid\\",\\n \\"IoOptimized\\": \\"optimized\\",\\n \\"Cpu\\": 8,\\n \\"ExpiredTime\\": \\"2017-12-10T04:04Z\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp1fg655nh68xyz9i****\\"\\n ]\\n },\\n \\"PublicIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"121.40.**.**\\"\\n ]\\n },\\n \\"InnerIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"192.168.**.**\\"\\n ]\\n },\\n \\"VpcAttributes\\": {\\n \\"VpcId\\": \\"vpc-wz9e4e9pmbcnj6ki6****\\",\\n \\"NatIpAddress\\": \\"172.17.**.**\\",\\n \\"VSwitchId\\": \\"vsw-uf6ixacqz8osrwnqb****\\",\\n \\"PrivateIpAddress\\": {\\n \\"IpAddress\\": [\\n \\"192.168.**.**\\"\\n ]\\n }\\n },\\n \\"EipAddress\\": {\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"IpAddress\\": \\"30.21.**.**\\",\\n \\"Bandwidth\\": 8,\\n \\"AllocationId\\": \\"eip-wz9uilio26dfscamm****\\"\\n },\\n \\"DedicatedHostAttribute\\": {\\n \\"DedicatedHostName\\": \\"ecs-autoui-create-ddh-temp\\",\\n \\"DedicatedHostId\\": \\"dh-2ze7qrzz6lvbfhr0****\\"\\n },\\n \\"OperationLocks\\": {\\n \\"LockReason\\": [\\n {\\n \\"LockReason\\": \\"financial\\"\\n }\\n ]\\n },\\n \\"EnableJumboFrame\\": false,\\n \\"EnableNetworkEncryption\\": true,\\n \\"NetworkOptions\\": {\\n \\"EnableJumboFrame\\": false,\\n \\"EnableNetworkEncryption\\": true,\\n \\"BandwidthWeighting\\": \\"Vpc-L1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n Running\\n 51d1353b-22bf-4567-a176-8b3e12e4****\\n 2017-12-10T04:04Z\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n testDescription\\n testInstanceName\\n vpc\\n 16384\\n m-bp1h46wfpjsjastc****\\n cls-bp67acfmxazb4p****\\n 10\\n KeepCharging\\n testHostName\\n i-uf6f5trc95ug8t33****\\n ecs.g5.large\\n 50\\n 5\\n cn-hangzhou\\n PrePaid\\n true\\n 8\\n 2017-12-10T04:04Z\\n cn-hangzhou-g\\n PayByTraffic\\n Standard\\n sg-bp1fg655nh68xyz9i****\\n 121.40.**.**\\n 192.168.**.**\\n \\n vpc-wz9e4e9pmbcnj6ki6****\\n 172.17.**.**\\n vsw-uf6ixacqz8osrwnqb****\\n 192.168.**.**\\n \\n \\n PayByTraffic\\n 30.21.**.**\\n 8\\n eip-wz9uilio26dfscamm****\\n \\n \\n ecs-autoui-create-ddh-temp\\n dh-2ze7qrzz6lvbfhr0****\\n \\n \\n financial\\n \\n false\\n","errorExample":""}]', + 'title' => '查询实例属性信息', + ], + 'ModifyInstanceAttribute' => [ + 'summary' => '本接口用于修改一台ECS实例的部分属性信息,支持修改密码、实例名称、主机名、所属安全组、实例的MTU以及用户自定义数据等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29069', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + 'FEATUREecs860TU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的密码。支持长度为8~30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:**()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/**'."\n" + .'。Windows实例不能以斜线号(/)为密码首字符。使用该参数时请注意:'."\n" + ."\n" + .'- 实例不能处于启动中(`Starting`)状态。'."\n" + .'- 重启实例后生效。您可以在ECS控制台重启(具体操作,请参见[重启实例](~~25440~~))或者调用[RebootInstance](~~25502~~)重启,在操作系统内部重启不能生效。'."\n" + ."\n" + .'> 如果传入`Password`参数,建议您使用HTTPS协议发送请求,避免密码泄露。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test123456&$', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => '操作系统的主机名。使用该参数时请注意:'."\n" + ."\n" + .'- 实例不能处于创建中(`Pending`)或启动中(`Starting`)的状态,否则可能出现主机名以及`/etc/hosts`配置失效等情况。您可以调用[DescribeInstances](~~25506~~)查询实例当前的状态信息。'."\n" + ."\n" + .'- 重启实例后生效。您可以在ECS控制台重启(具体操作,请参见[重启实例](~~25440~~))或者调用[RebootInstance](~~25502~~)重启,在操作系统内部重启不能生效。'."\n" + ."\n\n" + .'不同操作系统主机名存在以下限制:'."\n" + ."\n" + .'- Windows Server系统:长度为2-15个字符,允许使用大小写字母、数字或短划线(-)。不能以短划线(-)开头或结尾,不能连续使用短划线(-),也不能仅使用数字。'."\n" + ."\n" + .'- 其他类型实例(Linux等):长度为2-64个字符,允许使用半角句号(.)分隔字符成多段,每段允许使用大小写字母、数字或连字符(-),但不能连续使用半角句号(.)或短划线(-)。不能以半角句号(.)或短划线(-)开头或结尾。', + 'type' => 'string', + 'required' => false, + 'example' => 'testHostName', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testInstanceName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '实例描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testInstanceDescription', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => '实例自定义数据,建议Base64编码后传入。使用该参数时请注意:'."\n" + ."\n" + .'- 实例必须满足自定义数据使用限制。更多信息,请参见[生成实例自定义数据](~~49121~~)。'."\n" + .'- 重启实例后,实例上将展示新的自定义数据,但不会运行数据。'."\n" + ."\n" + .'> 编码前,原始数据不能超过32 KB。建议不要明文传入敏感信息,例如密码和私钥等。如果必须传入敏感信息,建议您加密后再以Base64编码传入,在实例内部以同样的方式解密。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZWNobyBoZWxsbyBlY3Mh', + ], + ], + [ + 'name' => 'Recyclable', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => [ + 'description' => '修改突发性能实例的运行模式。取值范围:'."\n" + ."\n" + .'- Standard:标准模式。'."\n" + .'- Unlimited:无性能约束模式。'."\n" + ."\n" + .'关于突发性能实例运行模式的更多信息,请参见[什么是突发性能实例](~~59977~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => '实例释放保护属性。指定是否支持通过控制台或API([DeleteInstance](~~25507~~))释放实例。'."\n" + ."\n" + .'> 该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NetworkInterfaceQueueNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '主网卡队列数。使用该参数时请注意:'."\n" + .'- 实例必须为已停止(`Stopped`)状态。'."\n" + .'- 不能超过实例规格允许的单块网卡最大队列数,实例的所有网卡累加队列数不能超过实例规格允许的队列数总配额。实例规格的单块网卡最大队列数和总配额可以通过[DescribeInstanceTypes](~~25620~~)查询。'."\n" + .'- 当取值为-1时,将重置主网卡队列数为对应实例规格的默认值。实例规格的弹性网卡默认队列数可以通过[DescribeInstanceTypes](~~25620~~)查询。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '-1', + 'example' => '8', + ], + ], + [ + 'name' => 'SecurityGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例重新加入的安全组ID数组。使用该参数时请注意:'."\n" + ."\n" + .'- 数组内的安全组ID不能重复,数组长度与实例能够加入安全组配额有关。更多信息,请参见[使用限制](~~25412#SecurityGroupQuota1~~)。'."\n" + .'- 实例会离开当前的安全组,如需保留设置,您需要在数组中添加当前的安全组ID。'."\n" + .'- 支持切换安全组类型,但设置的安全组列表中不能同时包含普通安全组和企业安全组。'."\n" + .'- 安全组必须和实例属于同一个VPC。'."\n" + .'- 不支持经典网络类型实例。'."\n" + ."\n" + .'> 修改安全组后很快会生效于对应的实例,但可能有较小的延迟。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7o****', + ], + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7o****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'RemoteConnectionOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不开放使用。', + 'type' => 'object', + 'properties' => [ + 'Password' => [ + 'description' => '>该参数正在邀测中,暂不开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + 'Type' => [ + 'description' => '>该参数正在邀测中,暂不开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnableJumboFrame', + 'in' => 'query', + 'schema' => [ + 'description' => '实例MTU是否开启Jumbo frame通信模式,取值范围:'."\n" + ."\n" + .'- true:开启。'."\n" + .'- false:不开启。'."\n" + ."\n" + .'使用该参数时请注意:'."\n" + .'- 实例必须处于运行中(`Running`)或者已停止(`Stopped`)状态。'."\n" + .'- 实例必须为虚拟专有网络(Virtual Private Cloud, VPC)下的ECS实例。'."\n" + .'- 开启Jumbo Frame特性后,实例的MTU值将变为8500,关闭后则回退为1500 。'."\n" + .'目前仅部分规格支持开启Jumbo frame。更多信息,请参见[ECS实例MTU](~~200512~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CpuOptions.Core', + 'in' => 'query', + 'schema' => [ + 'description' => 'CPU核心数。该参数不支持自定义设置,只能采用默认值。'."\n" + ."\n" + .'默认值:请参见[自定义CPU选项](~~145895~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'CpuOptions.ThreadsPerCore', + 'in' => 'query', + 'schema' => [ + 'description' => 'CPU线程数。ECS实例的vCPU数=`CpuOptions.Core`取值*`CpuOptions.ThreadsPerCore`取值。'."\n" + ."\n" + .'- `CpuOptions.ThreadsPerCore=1`表示关闭CPU超线程。'."\n" + ."\n" + .'- 仅部分实例规格支持设置CPU线程数。'."\n" + ."\n" + .'取值范围和默认值:请参见[自定义CPU选项](~~145895~~)。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'CpuOptions.TopologyType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的Cpu拓扑类型。取值范围:'."\n" + ."\n" + .'- ContinuousCoreToHTMapping:实例的Cpu拓扑中,实例的同一个Core的HT是连续的。'."\n" + .'- DiscreteCoreToHTMapping:实例的同一个Core的HT是离散的。'."\n" + ."\n" + .'默认值:无。'."\n" + ."\n" + .'使用该参数时请注意:'."\n" + .'- 实例必须为已停止(`Stopped`)状态。'."\n" + ."\n" + .'> 仅部分实例规格族支持使用本参数,具体支持实例规格族请参见[查看和修改CPU拓扑结构](~~2636059~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'DiscreteCoreToHTMapping', + ], + ], + [ + 'name' => 'PrivateDnsNameOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '实例的私网域名配置信息集合。'."\n" + ."\n\n" + .'关于私网域名解析,请参见[ECS私网域名解析'."\n" + .'](~~2844797~~)。', + 'type' => 'object', + 'properties' => [ + 'EnableInstanceIdDnsARecord' => [ + 'description' => '开启/关闭实例ID类型的域名到 IPv4的解析。可能值:'."\n" + .' '."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EnableInstanceIdDnsAAAARecord' => [ + 'description' => '开启/关闭实例 ID 类型的域名到 IPv6 的解析。可能值:'."\n" + .' '."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EnableIpDnsARecord' => [ + 'description' => '开启/关闭IP类型的域名到IPv4 的解析。可能值:'."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EnableIpDnsPtrRecord' => [ + 'description' => '开启/关闭IPv4到IP类型的域名解析。可能值:'."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'HostnameType' => [ + 'description' => '主机名类型,可能值:'."\n" + ."\n" + .'- Custom:自定义。'."\n" + .'- IpBased:基于IP格式的主机。'."\n" + .'- InstanceIdBased:基于实例ID格式的主机名。'."\n" + ."\n" + .'默认值:Custom。', + 'type' => 'string', + 'required' => false, + 'example' => 'Custom', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnableNetworkEncryption', + 'in' => 'query', + 'schema' => [ + 'description' => '开启/关闭VPC网络流量加密,可能值:'."\n" + ."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceName.Malformed', + 'errorMessage' => 'The specified parameter "InstanceName" is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidRemoteConnectionOptions.Password', + 'errorMessage' => 'The remote connection password is invalid.', + ], + [ + 'errorCode' => 'InvalidRemoteConnectionOptions.Type', + 'errorMessage' => 'The remote connection type is invalid.', + ], + [ + 'errorCode' => 'InstanceType.ValueNotSupported', + 'errorMessage' => 'The instance type not supported.', + ], + [ + 'errorCode' => 'OSType.ValueNotSupported', + 'errorMessage' => 'The OS type is not supported.', + ], + [ + 'errorCode' => 'InvalidHostPassword.Malformed', + 'errorMessage' => 'The specified parameter "Password" is not valid.', + ], + [ + 'errorCode' => 'InvalidHostName.Malformed', + 'errorMessage' => 'The specified parameter "HostName" is not valid.', + ], + [ + 'errorCode' => 'InvalidPassword.Malformed', + 'errorMessage' => 'The specified parameter "Password" is not valid.', + ], + [ + 'errorCode' => 'InvalidUserData.SizeExceeded', + 'errorMessage' => 'The specified parameter "UserData" exceeds the size.', + ], + [ + 'errorCode' => 'InvalidUserData.NotSupported', + 'errorMessage' => 'TThe specified parameter "UserData" only support the vpc and IoOptimized Instance.', + ], + [ + 'errorCode' => 'ImageNotSupportCloudInit', + 'errorMessage' => 'The specified image does not support cloud-init.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go instances do not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.RecycleBin', + 'errorMessage' => 'You do not have permission to set recyclable properties.', + ], + [ + 'errorCode' => 'InvalidParameter.CreditSpecification', + 'errorMessage' => 'The specified CreditSpecification is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.CreditSpecRestricted', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.NotRunning', + 'errorMessage' => 'The current status of the resource is invalid, you can only do this operation when instance is running.', + ], + [ + 'errorCode' => 'InvalidNetworkType.NotSupported', + 'errorMessage' => 'The classic networkType does not support to modify security group', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => '=The maximum number of eni in a enterprise security group is exceeded.', + ], + [ + 'errorCode' => 'JoinedGroupLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.NotSupportJumboFrame', + 'errorMessage' => 'Not support jumbo frame.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceStatusNotSupport', + 'errorMessage' => 'The instance status is not support modify mtu config.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceStatusUnsupported', + 'errorMessage' => 'The specified instance status does not support modification of cpu topology type.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsTopologyType', + 'errorMessage' => 'The specified parameter CpuOptions.TopologyType: %s is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportCpuOptionsTopologyType', + 'errorMessage' => 'The specified instance type does not support CpuOptions.TopologyType: %s.', + ], + [ + 'errorCode' => 'InvalidAdditionalInfoPvdConfig.SizeExceeded', + 'errorMessage' => 'The specified parameter AdditionalInfo.PvdConfig exceeds the size.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportHighDensityMode', + 'errorMessage' => 'The specified instance type does not support the use of the high density mode.', + ], + [ + 'errorCode' => 'InvalidStatus.StoppedRequired', + 'errorMessage' => 'The current state of the resource does not support this operation, it can only be operated in a stopped state.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsTurboMode', + 'errorMessage' => 'The specified parameter TurboMode is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.EnableNVSUnsupported', + 'errorMessage' => 'The specified instance type does not support EnableNVS.', + ], + [ + 'errorCode' => 'InvalidInstanceType.EnableVISSTUnsupported', + 'errorMessage' => 'The specified instance type does not support EnableVISST.', + ], + [ + 'errorCode' => 'InvalidInstanceType.EnableVRDTUnsupported', + 'errorMessage' => 'The specified instance type does not support EnableVRDT.', + ], + [ + 'errorCode' => 'InvalidInstanceType.SingleCoreMaxModeUnsupported', + 'errorMessage' => 'The specified instance type does not support TurboMode: "SINGLE CORE MAX".', + ], + [ + 'errorCode' => 'InvalidInstanceType.GpuOptionsConfidentialComputingUnsupported', + 'errorMessage' => 'The specified instance type does not support the confidential computing mode.', + ], + [ + 'errorCode' => 'InvalidParameter.GpuOptionsConfidentialComputing', + 'errorMessage' => 'The specified parameter confidential computing mode is not valid.', + ], + [ + 'errorCode' => 'InvalidParameterAuthorized.GpuOptionsConfidentialComputing', + 'errorMessage' => 'The specified parameter confidential computing mode is unauthorized.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The instance amount in the specified SecurityGroup reach its limit.', + ], + [ + 'errorCode' => 'InvalidUserData.Forbidden', + 'errorMessage' => 'User not authorized to input the parameter "UserData"please apply for permission "UserData"', + ], + [ + 'errorCode' => 'InvalidUserData.Base64FormatInvalid', + 'errorMessage' => 'The specified UserData is not valid', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'Deletion protection is only valid for postPaid instance, not for prePaid or spot instance.', + ], + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized', + ], + [ + 'errorCode' => 'EnterpriseGroupLimited.MutliGroupType', + 'errorMessage' => 'The specified instance can not join multi SecurityGroup types.', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceNotInSecurityGroup', + 'errorMessage' => 'The instance not in the group.', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidRegion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidEniQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueueNumberExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ExceedInstanceTypeQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportHighPerformanceTrafficMode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidQueuePairNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueuePairNumberExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniQueuePairNumberOverflow', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AclLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceType.CpuOptionsThreadsPerCoreUnsupported', + 'errorMessage' => 'The current instance type does not support setting or modifying the CpuOptions.ThreadsPerCore parameter.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsCore', + 'errorMessage' => 'The specified parameter CpuOptions.Core is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.CpuOptionsThreadsPerCore', + 'errorMessage' => 'The specified parameter CpuOptions.ThreadsPerCore is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.UserNotSupportNetworkEncryption', + 'errorMessage' => 'User not support network encryption.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportNetworkEncryption', + 'errorMessage' => 'The specified instance type does not support network encryption.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'Credit.NotFound', + 'errorMessage' => 'The specified credit information does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.NeedRestart', + 'errorMessage' => 'The current status of the resource is invalid, you can only do this operation after instance is restarted.', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupIdRepeated', + 'errorMessage' => 'The specified security group ids has repeated.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupType.NotSupportClassic', + 'errorMessage' => 'The specified SecurityGroupIds have classic group type.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupVpc.NotBelongToOneVpc', + 'errorMessage' => 'The specified SecurityGroupIds are belong to different vpc.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"InvalidInstanceStatus.CreditSpecRestricted\\",\\n \\"Message\\": \\"The current status of the resource does not support this operation.\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n ecs.aliyuncs.com\\n InvalidInstanceStatus.CreditSpecRestricted\\n The current status of the resource does not support this operation.\\n"}]', + 'title' => '修改实例属性信息', + 'description' => '被安全锁定的实例不支持调用该接口。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceClockOptions' => [ + 'summary' => '按需修改实例时钟选项。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '271586', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '幂等参数', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'PtpStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'PTP 状态值。取值范围:'."\n" + ."\n" + .'- enabled:打开 PTP。'."\n" + ."\n" + .'- disabled:关闭 PTP。'."\n" + ."\n" + .'默认值:disabled。', + 'type' => 'string', + 'required' => false, + 'example' => 'enabled', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- false:发送正常请求,通过检查后返回2XX的HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TaskId' => [ + 'description' => '修改任务 ID。'."\n" + ."\n" + .'您可以使用[DescribeTasks](~~25622~~)接口查询修改结果。', + 'type' => 'string', + 'example' => 't-bp1hvgwromzv32iq****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.ClientToken', + 'errorMessage' => 'The parameter ClientToken is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PtpStatus', + 'errorMessage' => 'The specified parameter PtpStatus: %s is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportEnablePtp', + 'errorMessage' => 'The specified instance type does not support enable PTP.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Abs.InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.PtpStatusAlreadyEnabled', + 'errorMessage' => 'The specified instance already has PTP enabled.', + ], + [ + 'errorCode' => 'InvalidOperation.PtpStatusAlreadyDisabled', + 'errorMessage' => 'The specified instance does not have PTP enabled.', + ], + [ + 'errorCode' => 'OperationDenied.HardwareNotSupportEnablePtp', + 'errorMessage' => 'The hardware of the instance does not support enable PTP.', + ], + [ + 'errorCode' => 'OperationDenied.ClockPtpNoStock', + 'errorMessage' => 'The resource of PTP is out of usage.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-bp1hvgwromzv32iq****\\"\\n}","type":"json"}]', + 'title' => '修改实例时钟选项', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 当前接口是异步接口。调用后返回异步任务ID。通查查询异步任务结果来判断是否执行完成。'."\n" + ."\n" + .'- 修改 PtpStatus,需要对应的规格支持设置该参数。具体支持的实例规格,可以查询实例规格列表([DescribeInstanceTypes](~~25620~~))。', + ], + 'ModifyInstanceNetworkOptions' => [ + 'summary' => '修改实例网络选项。', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + 'FEATUREecs860TU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改网络带宽权重的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'BandwidthWeighting', + 'in' => 'query', + 'schema' => [ + 'description' => '带宽权重。'."\n" + ."\n" + .'不同规格支持设置的值不一样,您可以通过[DescribeInstanceTypes](~~2679699~~)查询当前实例规格支持的带宽权重值。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'Vpc-L1' => 'Vpc-L1', + 'Vpc-L2' => 'Vpc-L2', + 'Ebs-L1' => 'Ebs-L1', + 'Ebs-L2' => 'Ebs-L2', + 'Default' => 'Default', + ], + 'example' => 'Vpc-L1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TaskId' => [ + 'description' => '修改带宽权重的任务ID。'."\n" + ."\n" + .'您可以使用[DescribeTaskAttribute](~~2679968~~)接口修改带宽权重结果。', + 'type' => 'string', + 'example' => 't-bp198jigq7l0h5ac****', + ], + ], + ], + ], + ], + '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' => 'InvalidInstanceType.NetworkOptionsBandwidthWeightingUnsupported', + 'errorMessage' => 'The current instance type does not support setting or modifying the BandwidthWeighting parameter.', + ], + [ + 'errorCode' => 'InvalidParameter.NetworkOptionsBandwidthWeighting', + 'errorMessage' => 'The specified parameter BandwidthWeighting is not valid.The correct value should be in [%s].', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-bp198jigq7l0h5ac****\\"\\n}","type":"json"}]', + 'title' => '修改实例网络选项', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 当前接口是异步接口。调用后返回异步任务ID。通查查询异步任务结果来判断是否执行完成。'."\n" + ."\n" + .'- 当前接口每次调用仅支持修改一个属性。如果修改多个属性,请分多次调用。'."\n" + ."\n" + .'- 修改BandwidthWeighting,需要对应的规格支持设置该参数。您可以通过[DescribeInstanceTypes](~~2679699~~)查询当前实例规格是否支持带宽权重及支持的带宽权重值。', + ], + 'ModifyInstanceChargeType' => [ + 'summary' => '本接口用于修改ECS实例的计费方式,支持批量修改。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29072', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。取值可以由多台实例ID组成一个JSON数组,最多支持20个ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '["i-bp67acfmxazb4p****","i-bp67acfmxazb4d****"]', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月续费时长。如果ECS实例的宿主机为专有宿主机DDH,则取值范围不能超过专有宿主机的订阅时长。取值范围:'."\n" + ."\n" + .''."\n" + .'- `PeriodUnit=Week`时,`Period`取值:1、2、3、4。'."\n" + .'- `PeriodUnit=Month`时,`Period`取值:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + .'`PeriodUnit=Month`时,`Period`取值:1、2、3、4、5、6、7、8、9、12。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长的时间单位,即参数`Period`的单位。取值范围:'."\n" + ."\n" + .''."\n" + .'- Week:周。'."\n" + .'- Month:月。'."\n" + .'- Year:年。'."\n" + .''."\n" + .'Month:月。'."\n" + ."\n" + .'默认值:Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'IncludeDataDisks', + 'in' => 'query', + 'schema' => [ + 'description' => '是否将实例挂载的所有按量付费数据盘一起转换为包年包月数据盘。'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + ."\n" + .'- false:发送正常请求,通过检查后返回2XX的HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付。取值范围:'."\n" + ."\n" + .'- true:自动支付。您需要确保账户余额充足,如果账户余额不足会生成异常订单,只能作废订单。'."\n" + ."\n" + .'- false:只生成订单不扣费。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n" + .'> 如果您的支付方式余额不足,可以将参数AutoPay设置为false,此时会生成未支付订单,您可以登录ECS管理控制台自行支付。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'true', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例需要修改的目标计费方式。取值范围:'."\n" + ."\n" + .'- PrePaid:将按量付费实例转换为包年包月实例。'."\n" + ."\n" + .'- PostPaid:将包年包月实例转换为按量付费实例。'."\n" + ."\n" + .'默认值:PrePaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + 'default' => 'PrePaid', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'IsDetailFee', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月转换为按量计费时,是否返回订单费用详情。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '订单ID。仅在付费方式修改为预付费时返回。', + 'type' => 'string', + 'example' => '20413515388****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B61C08E5-403A-46A2-96C1-F7B1216DB10C', + ], + 'FeeOfInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FeeOfInstance' => [ + 'description' => '订单费用详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'Currency' => [ + 'description' => '账单费用货币单位。'."\n" + ."\n" + .'中国站:CNY。'."\n" + ."\n" + .'国际站:USD。', + 'type' => 'string', + 'example' => 'CNY', + ], + 'Fee' => [ + 'description' => '费用数值。', + 'type' => 'string', + 'example' => '0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstance.UnpaidOrder', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, try again later.', + ], + [ + 'errorCode' => 'InstanceHasProcessingConvertOrder', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InstanceIds', + 'errorMessage' => 'The specified InstanceIds are invalid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSpotStrategy', + 'errorMessage' => 'The specified spotStrategy is not valid.', + ], + [ + 'errorCode' => 'ExpiredInstance', + 'errorMessage' => 'The specified instance has expired.', + ], + [ + 'errorCode' => 'InstancesIdQuotaExceed', + 'errorMessage' => 'The maximum number of Instances is exceeded.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ReleaseTimeHaveBeenSet', + 'errorMessage' => 'The specified instance has been set released time.', + ], + [ + 'errorCode' => 'QuotaExceed.AfterpayInstance', + 'errorMessage' => 'The maximum number of Pay-As-You-Go instances is exceeded: %s.', + ], + [ + 'errorCode' => 'InvalidParameter.Bandwidth', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.RufundVcpu', + 'errorMessage' => 'The maximum number of refund vcpu is exceeded: %s.', + ], + [ + 'errorCode' => 'InvalidPeriod.UnitMismatch', + 'errorMessage' => 'The specified Period must be correlated with the PeriodUnit.', + ], + [ + 'errorCode' => 'InvalidImageType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can\'t exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'InvalidMarketImageChargeType.NotSupport', + 'errorMessage' => 'The specified chargeType of marketImage is unsupported.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAccountStatus.PayAmountLimitExceeded', + 'errorMessage' => 'Your account is being restricted, due to no default payment method is set or you has not being authorized.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => 'The specified instance has no system disk.', + ], + [ + 'errorCode' => 'AccountForbidden.ProductCreationLimited', + 'errorMessage' => 'The commodity must be officially operated by Aliyun and in pay-as-you-go billing method.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid.', + ], + [ + 'errorCode' => 'DISK_IN_DEDICATED_BLOCK_STORAGE_CLUSTER', + 'errorMessage' => 'The disk in dedicated block storage cluster is not allowed to do this operation.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'NoPermission.Refund', + 'errorMessage' => 'The operation requires refund permission. Please apply for permission from your main account.', + ], + [ + 'errorCode' => 'QuotaExceeded.InternetBandwidth', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'DiskExpiredOrInArrears', + 'errorMessage' => 'Your account has an overdue payment for the specified instance.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstance.TempBandwidthUpgrade', + 'errorMessage' => 'Cannot switch to Pay-As-You-Go during the period of temporary bandwidth upgrade.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'InvalidParameter.NotMatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.PostPaidDisk', + 'errorMessage' => 'Living postPaid disks quota exceeded.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified instanceType is not supported by instance with marketplace image.', + ], + [ + 'errorCode' => 'InvalidInstanceType.PhasedOut', + 'errorMessage' => 'This instanceType is no longer offered.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can\'t exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'RealNameAuthenticationError', + 'errorMessage' => 'Your account has not passed the real-name authentication yet.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupport', + 'errorMessage' => 'Instance on dedicated host not support modify charge type.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticQuota', + 'errorMessage' => 'No additional quota is available for the specified ECS instance type.', + ], + [ + 'errorCode' => 'PeriodNotSupported.InstanceOnManagedPrivateSpace', + 'errorMessage' => 'The instance on ManagedPrivateSpace is not supported to modify chargeType.', + ], + [ + 'errorCode' => 'UnsupportedIspChargeType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.StoppedModeUnsupported', + 'errorMessage' => 'The specified instance is StopCharging.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [ + 'ecs:Instance:ChargeTypeChanged', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"20413515388****\\",\\n \\"RequestId\\": \\"B61C08E5-403A-46A2-96C1-F7B1216DB10C\\",\\n \\"FeeOfInstances\\": {\\n \\"FeeOfInstance\\": [\\n {\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"Currency\\": \\"CNY\\",\\n \\"Fee\\": \\"0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 20413515388****\\n B61C08E5-403A-46A2-96C1-F7B1216DB10C\\n \\n i-bp67acfmxazb4p****\\n CNY\\n 0\\n \\n","errorExample":""}]', + 'title' => '修改实例计费方式', + 'description' => '### 使用须知'."\n" + .'- 请确保在使用该接口前,您已充分了解的云服务器ECS的[包年包月](~~56220~~)、[按量付费](~~40653~~)等计费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)[价格](https://www.alibabacloud.com/product/ecs#pricing)。'."\n" + .'- 请确保目标实例的状态为**运行中**(`Running`)或者**已停止**(`Stopped`),并且账号无欠费。'."\n" + .'- 更换计费方式后,默认自动扣费。请确保账户余额充足,否则会生成异常订单,此时只能作废订单。如果您的账户余额不足,可以将参数`AutoPay`置为`false`,此时会生成正常的未支付订单,您可以登录[ECS管理控制台](https://ecs.console.aliyun.com/)支付。'."\n" + ."\n" + .'### 注意事项'."\n" + .'- **包年包月转按量付费**:'."\n" + .''."\n" + .' - 包年包月实例转按量实例的时候,新计费方式将覆盖实例的整个生命周期。您会收到修改前后的实例计费的价格差退款,退还到您的原付款渠道中,已使用的代金券将不退回。'."\n" + .''."\n" + .''."\n" + .' - 包年包月实例转按量实例的时候,新计费方式将覆盖实例的整个生命周期。您会收到修改前后的实例计费的价格差退款,退还到您的原付款渠道中,已使用的代金券将不退回。'."\n" + .''."\n" + .' - **退款规则**:您在一个月内能自由操作的退款额度有限且不累计,消耗完退款额度后,只能等待次月转换计费方式。一次转换计费消耗的退款额度公式为**vCPU数 \\*(退款天数*24±浮动小时数)**。更多信息,请参见[包年包月转按量付费](~~85517~~)。'."\n" + .'- **按量付费转包年包月**:'."\n" + .' - 支持将实例挂载的所有按量付费数据盘同时转换为包年包月数据盘。'."\n" + .' - 如果按量付费实例已经设置了释放时间,则不能调用该接口。更多信息,请参见[包年包月转按量付费](~~49884~~)。'."\n" + .' - 若实例处于节省停机模式需先启动实例。', + ], + 'ModifyInstanceSpec' => [ + 'summary' => '本接口用于修改一台按量付费ECS实例的实例规格或者公网带宽大小。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29077', + 'abilityTreeNodes' => [ + 'FEATUREecsGR65E9', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的目标规格。更多信息,请参见[实例规格族](~~25378~~),也可以调用[DescribeInstanceTypes](~~25620~~)接口获得最新的规格表。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s(Megabit per second)。取值范围:0~100。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => [ + 'description' => '公网入带宽最大值,单位为Mbit/s(Megabit per second)。取值范围:'."\n" + ."\n" + .'- 当所购公网出带宽小于等于10 Mbit/s时:1~10,默认为10。'."\n" + .'- 当所购公网出带宽大于10 Mbit/s时:1~`InternetMaxBandwidthOut`的取值,默认为`InternetMaxBandwidthOut`的取值。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '200', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'Temporary.StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Temporary.EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Temporary.InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => 'null', + ], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => [ + 'description' => '是否提交异步请求。取值范围:'."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'AllowMigrateAcrossZone', + 'in' => 'query', + 'schema' => [ + 'description' => '是否支持跨集群升级实例规格。'."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'当参数`AllowMigrateAcrossZone`取值为true时,一旦您根据返回信息升级了云服务器,请留意以下注意事项:'."\n" + ."\n" + .'经典网络类型实例:'."\n" + .' '."\n" + .'* 对于[已停售的实例规格](~~55263~~),非I/O优化实例变配到I/O优化实例时,实例私网IP地址、磁盘设备名和软件授权码会发生变化。对于Linux实例,普通云盘(`cloud`)会被识别为**xvda**或者**xvdb**等,高效云盘(`cloud_efficiency`)和SSD云盘(`cloud_ssd`)会被识别为**vda**或者**vdb**等。'."\n" + .' '."\n" + .'* 对于[正常售卖的实例规格族](~~25378~~),实例的私网IP地址会发生变化。'."\n" + ."\n" + .'专有网络VPC类型实例:对于[已停售的实例规格](~~55263~~),非I/O优化实例变配到I/O优化实例时,云服务器磁盘设备名和软件授权码会发生变化。Linux实例的普通云盘(`cloud`)会被识别为**xvda**或者**xvdb**等,高效云盘(`cloud_efficiency`)和SSD云盘(`cloud_ssd`)会被识别为**vda**或者**vdb**等。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '更换系统盘类型。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘'."\n" + ."\n" + .'- cloud_ssd:SSD云盘'."\n" + ."\n" + .'>该参数只有在从[已停售的实例规格](~~55263~~)升级到[正常售卖的实例规格族](~~25378~~),并将非I/O优化实例规格升级为I/O优化实例规格时有效。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'ModifyMode', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + 'enum' => [ + 'Online', + 'Offline', + ], + ], + ], + [ + 'name' => 'Disk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'DiskId' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Category' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'PerformanceLevel' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 128, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会调整实例的实例规格和公网带宽大小。检查项包括是否填写了必需参数、请求格式、业务限制和 ECS 库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false(默认):发送正常请求,通过检查后直接调整实例的实例规格和公网带宽大小。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => 'The specified InternetChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter "InternetMaxBandwidthOut" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'Too many parameters in one request.', + ], + [ + 'errorCode' => 'BandwidthUpgradeDenied.EipBoundInstance', + 'errorMessage' => 'The specified VPC instance has bound EIP, temporary bandwidth upgrade is denied.', + ], + [ + 'errorCode' => 'InvalidTemporary.StartTime', + 'errorMessage' => 'The specifed Temporary.StartTime is not valid.', + ], + [ + 'errorCode' => 'InvalidTemporary.EndTime', + 'errorMessage' => 'The specifed Temporary.EndTime is not valid.', + ], + [ + 'errorCode' => 'Downgrade.NotSupported', + 'errorMessage' => 'Downgrade operation is not supported.', + ], + [ + 'errorCode' => 'DependencyViolation.InstanceType', + 'errorMessage' => 'The current InstanceType cannot be changed to the specified InstanceType.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'InvalidParameter.Bandwidth', + 'errorMessage' => 'The specified parameter Bandwidth is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified image does not support the specified instance type.', + ], + [ + 'errorCode' => 'InvalidParameter.AllowMigrateAcrossZone', + 'errorMessage' => 'The specified parameter CanMigrateAcrossZone is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SystemDiskCategory', + 'errorMessage' => 'The specified param SystemDisk.Category is not valid.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, please try again after 5 minutes.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.NotStopped', + 'errorMessage' => 'The specified Instance status is not stopped.', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => 'Specified action is not valid.', + ], + [ + 'errorCode' => 'IdempotenceParamNotMatch', + 'errorMessage' => 'There is a idempotence signature mismatch between this and last request.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'Price.PricePlanResultNotFound', + 'errorMessage' => 'The internetMaxBandwidthIn or internetMaxBandwidthOut provided is invalid.', + ], + [ + 'errorCode' => 'InvalidAction.NotSupport', + 'errorMessage' => 'The ecs on dedicatedHost not support modify instanceType.', + ], + [ + 'errorCode' => 'InvalidMarketImageStatus.NotSupported', + 'errorMessage' => 'The status of specified market image does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.VpcHasEnabledAdvancedNetworkFeature', + 'errorMessage' => 'The specified vpc has enabled advanced network feature.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'InstanceTypeNotSupported.TooManyDisksAttached', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The upgrade operation of instance does not support this category of disk.', + ], + [ + 'errorCode' => 'InvalidParameter.CloudboxNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'InvalidParam.Async', + 'errorMessage' => 'The specified parameter async is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.DiskCategory', + 'errorMessage' => 'The specified parameter Disk.Category can not be null when Disk.DiskId is specified.', + ], + [ + 'errorCode' => 'InvalidParameter.DiskCategory', + 'errorMessage' => 'The specified parameter Disk.Category is not valid.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter Disk.n.PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'InvalidParameter.DedicatedRegionNotSupported', + 'errorMessage' => 'The specified action is rejected because the specified ECS instance in the dedicated region does not support public IP.', + ], + [ + 'errorCode' => 'InvalidOperation.OnlineModificationUnsupported', + 'errorMessage' => 'Online modification of instance type is not supported for the specified instance due to its CPU topology.', + ], + [ + 'errorCode' => 'QuotaExceeded.InternetBandwidth', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportRss', + 'errorMessage' => 'The ECS instance type does not support Rss.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CategoryViolation', + 'errorMessage' => 'The specified instance does not support this operation because of its disk category.', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified instance is out of usage.', + ], + [ + 'errorCode' => 'LastTokenProcessing', + 'errorMessage' => 'The last token request is processing.', + ], + [ + 'errorCode' => 'InvalidInstance.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'InstanceSpecModification.NotEffective', + 'errorMessage' => 'The specified instance has been reserved for making a spec modification and not taken effective in the current contract period.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified zone does not offer the specified instancetype.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified image do not support the InstanceType instance.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => 'The specified InstanceType has been offline.', + ], + [ + 'errorCode' => 'InvalidParameter.NotMatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.EipNotSupport', + 'errorMessage' => 'The specified instance with eip is not supported, please unassociate eip first.', + ], + [ + 'errorCode' => 'InvalidInstance.NatPortMapNotSupport', + 'errorMessage' => 'The special instance with nat port map not support operate, please remove nat port map first.', + ], + [ + 'errorCode' => 'InvalidOperation.StarterPackage', + 'errorMessage' => 'StarterPackage not support modification.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The resource is out of usage.', + ], + [ + 'errorCode' => 'OperationDenied.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'InvalidOperation.EipNotSupport', + 'errorMessage' => 'The special instance with eip not support operate, please unassociate eip first.', + ], + [ + 'errorCode' => 'InvalidParameter.InternetMaxBandwidthOut', + 'errorMessage' => 'The specified parameter InternetMaxBandwidthOut is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceWithEipNotSupport', + 'errorMessage' => 'The special instance with eip not support operate, please unassociate eip first.', + ], + [ + 'errorCode' => 'SecurityRisk.3DVerification', + 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => 'The specified instance has no system disk.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportDiskCategory', + 'errorMessage' => 'The instanceType of the specified instance does not support this disk category.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticQuota', + 'errorMessage' => 'No additional quota is available for the specified ECS instance type.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.NotAllowed', + 'errorMessage' => 'The specified vpc %s has enabled senior network feature.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportEniTrunking', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueueNumberExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ExceedInstanceTypeQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidEniQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportHighPerformanceTrafficMode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniQueuePairNumberOverflow', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceEniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueuePairNumberExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxModifyOnlineNumberExceeded', + 'errorMessage' => 'The specified instance has reached the maximum number of modify online attempts and needs to be rebooted.', + ], + [ + 'errorCode' => 'InvalidOperation.RebootingRequired', + 'errorMessage' => 'The specified instance needs to be rebooted.', + ], + [ + 'errorCode' => 'InvalidOperation.OSTypeNotSupported', + 'errorMessage' => 'The specified OS type is not supported.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter SystemDisk.Category is not valid.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified Category of Data Disk is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The upgrade operation of instance does not support this category of disk.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'MissingTemporary.StartTime', + 'errorMessage' => 'Temporary.StartTime is not specified.', + ], + [ + 'errorCode' => 'MissingTemporary.EndTime', + 'errorMessage' => 'Temporary.EndTime is not specified.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The InstanceChargeType does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"InvalidInstance.UnpaidOrder\\",\\n \\"Message\\": \\"The specified instance has unpaid order.\\"\\n}"},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n ecs.aliyuncs.com\\n InvalidInstance.UnpaidOrder\\n The specified instance has unpaid order.\\n"}]', + 'title' => '修改实例的实例规格或公网带宽', + 'description' => ''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解ECS产品的收费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)。**'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解ECS产品的收费方式和[价格](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl)。**'."\n" + ."\n" + .''."\n" + ."\n" + .'[更改按量付费实例规格](~~60051~~)前,您可以通过[DescribeResourcesModification](~~66187~~)查询当前实例支持变配的实例规格。'."\n" + ."\n" + .'**注意事项**'."\n" + ."\n" + .'- 账号必须处于无欠费状态。'."\n" + .'- 每次调用只能修改单项配置,即单次只能修改实例规格,或者只能调整公网带宽大小。'."\n" + .'- 实例状态必须为**运行中**(`Running`)或者**已停止**(`Stopped`)时才能调节公网带宽大小,修改后立即生效。'."\n" + .'- 实例状态必须为**已停止**(`Stopped`)时才能修改实例规格,修改后需要[启动实例](~~25441~~)后生效。'."\n" + ."\n" + .'> 单个地域下,单个阿里云账号按固定带宽计费的公网带宽峰值总和存在限制,请参见[公网带宽限制](~~25412#BandwidthQuota~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyPrepayInstanceSpec' => [ + 'summary' => '本接口用于修改一台包年包月ECS实例的实例规格,支持您升级或者降低实例规格,修改后的实例规格在实例整个生命周期内生效。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29088', + 'abilityTreeNodes' => [ + 'FEATUREecsY77CXF', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '需要变配的目标实例规格。取值请参见[实例规格族](~~25378~~)或者调用[DescribeInstanceTypes](~~25620~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecs.g5.xlarge', + ], + ], + [ + 'name' => 'OperatorType', + 'in' => 'query', + 'schema' => [ + 'description' => '操作类型。取值范围:'."\n" + .'>该参数可无需上传,系统可自动判断升配还是降配;如要上传,请按照下面的逻辑规则操作。'."\n" + ."\n" + .'- upgrade:升级实例规格。请确保您的账户支付方式余额充足。'."\n" + ."\n" + .'- downgrade:降配实例规格。当`InstanceType`设置的实例规格低于当前实例规格时,设置`OperatorType=downgrade`。'."\n" + ."\n" + .'>升级或降低实例规格的注意事项请参见上文接口说明章节。', + 'type' => 'string', + 'required' => false, + 'example' => 'upgrade', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '升级实例规格时,是否自动支付。取值范围:'."\n" + ."\n" + .'- true:自动支付。'."\n" + .'- false:只生成订单不扣费。'."\n" + ."\n" + .'默认值:true。'."\n" + .'> - 自动支付时,您需要确保支付方式余额充足,否则会生成异常订单,只能作废订单。'."\n" + .'> - 如果您的支付方式余额不足,可以将参数`AutoPay`置为`false`,此时会生成未支付订单,您可以登录ECS管理控制台自行支付。'."\n" + .'> - 当参数`OperatorType`被置为`downgrade`时,将忽略参数`AutoPay`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + [ + 'name' => 'MigrateAcrossZone', + 'in' => 'query', + 'schema' => [ + 'description' => '是否支持跨集群升级实例规格。取值范围:'."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'当参数`MigrateAcrossZone`取值为`true`时,一旦您根据返回信息升级了云服务器,请留意以下注意事项:'."\n" + ."\n" + .'经典网络类型实例:'."\n" + .'- 对于[已停售的实例规格](~~55263~~),非I/O优化实例变配到I/O优化实例时,实例私网IP地址、磁盘设备名和软件授权码会发生变化。对于Linux实例,普通云盘(cloud)会被识别为xvda或者xvdb等,高效云盘(cloud_efficiency)和SSD云盘(cloud_ssd)会被识别为vda或者vdb等。'."\n" + .'- 对于[正常售卖的实例规格族](~~25378~~),实例的私网IP地址会发生变化。'."\n" + ."\n" + .'专有网络VPC类型实例:对于[已停售的实例规格](~~55263~~),非I/O优化实例变配到I/O优化实例时,云服务器磁盘设备名和软件授权码会发生变化。Linux实例的普通云盘(cloud)会被识别为xvda或者xvdb等,高效云盘(cloud_efficiency)和SSD云盘(cloud_ssd)会被识别为vda或者vdb等。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '更换系统盘类型。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'>该参数仅支持从[已停售的实例规格](~~55263~~)升级到[正常售卖的实例规格族](~~25378~~),并将非I/O优化实例规格升级为I/O优化实例规格时有效。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_efficiency', + ], + ], + [ + 'name' => 'RebootTime', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的重启时间。按照[ISO 8601](~~25696~~)标准表示,使用UTC+0时间。格式为:yyyy-MM-ddTHH:mmZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-01-01T12:05Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '临时变更的终止时间。按照[ISO 8601](~~25696~~)标准表示,使用UTC+0时间。格式为:yyyy-MM-ddTHH:mmZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-01-01T12:05Z', + ], + ], + [ + 'name' => 'RebootWhenFinished', + 'in' => 'query', + 'schema' => [ + 'description' => '实例变配结束后是否立即重启。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值为false。'."\n" + ."\n" + .'> 若实例处于**已停止**状态,即使您设置了`RebootWhenFinished=true`,也会保持原状态不变,并不会执行任何操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ModifyMode', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + 'enum' => [ + 'Online', + 'Offline', + ], + ], + ], + [ + 'name' => 'Disk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'DiskId' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Category' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'PerformanceLevel' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 128, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '生成的订单ID。', + 'type' => 'string', + 'example' => '1234567890', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidBillingMethod.ValueNotSupported', + 'errorMessage' => 'The operation is not permitted due to an invalid billing method of the instance.', + ], + [ + 'errorCode' => 'InvalidInstance.PurchaseNotFound', + 'errorMessage' => 'The specified instance has no purchase history.', + ], + [ + 'errorCode' => 'InvalidInstance.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified InstanceType is not Supported.', + ], + [ + 'errorCode' => 'OrderCreationFailed', + 'errorMessage' => 'Order creation failed, please check your params and try it again later.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'You have made too many requests within a short time; your request is denied due to request throttling.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidRebootTime.MalFormed', + 'errorMessage' => 'The specified rebootTime is not valid.', + ], + [ + 'errorCode' => 'InvalidRebootTime.ValueNotSupported', + 'errorMessage' => 'The specified RebootTime is not valid.', + ], + [ + 'errorCode' => 'IdempotenceParamNotMatch', + 'errorMessage' => 'Request uses a client token in a previous request but is not identical to that request.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.NotStopped', + 'errorMessage' => 'Instance status must be stopped.', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceDowngrade.QuotaExceed', + 'errorMessage' => 'Quota of instance downgrade is exceed.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The current user does not support this operation.', + ], + [ + 'errorCode' => 'LastOrderProcessing', + 'errorMessage' => 'The previous order is still processing, please try again later.', + ], + [ + 'errorCode' => 'InvalidOperation.VpcHasEnabledAdvancedNetworkFeature', + 'errorMessage' => 'The specified vpc has enabled advanced network feature.', + ], + [ + 'errorCode' => 'InvalidAction.WithActiveElasticUpgrade', + 'errorMessage' => 'The instance has active Elastic Upgrade.', + ], + [ + 'errorCode' => 'InstanceTypeNotSupported.TooManyDisksAttached', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'MissingParameter.DiskCategory', + 'errorMessage' => 'The specified parameter Disk.Category can not be null when Disk.DiskId is specified.', + ], + [ + 'errorCode' => 'InvalidParameter.DiskCategory', + 'errorMessage' => 'The specified parameter Disk.Category is not valid.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter Disk.n.PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.NotMatchInstanceType', + 'errorMessage' => 'The system disk category does not match the instance type.', + ], + [ + 'errorCode' => 'QuotaExceed.RufundVcpu', + 'errorMessage' => 'The maximum number of refunded vcpu is exceeded: %s .', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'NoPermission.Refund', + 'errorMessage' => 'The operation requires refund permission. Please apply for permission from your main account.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceRenewWithDowngradeInPlan', + 'errorMessage' => 'The operation is denied due to the specified instance has renew with downgrade record in plan.', + ], + [ + 'errorCode' => 'InvalidOperation.OnlineModificationUnsupported', + 'errorMessage' => 'Online modification of instance type is not supported for the specified instance due to its CPU topology.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The specified instance is out of usage.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidUser.PassRoleForbidden', + 'errorMessage' => 'The RAM user does not have privilege to pass a role.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified image does not support the specified InstanceType.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'You have made too many requests within a short time; your request is denied due to request throttling.', + ], + [ + 'errorCode' => 'InvalidParameter.InstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.StarterPackage', + 'errorMessage' => 'StarterPackage not support modification.', + ], + [ + 'errorCode' => 'InvalidInstance.PreInstanceExpired', + 'errorMessage' => 'Instance business status is not Expired.', + ], + [ + 'errorCode' => 'InvalidInstance.EipNotSupport', + 'errorMessage' => 'The special instance with eip not support operate, please unassociate eip first.', + ], + [ + 'errorCode' => 'OperationDenied.ImageNotValid', + 'errorMessage' => 'The specified image is not authorized.', + ], + [ + 'errorCode' => 'OperationDenied.LocalDiskUnsupported', + 'errorMessage' => 'The configuration change is not allowed when the specified instance has local disks mounted.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => 'The specified instance has no system disk.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportDiskCategory', + 'errorMessage' => 'The instanceType of the specified instance does not support this disk category.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticQuota', + 'errorMessage' => 'No additional quota is available for the specified ECS instance type.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueueNumberExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ExceedInstanceTypeQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidEniQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'InvalidOperation.MaxModifyOnlineNumberExceeded', + 'errorMessage' => 'The specified instance has reached the maximum number of modify online attempts and needs to be rebooted.', + ], + [ + 'errorCode' => 'InvalidOperation.RebootingRequired', + 'errorMessage' => 'The specified instance needs to be rebooted.', + ], + [ + 'errorCode' => 'InvalidOperation.OSTypeNotSupported', + 'errorMessage' => 'The specified OS type is not supported.', + ], + [ + 'errorCode' => 'OperationDenied.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'InvalidDisk.DetachedSystemDisk', + 'errorMessage' => 'The specified resource is/has a detached system disk %s , not support current operation.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified Category of Data Disk is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The upgrade operation of instance does not support this category of disk.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'BillingMethodNotFound', + 'errorMessage' => 'The account has not chosen any billing method.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'ImageOrderFailed', + 'errorMessage' => 'Create marketplace image order failed.', + ], + ], + 503 => [ + [ + 'errorCode' => 'LimitedOperation.ServiceUnavailable', + 'errorMessage' => 'The service is currently unavailable. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"1234567890\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"InvalidBillingMethod.ValueNotSupported\\",\\n \\"Message\\": \\"The operation is not permitted due to an invalid billing method of the instance.\\"\\n}"},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\n 1234567890\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n ecs.aliyuncs.com\\n InvalidBillingMethod.ValueNotSupported\\n The operation is not permitted due to an invalid billing method of the instance.\\n"}]', + 'title' => '修改包年包月实例的实例规格', + 'description' => ''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解ECS产品的收费方式、[价格](https://www.aliyun.com/price/product#/ecs/detail)以及[降配退款规则](~~116043~~)。**'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解ECS产品的收费方式、[价格](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl)以及[降配退款规则](~~476339~~)。**'."\n" + ."\n" + .''."\n" + ."\n" + .'本接口属于异步操作,等待约5~10秒后配置变更完成。升级或者降低包年包月ECS实例规格前,您可以通过[DescribeResourcesModification](~~66187~~)查询当前实例支持变配的实例规格。'."\n" + ."\n" + .'**注意事项**'."\n" + .' - 已过期实例无法修改实例规格,您可以续费后重新操作。'."\n" + .' - 降低实例规格:'."\n" + .' - 实例必须处于**已停止**(`Stopped`)状态。'."\n" + .' - 降低前后的实例规格价格差退款会退还到您的原付费方式中,已使用的代金券不退回。'."\n" + .' - 变配后的实例规格需要[启动实例](~~25441~~)后生效。'."\n" + ."\n" + .' - 升级实例规格: '."\n" + .' - 实例必须处于**已停止**(`Stopped`)或者**运行中**(`Running`)状态。'."\n" + .' - 变配后的实例规格需要[启动实例](~~25441~~)或者[重启实例](~~25440~~)后生效。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceAutoReleaseTime' => [ + 'summary' => '本接口用于修改指定按量付费实例或者抢占式实例的自动释放时间,同时支持取消自动释放功能。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29070', + 'abilityTreeNodes' => [ + 'FEATUREecs5LFNWC', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要自动释放的ECS实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1env7nl3mijm2t****', + ], + ], + [ + 'name' => 'AutoReleaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => '自动释放时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mm:ssZ。'."\n" + ."\n" + .'- 如果秒(`ss`)取值不是`00`,则自动取为当前分钟(`mm`)开始时。'."\n" + ."\n" + .'- 最短释放时间为当前时间半小时之后。'."\n" + ."\n" + .'- 最长释放时间不能超过当前时间三年。'."\n" + ."\n" + .'如果不传入参数`AutoReleaseTime`,表示自动释放功能已取消,ECS实例不再自动释放。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-01-01T01:02:03Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidAutoReleaseTime.Malformed', + 'errorMessage' => 'The specified paramter autoReleaseTime is not valid.', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => 'The parameters is unsupported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + ], + [ + [ + 'errorCode' => 'NoSuchResource', + 'errorMessage' => 'The specified resource is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '修改实例自动释放时间', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AttachInstanceRamRole' => [ + 'summary' => '本接口用于为一台或多台ECS实例授予RAM角色。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '28791', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例RAM角色名称。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色。', + 'type' => 'string', + 'required' => true, + 'example' => 'testRamRoleName', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID数组。数组长度:1~100。', + 'type' => 'string', + 'required' => true, + 'example' => '["i-bp14ss25xca5ex1u****","i-bp154z5o1qjalfse****", "i-bp10ws62o04ubhvi****"]', + ], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => '额外权限策略。可以指定一个额外的权限策略,以进一步限制RAM角色的权限。更多信息,请参见[权限策略概览](~~93732~~)。长度为1~1024个字符。', + 'type' => 'string', + 'required' => false, + 'example' => '{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RamRoleName' => [ + 'description' => '实例RAM角色的名称。', + 'type' => 'string', + 'example' => 'testRamRoleName', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D9553E4C-6C3A-4D66-AE79-9835AF705639', + ], + 'TotalCount' => [ + 'description' => '授予实例RAM角色的实例总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'FailCount' => [ + 'description' => '授予实例RAM角色的实例失败个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'AttachInstanceRamRoleResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AttachInstanceRamRoleResult' => [ + 'description' => '由实例RAM角色类型(AttachInstanceRamRoleResult)组成的信息集。', + 'type' => 'array', + 'items' => [ + 'description' => '实例RAM角色类型。', + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '判断是否成功授予实例RAM角色。返回值为200表示成功授予,返回其他值表示授予失败,失败原因参见错误码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '判断是否成功授予实例RAM角色。返回值为Success表示成功授予,返回其他值表示授予失败,失败原因参见错误码。', + 'type' => 'string', + 'example' => 'success', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp10ws62o04ubhvi****', + ], + 'Success' => [ + 'description' => '是否成功授予实例RAM角色。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceIds.Malformed', + 'errorMessage' => 'The specified instanceIds are not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidNetworkType.MismatchRamRole', + 'errorMessage' => 'Ram role cannot be applied to instances of Classic network type.', + ], + [ + 'errorCode' => 'InvalidUser.PassRoleForbidden', + 'errorMessage' => 'The RAM user does not have the privilege to pass a RAM role.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidRamRole.NotFound', + 'errorMessage' => 'The specified RAMRoleName does not exist.', + ], + [ + 'errorCode' => 'InvalidRamRole.NotEcsRole', + 'errorMessage' => 'The specified ram role is not authorized for ecs, please check your role policy.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RamRoleName\\": \\"testRamRoleName\\",\\n \\"RequestId\\": \\"D9553E4C-6C3A-4D66-AE79-9835AF705639\\",\\n \\"TotalCount\\": 1,\\n \\"FailCount\\": 0,\\n \\"AttachInstanceRamRoleResults\\": {\\n \\"AttachInstanceRamRoleResult\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"InstanceId\\": \\"i-bp10ws62o04ubhvi****\\",\\n \\"Success\\": true\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"D9553E4C-6C3A-4D66-AE79-9835AF705639\\",\\n \\"AttachInstanceRamRoleResults\\": {\\n \\"AttachInstanceRamRoleResult\\": [\\n {\\n \\"Message\\": \\"success\\",\\n \\"InstanceId\\": \\"i-instance1\\",\\n \\"Code\\": \\"200\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 1,\\n \\"FailCount\\": 0,\\n \\"RamRoleName\\": \\"RamRoleTest\\"\\n}"},{"type":"xml","example":"\\n E6352369-5C2B-41CD-AB50-471550C8F674\\n \\n \\n i-bp10ws62o04ubhvi****\\n 200\\n success\\n \\n \\n 1\\n 0\\n testRamRoleName\\n","errorExample":"\\n E6352369-5C2B-41CD-AB50-471550C8F674\\n \\n \\n i-instance1\\n 200\\n success\\n \\n \\n 1\\n 0\\n RamRoleTest\\n"}]', + 'title' => '为实例授予RAM角色', + 'description' => '您可以通过[DescribeInstanceRamRole](~~2679686~~)查询实例被授予的[实例RAM角色](~~61175~~)。'."\n" + .'> 如果实例已存在被授予的实例RAM角色,则报错提示您不能授予新的角色。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceRamRole' => [ + 'summary' => '本接口具备两个主要功能,支持依据实例 ID 来查询一台或多台 ECS 实例所被授予的实RAM角色,同时也允许通过实例 RAM 角色名称来查询被授予了该特定角色的实例情况。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28953', + 'abilityTreeNodes' => [ + 'FEATUREecsXDMPW4', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询接口返回资源信息列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页展示响应信息时设置的每页行数,单位:行。'."\n" + ."\n" + .'最大值:50。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例RAM角色所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '指定查询的实例ID的集合。最多支持一次查询50台实例。'."\n" + .'> `InstanceIds`与`RamRoleName`参数必须至少填写一个。', + 'type' => 'string', + 'required' => false, + 'example' => '["i-bp67acfmxazb1p****", "i-bp67acfmxazb2p****", "bp67acfmxazb3p****"…]', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '查询赋予了某一实例RAM角色的所有ECS实例。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色。'."\n" + .'> `InstanceIds`与`RamRoleName`参数必须至少填写一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsServiceRole-EcsDocGuideTest', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '返回的实例数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => '实例所在的地域。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'InstanceRamRoleSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceRamRoleSet' => [ + 'description' => '由实例ID和RAM角色名称(InstanceRamRoleSet)组成的信息集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RamRoleName' => [ + 'description' => '实例RAM角色名称。', + 'type' => 'string', + 'example' => 'EcsServiceRole-EcsDocGuideTest', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceIds.Malformed', + 'errorMessage' => 'The specified instanceIds are not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidNetworkType.MismatchRamRole', + 'errorMessage' => 'Ram role cannot be applied to instances of Classic network type.', + ], + [ + 'errorCode' => 'InvalidParameter.AllEmpty', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instanceId does not exist', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceRamRoleSets\\": {\\n \\"InstanceRamRoleSet\\": [\\n {\\n \\"RamRoleName\\": \\"EcsServiceRole-EcsDocGuideTest\\",\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx\\", \\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"IncompleteSignature\\",\\n \\"Message\\": \\"The request signature does not conform to Aliyun standards.\\"\\n}"},{"type":"xml","example":"\\n 8F4CAE3F-7892-4662-83A5-2C2FFD639553\\n \\n \\n i-bp67acfmxazb4p****\\n EcsServiceRole-EcsDocGuideTest\\n \\n \\n 1\\n 1\\n 1\\n","errorExample":"\\n 540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx\\n ecs.aliyuncs.com\\n IncompleteSignature\\n The request signature does not conform to Aliyun standards.\\n"}]', + 'title' => '查询实例被授予的RAM角色', + 'description' => '## 接口说明'."\n" + ."\n" + .'通过阿里云CLI调用API时,不同数据类型的请求参数取值必须遵循格式要求。更多信息,请参见[CLI参数格式说明](~~110340~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachInstanceRamRole' => [ + 'summary' => '本接口用于收回一台或多台ECS实例被授予的RAM角色。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29021', + 'abilityTreeNodes' => [ + 'FEATUREecsT6V7S4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '指定收回的实例RAM角色名称。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'RamRoleTest', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '指定收回的实例ID数组。数组长度:1~100。', + 'type' => 'string', + 'required' => true, + 'example' => '["i-bp67acfmxazb4p****", "i-bp67acfmxazb5p****", "i-bp67acfmxazb6p****"…]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RamRoleName' => [ + 'description' => '收回实例RAM角色名称。', + 'type' => 'string', + 'example' => 'RamRoleTest', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '收回实例总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'FailCount' => [ + 'description' => '收回失败的实例个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'DetachInstanceRamRoleResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DetachInstanceRamRoleResult' => [ + 'description' => '由被收回的实例ID和收回实例RAM角色名称等(DetachInstanceRamRoleResult)组成的信息集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '判断是否成功收回实例RAM角色。返回值为200表示成功收回,返回其他值表示收回失败,失败原因参见错误码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '判断是否成功收回实例RAM角色。返回值为Success表示成功收回,返回其他值表示收回失败,失败原因参见错误码。', + 'type' => 'string', + 'example' => 'Success', + ], + 'InstanceId' => [ + 'description' => '被收回实例RAM角色的实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'Success' => [ + 'description' => '是否成功收回实例RAM角色。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InstanceRamRoleSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceRamRoleSet' => [ + 'description' => '收回的实例ID和实例RAM角色名称集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RamRoleName' => [ + 'description' => '收回实例RAM角色名称。', + 'type' => 'string', + 'example' => 'RamRoleTest', + ], + 'InstanceId' => [ + 'description' => '被收回的实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceIds.Malformed', + 'errorMessage' => 'The specified instanceIds are not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidNetworkType.MismatchRamRole', + 'errorMessage' => 'Ram role cannot be applied to instances of Classic network type.', + ], + [ + 'errorCode' => 'InvalidUser.PassRoleForbidden', + 'errorMessage' => 'The RAM user does not have the privilege to pass a RAM role.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instanceId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RamRoleName\\": \\"RamRoleTest\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"FailCount\\": 0,\\n \\"DetachInstanceRamRoleResults\\": {\\n \\"DetachInstanceRamRoleResult\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success\\",\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"Success\\": true,\\n \\"InstanceRamRoleSets\\": {\\n \\"InstanceRamRoleSet\\": [\\n {\\n \\"RamRoleName\\": \\"RamRoleTest\\",\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"E6352369-5C2B-41CD-AB50-471550C8F674\\",\\n \\"DetachInstanceRamRoleResults\\": {\\n \\"DetachInstanceRamRoleResult\\": [\\n {\\n \\"Message\\": \\"success\\",\\n \\"InstanceId\\": \\"i-instance1\\",\\n \\"Code\\": \\"200\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 1,\\n \\"FailCount\\": 0,\\n \\"RamRoleName\\": \\"RamRoleTest\\"\\n}"},{"type":"xml","example":"\\n 1\\n \\n \\n success\\n i-bp16qng6jnvt6g7t****\\n 200\\n \\n i-bp16qng6jnvt6g7t****\\n RamRoleTest\\n \\n \\n \\n 14D5B163-CE6C-4489-B979-DBE5D0495A63\\n \\n 0\\n","errorExample":"\\n E6352369-5C2B-41CD-AB50-471550C8F674\\n \\n \\n i-instance1\\n 200\\n success\\n \\n \\n 1\\n 0\\n RamRoleTest\\n\\n"}]', + 'title' => '收回实例被授予的RAM角色', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceVncUrl' => [ + 'summary' => '本接口用于查询一台ECS实例的VNC登录地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28961', + 'abilityTreeNodes' => [ + 'FEATUREecsHM5DW1', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1hzoinajzkh91h****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VncUrl' => [ + 'description' => 'VNC登录地址。'."\n" + ."\n" + .'>**VNC登录地址存在时效性,有效期为15秒,调用接口成功后如果15秒内不使用该链接,该地址会自动失效,您需要重新调用接口获取。**>', + 'type' => 'string', + 'example' => 'wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionInstance', + 'errorMessage' => 'The specified InstanceId does not exist in given region.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceNotReady', + 'errorMessage' => 'The specified instance is not ready for use', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VncUrl\\": \\"wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', + 'title' => '查询实例VNC登录地址', + 'description' => '- 接口返回的是VNC登录地址(VncUrl),不能直接使用访问,您可以通过**Web管理终端地址**访问。'."\n" + .'> Web管理终端地址需在链接`https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?`末尾加上`vncUrl=\\*\\*\\*\\*`、`instanceId=****`和`isWindows=true/false`,参数之间使用`&`连接。其中:'."\n" + .' >- `vncUrl`:VNC登录地址。'."\n" + .' >- `instanceId`:实例ID。'."\n" + .' >- `isWindows`:实例的操作系统是否为Windows系统。取值为`true`表示是Windows系统,取值为`false`表示不是Windows系统。'."\n" + .' >- 当前已支持免VNC密码连接实例,您无需设置参数`password`。'."\n" + ."\n" + .'- 单个管理终端链接地址的KeepAlive时间为300秒,300秒内您与管理终端窗口没有任何交互操作时,连接自动断开。'."\n" + .'- 如果连接中断,您需要重新调用接口来获取新的`VncUrl`,以组成新的管理终端地址进行重新连接,且每分钟内重新连接的次数不能超过30次。'."\n" + ."\n\n" + ."\n" + .'Web管理终端地址示例:'."\n" + .'```'."\n" + .'https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?vncUrl=ws%3A%2F%****&instanceId=i-wz9hhwq5a6tm****&isWindows=true'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceVncPasswd' => [ + 'summary' => '本接口用于修改一台ECS实例的VNC登录密码。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29078', + 'abilityTreeNodes' => [ + 'FEATUREecs28367R', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VncPassword', + 'in' => 'query', + 'schema' => [ + 'description' => 'VNC登录的新密码。', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectVncPassword.Malformed', + 'errorMessage' => 'The specified parameter VncPassword is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceNotReady', + 'errorMessage' => 'Temporarily unable to connect the specified instance,please try later.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'NoSuchResource', + 'errorMessage' => 'The specified resource is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"IncorrectInstanceStatus\\",\\n \\"Message\\": \\"The current status of the resource does not support this operation.\\"\\n}"},{"type":"xml","example":"\\n FDB6C963-9CE8-4B7F-BCA3-845F6BD29AFC\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n ecs.aliyuncs.com\\n IncorrectInstanceStatus\\n The current status of the resource does not support this operation.\\n"}]', + 'title' => '修改实例VNC登录密码', + 'description' => '- 密码长度必须是六位字符,必须且仅能包含大写、小写英文字母及阿拉伯数字三种字符。'."\n" + .'- 修改密码后:'."\n" + .' - I/O优化的实例,立刻生效,无需重启实例。'."\n" + .' - 非I/O优化的实例,需要在控制台[重启实例](~~25440~~)或者调用[RebootInstance](~~25502~~)重启后才能生效。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceMetadataOptions' => [ + 'summary' => '本接口用于修改指定地域下实例内的元数据访问设置,包括是否启用元数据访问通道和访问元数据时是否启用强制加固模式等设置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29075', + 'abilityTreeNodes' => [ + 'FEATUREecs860TU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxaz****', + ], + ], + [ + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例元数据的访问通道。取值范围:'."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值:enabled。'."\n" + .'> 有关实例元数据的更多信息,请参见[实例元数据概述](~~49122~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'enabled', + ], + ], + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => [ + 'description' => '访问实例元数据时是否强制使用加固模式。取值范围:'."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。设置该取值后,普通模式无法访问实例元数据。'."\n" + ."\n" + .'默认值:optional。'."\n" + .'> 有关实例元数据访问模式的更多信息,请参见[实例元数据访问模式](~~150575~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'optional', + ], + ], + [ + 'name' => 'HttpPutResponseHopLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'InstanceMetadataTags', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例元数据的访问标签能力。取值范围:'."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值:disabled。'."\n" + .''."\n" + .'标签键需为字母、数字、@、半角冒号(:)、下划线(_)、短划线(-)、句点(.)、等号(=)、半角逗号(,)的组合,且不能为"."或者"..",否则无法在元数据中访问。'."\n" + .'', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'disabled', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidHttpEndpoint.NotSupported', + 'errorMessage' => 'The specified HttpEndpoint not supported, you can use enabled(default) or disabled.', + ], + [ + 'errorCode' => 'InvalidHttpTokens.NotSupported', + 'errorMessage' => 'The specified HttpTokens not supported, you can use optional(default) or required.', + ], + [ + 'errorCode' => 'InvalidHttpPutResponseHopLimit.NotSupported', + 'errorMessage' => 'The specified HttpPutResponseHopLimit not supported, more than 1 and less than 64 is reasonable.', + ], + [ + 'errorCode' => 'InvalidInstanceMetadataTags.NotSupported', + 'errorMessage' => 'The specified InstanceMetadataTags not supported.', + ], + [ + 'errorCode' => 'InvalidImdsAccessPolicyId.NotFound', + 'errorMessage' => 'The specified parameter ImdsAccessPolicyId is not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::DescribeInstances', + 'callbackInterval' => 10000, + 'maxCallbackTimes' => 30, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n ","errorExample":""}]', + 'title' => '修改实例内的元数据访问设置', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeUserData' => [ + 'summary' => '本接口用于查询一台ECS实例的自定义数据。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29011', + 'abilityTreeNodes' => [ + 'FEATUREecsYLNQGM', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定查询的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp14bnftyqhxg9ij****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp14bnftyqhxg9ij****', + ], + 'UserData' => [ + 'description' => '实例的自定义数据。'."\n" + ."\n" + .'> 如果实例不存在自定义数据,则返回空字符串。', + 'type' => 'string', + 'example' => 'ZWNobyBoZWxsbyBlY321ABC', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"InstanceId\\": \\"i-bp14bnftyqhxg9ij****\\",\\n \\"UserData\\": \\"ZWNobyBoZWxsbyBlY321ABC\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n i-bp14bnftyqhxg9ij****\\n ZWNobyBoZWxsbyBlY321ABC\\n cn-hangzhou\\n","errorExample":""}]', + 'title' => '查询实例自定义数据', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RenewInstance' => [ + 'summary' => '本接口用于续费一台包年包月的 ECS 实例,支持您设置续费时长或者续费至统一到期日。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29158', + 'abilityTreeNodes' => [ + 'FEATUREecsOZYITJ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要续费的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月续费时长。一旦指定了`DedicatedHostId`,则取值范围不能超过专有宿主机的订阅时长。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时,Period取值:1、2、3、4。'."\n" + .'- PeriodUnit=Month时,Period取值:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时,Period取值:1、2、3、4、5、6、7、8、9、12。'."\n" + ."\n" + .'> 您必须指定续费时长参数(`Period`、`PeriodUnit`)或统一到期日参数(`ExpectedRenewDay`)的其中一个,但不能同时设置。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长的时间单位,即参数Period的单位。取值范围:'."\n" + ."\n" + .''."\n" + .'- Week。'."\n" + .'- Month。'."\n" + ."\n" + .''."\n" + ."\n" + .'Month。'."\n" + ."\n" + .'默认值:Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'ExpectedRenewDay', + 'in' => 'query', + 'schema' => [ + 'description' => '用于续费实例至[统一到期日](~~63396~~)。取值范围:1~28。'."\n" + ."\n" + .'使用该参数,您需要[设置ECS实例统一到期日](~~63396#694cb636c0rp6~~),该参数值必须与您已设置的统一到期日保持一致,否则将调用失败。'."\n" + ."\n" + .'> 您必须指定续费时长参数(`Period`、`PeriodUnit`)或统一到期日参数(`ExpectedRenewDay`)的其中一个,但不能同时设置。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '1234567890', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => 'The specified InternetChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified InstanceType is not Supported.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter "InternetMaxBandwidthOut" is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The InstanceChargeType does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRebootTime.Malformed', + 'errorMessage' => 'The specified RebootTime is not valid.', + ], + [ + 'errorCode' => 'InvalidRebootTime.ValueNotSupported', + 'errorMessage' => 'The specified RebootTime is out of the permitted range.', + ], + [ + 'errorCode' => 'IdempotenceParamNotMatch', + 'errorMessage' => 'Request uses a client token in a previous request but is not identical to that request.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInstanceType.codeUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.InstanceNotSupported', + 'errorMessage' => 'The specified instance which is in vpc is not support the parameter InternetChargeType.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid.', + ], + [ + 'errorCode' => 'MissingParamter', + 'errorMessage' => 'The specified parameter "Period" is not null.', + ], + [ + 'errorCode' => 'Upgrade.NotSupported', + 'errorMessage' => 'Upgrade operation is not supported.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified instance is in VPC.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'DependencyViolation.InstanceType', + 'errorMessage' => 'Current instancetype cannot be changed to the specified one.', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostStatus.NotSupport', + 'errorMessage' => 'Operation denied due to dedicated host status.', + ], + [ + 'errorCode' => 'IncorrectDedicatedHostStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can\'t exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'InvalidStatus.Upgrading', + 'errorMessage' => 'The instance is upgrading; please try again later.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededMaximumExpirationDate', + 'errorMessage' => 'The specified renewal period cannot exceed the maximum expiration date. We recommend you try shortening the renewal period at next attempt.', + ], + [ + 'errorCode' => 'LastOrderProcessing', + 'errorMessage' => 'The previous order is still processing, please try again later.', + ], + [ + 'errorCode' => 'Idempotence.Processing', + 'errorMessage' => 'The previous request is still processing, please try again later.', + ], + [ + 'errorCode' => 'InvalidLoanOrderStatus.Uncompleted', + 'errorMessage' => 'Any unpaid order must be cancelled before you try this action again. The scheduled unpaid order is a loan order that cannot be auto cancelled. For more information, visit the loan management center.', + ], + [ + 'errorCode' => 'OperationDenied.UnfinishedOrder', + 'errorMessage' => 'The current instance has unfinished refundOrder, this operation is denied.', + ], + [ + 'errorCode' => 'InvalidPeriod.NotFound', + 'errorMessage' => 'The specified period and expectedRenewDay cannot both be empty.', + ], + [ + 'errorCode' => 'InvalidExpectedRenewDay.StarterPackageNotSupported', + 'errorMessage' => 'The specified starterPackage cannot support renew with expectedRenewDay.', + ], + [ + 'errorCode' => 'InvalidParam.ExpectedRenewDay', + 'errorMessage' => 'The specified param ExpectedRenewDay is not valid.', + ], + [ + 'errorCode' => 'QuotaExceed.AlignInstance', + 'errorMessage' => 'The maximum number of align operations is exceeded.', + ], + [ + 'errorCode' => 'InvalidExpectedRenewDay.Conflict', + 'errorMessage' => 'The specified expectedRenewDay is in conflict with period.', + ], + [ + 'errorCode' => 'InvalidExpectedRenewDay.ValueNotSupported', + 'errorMessage' => 'The specified parameter ExpectedRenewDay is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.AbnormalInstanceInfo', + 'errorMessage' => 'The current renewable operation is not supported due to abnormal information of the instance, please submit ticket to process.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'InvalidOperation.ClassicNetworkTypeNotSupported', + 'errorMessage' => 'The classic network instance does not support this operation.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + [ + 'errorCode' => 'Diskcategory.Mismatch', + 'errorMessage' => 'The disk specified to convert to portable is not allowed due to the disk category does not support.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceSpecModification.NotEffective', + 'errorMessage' => 'The specified instance has been reserved for making a spec modification and not taken effective in the current contract period.', + ], + [ + 'errorCode' => 'LastTokenProcessing', + 'errorMessage' => 'The last token request is processing.', + ], + [ + 'errorCode' => 'Instance.UnPaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InvalidDisk.NotAllowed', + 'errorMessage' => 'The specified disk is not allowed to be converted to portable.', + ], + [ + 'errorCode' => 'InstanceTypeNotSupported', + 'errorMessage' => 'The specified zone does not offer the specified instancetype.', + ], + [ + 'errorCode' => 'InvalidChargeType.NotSupported', + 'errorMessage' => 'The chargeType of the instance does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone, try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'OperationDenied.ImageNotValid', + 'errorMessage' => 'The specified image is not authorized.', + ], + [ + 'errorCode' => 'InvalidPeriod.StarterPackage', + 'errorMessage' => 'This instance was created by using a Starter Package plan and can only be renewed monthly, not yearly.', + ], + [ + 'errorCode' => 'RenewDateNotSupported.StarterPackage', + 'errorMessage' => 'This instance was created by using a Starter Package plan and can only be renewed three days before it expires.', + ], + [ + 'errorCode' => 'PrePaidInstance.Expired', + 'errorMessage' => 'The prePaid instance has expired.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"1234567890\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 1234567890\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '续费实例', + 'description' => '**请确保在使用该接口前,您已充分了解云服务器ECS的计费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)[价格](https://www.alibabacloud.com/product/ecs#pricing)**。'."\n" + ."\n" + .'- 请确保您的账号余额或信用额度充足。'."\n" + .'- 仅支持包年包月的实例,按量付费的实例调用该接口会报错。'."\n" + .'- 续费时长参数(`Period`、`PeriodUnit`)与统一到期日参数(`ExpectedRenewDay`)必须指定其中之一,但不能同时设置。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceAutoRenewAttribute' => [ + 'summary' => '本接口用于查询一台或多台包年包月ECS实例的自动续费属性,包括是否开启自动续费、续费周期等信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28947', + 'abilityTreeNodes' => [ + 'FEATUREecsQDYV10', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。支持最多100台包年包月实例批量查询,多个实例ID以半角逗号分隔。'."\n" + ."\n" + .'> `InstanceId`与`RenewalStatus`参数至少需要填写一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp18x3z4hc7bixhx****,i-bp1g6zv0ce8oghu7****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的自动续费状态。取值范围:'."\n" + ."\n" + .'- AutoRenewal:设置为自动续费。'."\n" + ."\n" + .'- Normal:取消自动续费。'."\n" + ."\n" + .'- NotRenewal:不再续费,系统不再发送到期提醒,只在到期前第三天发送不续费提醒。不再续费的ECS实例可以通过[ModifyInstanceAutoRenewAttribute](~~52843~~)更改成待续费(`Normal`)后,再自行续费或设置为自动续费。', + 'type' => 'string', + 'required' => false, + 'example' => 'AutoRenewal', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页展示响应信息时设置的每页行数,单位:行。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'string', + 'required' => false, + 'example' => '10', + 'pattern' => '^\\d+$', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询接口返回资源信息列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'pattern' => '^\\d+$', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '返回的实例总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'InstanceRenewAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceRenewAttribute' => [ + 'description' => '实例续费的属性InstanceRenewAttribute的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodUnit' => [ + 'description' => '自动续费时长的单位。', + 'type' => 'string', + 'example' => 'week', + ], + 'Duration' => [ + 'description' => '自动续费时长。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RenewalStatus' => [ + 'description' => '实例的自动续费状态。可能值:'."\n" + ."\n" + .'- AutoRenewal:设置为自动续费。'."\n" + ."\n" + .'- Normal:取消自动续费。'."\n" + ."\n" + .'- NotRenewal:不再续费,系统不再发送到期提醒,只在到期前第三天发送不续费提醒。不再续费的ECS实例可以通过[ModifyInstanceAutoRenewAttribute](~~52843~~)更改成待续费(`Normal`)后,再自行续费或设置为自动续费。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp18x3z4hc7bixhx****', + ], + 'AutoRenewEnabled' => [ + 'description' => '是否已设置自动续费。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'EnableExpectedRenewDay' => [ + 'type' => 'boolean', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + ], + 403 => [ + [ + 'errorCode' => 'MissingParameter.InstanceId', + 'errorMessage' => 'InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.ToManyInstanceIds', + 'errorMessage' => 'InstanceId should be less than 100.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go instances do not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.RenewalStatus', + 'errorMessage' => 'The specified parameter RenewalStatus is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.RenewalStatusInstanceId', + 'errorMessage' => 'The parameter RenewalStatus and InstanceId can not be both empty.', + ], + [ + 'errorCode' => 'InvalidParameter.PageSize', + 'errorMessage' => 'The specified parameter PageSize is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.PageNumber', + 'errorMessage' => 'The specified parameter PageNumber is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidInstanceId', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 6,\\n \\"InstanceRenewAttributes\\": {\\n \\"InstanceRenewAttribute\\": [\\n {\\n \\"PeriodUnit\\": \\"week\\",\\n \\"Duration\\": 1,\\n \\"RenewalStatus\\": \\"Normal\\",\\n \\"InstanceId\\": \\"i-bp18x3z4hc7bixhx****\\",\\n \\"AutoRenewEnabled\\": false,\\n \\"EnableExpectedRenewDay\\": true\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx\\", \\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"IncompleteSignature\\",\\n \\"Message\\": \\"The request signature does not conform to Aliyun standards.\\"\\n}"},{"type":"xml","example":"\\n 1\\n 1\\n \\n \\n AutoRenewal\\n 1\\n i-bp18x3z4hc7bixhx****\\n true\\n Week\\n \\n \\n 1\\n DAE023B4-A78F-4B39-8860-96F17B54F772\\n","errorExample":"\\n 540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx\\n ecs.aliyuncs.com\\n IncompleteSignature\\n The request signature does not conform to Aliyun standards.\\n"}]', + 'title' => '查询实例自动续费属性', + 'description' => '- 仅支持包年包月的实例,按量付费的实例调用该接口会报错。'."\n" + .'- 在设置自动续费或者手动续费前,查询实例续费状态可以帮助您了解实例是否已为自动续费状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceAutoRenewAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29071', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。支持批量设置最多100个包年包月实例,多个实例ID以英文逗号分隔。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****,i-bp67acfmxazb4pi****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => [ + 'description' => '设置实例自动续费时长。'."\n" + ."\n" + .''."\n" + .'- `PeriodUnit`为`Year`(年)时,`Duration`的取值范围为:{"1", "2", "3", "4", "5"}'."\n" + .'- `PeriodUnit`为`Month`(月)时,`Duration`的取值范围为:{"1", "2", "3", "6", "12", "24", "36", "48", "60"}'."\n" + .'- `PeriodUnit`为`Week`(周)时,`Duration`的取值范围为:{"1", "2", "3", "4"}'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- `PeriodUnit`为`Year`(年)时,`Duration`的取值范围为:{"1", "2", "3", "4", "5"}'."\n" + .'- `PeriodUnit`为`Month`(月)时,`Duration`的取值范围为:{"1", "2", "3", "6", "12", "24", "36", "48", "60"}'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- `PeriodUnit`为`Year`(年)时,`Duration`的取值范围为:{"1", "2", "3", "4", "5"}'."\n" + .'- `PeriodUnit`为`Month`(月)时,`Duration`的取值范围为:{"1", "2", "3", "6", "12", "24", "36", "48", "60"}'."\n" + ."\n" + .''."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '实例到期前是否自动续费。'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + ], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的自动续费状态。取值范围:'."\n" + ."\n" + .'- AutoRenewal:设置为自动续费。'."\n" + ."\n" + .'- Normal:取消自动续费。'."\n" + ."\n" + .'- NotRenewal:不再续费。传入该值后,系统不再发送到期提醒,只在到期前第三天发送不续费提醒。不再续费的ECS实例可以更改成待续费(`Normal`)后,再自行续费或设置为自动续费。'."\n" + ."\n" + .'> 参数`RenewalStatus`的优先级高于参数`AutoRenew`。如果不传入参数`RenewalStatus`,则默认以参数`AutoRenew`为准。', + 'type' => 'string', + 'required' => false, + 'example' => 'AutoRenewal', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长的时间单位,即参数`Duration`的单位。取值范围:'."\n" + ."\n" + .''."\n" + .'- Week'."\n" + .'- Month(默认)'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- Month(默认)'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- Month(默认)'."\n" + .'- Year'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.StarterPackage', + 'errorMessage' => 'Instance created with a Starter Package plan can not set auto renew.', + ], + ], + 403 => [ + [ + 'errorCode' => 'MissingParameter.InstanceId', + 'errorMessage' => 'InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.ToManyInstanceIds', + 'errorMessage' => 'InstanceId should be less than 100.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go instances do not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.Duration', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.RenewalStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.StarterPackage', + 'errorMessage' => 'This instance was created by using a Starter Package plan and can only be renewed monthly, not yearly.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + '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' => '修改实例的自动续费属性', + 'summary' => '本接口用于修改一台或多台包年包月实例的自动续费属性,可以帮助您减少资源到期的维护成本。', + 'description' => '**请确保在使用该接口前,您已充分了解云服务器ECS的计费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)[价格](https://www.alibabacloud.com/product/ecs#pricing)**。'."\n" + ."\n" + .'- 请确保您的账号余额或者信用额度充足。'."\n" + .'- 仅支持包年包月的实例,按量付费的实例调用该接口会报错。'."\n" + .'- 自动续费扣款日为实例到期前第9天,扣费在北京时间(UTC +8)08:00:00开始执行。'."\n" + .'- 若前一日执行自动扣费失败,将会在下一日定时继续执行,直到扣费成功或者9天之后实例到期锁定。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 若新建实例的购买时长为一周,则会在创建成功的第一天自动扣款续费。'."\n" + .'', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReActivateInstances' => [ + 'summary' => '本接口用于重新启动一台已过期或欠费回收的按量付费ECS实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29131', + 'abilityTreeNodes' => [ + 'FEATUREecsST66ZD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要重开机的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。'."\n", + 'type' => 'string', + 'example' => '51AB7717-6E1A-4D1D-A44D-54CB123ABC', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ReopenInstance.InstanceNotEnoughBalance', + 'errorMessage' => 'Reopen instance must have enough account balance.', + ], + [ + 'errorCode' => 'ReopenInstance.ImageNotEnoughBalance', + 'errorMessage' => 'Reopen instance must have enough cash balance.', + ], + [ + 'errorCode' => 'ReopenInstance.InstanceStatusNotValid', + 'errorMessage' => 'Instance status is not Expired, ImageExpired or EcsAndImageExpired.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidPayType.NotSupport', + 'errorMessage' => 'The specified pre pay instance not support.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"51AB7717-6E1A-4D1D-A44D-54CB123ABC\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 51AB7717-6E1A-4D1D-A44D-54CB123ABC\\n","errorExample":""}]', + 'title' => '重新激活已过期或欠费回收的实例', + 'description' => '按量付费实例结清欠费账单后,您无需调用该接口激活实例,系统会自动重开机将您的实例恢复到欠费之前的状态。自动重开机偶尔会出现失败的情况,请您关注自动重开机是否成功。如果自动重开机失败,请通过该接口进行手动重开机。'."\n" + ."\n" + .'- 结清欠费后,您的阿里云账户余额(即现金余额)和代金券的总值不得小于100.00元人民币,否则无法重新启动实例。'."\n" + .'- 实例必须处于**已过期**(`Stopped`)或者**欠费回收中**(`Stopped`)的状态。'."\n" + .'- 实例必须处于**已过期**(`Stopped`)的状态。'."\n" + ."\n" + .'- 被安全锁定的实例不能通过调用该接口启动。更多信息,请参见[资源安全锁定对调用API的影响](~~25695~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSpotPriceHistory' => [ + 'summary' => '本接口用于查询抢占式实例的历史价格,最多支持获取近30天内的数据,通过历史价格数据可以帮助您合理的设置抢占式实例的单台实例上限价格。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29294', + 'abilityTreeNodes' => [ + 'FEATUREecs2UXJI2', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例网络类型。取值范围:'."\n" + ."\n" + .'- classic:表示抢占式实例的网络类型为经典网络。'."\n" + ."\n" + .'- vpc:表示抢占式实例的网络类型为专有网络。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecs.t1.xsmall', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:'."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'> 当SpotStrategy值为SpotWithPriceLimit或SpotAsPriceGo时该参数生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。取值范围:'."\n" + ."\n" + .'- optimized:表示抢占式实例为I/O优化实例。'."\n" + ."\n" + .'- none:表示抢占式实例为非I/O优化实例。'."\n" + ."\n" + .'系列I实例默认值:none。'."\n" + ."\n" + .'其余实例规格族默认值:optimized。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '查询抢占式实例历史价格的起始时间,最大值不得超过指定的结束时间30天。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。'."\n" + ."\n" + .'默认值:空,空代表结束时间前3小时。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-08-22T08:45:08Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '查询抢占式实例历史价格的结束时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。'."\n" + ."\n" + .'默认值:空,空表示当前时间。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-08-22T08:45:08Z', + ], + ], + [ + 'name' => 'OSType', + 'in' => 'query', + 'schema' => [ + 'description' => '操作系统的发行平台类型。取值范围:'."\n" + ."\n" + .'- linux。'."\n" + .'- windows。', + 'type' => 'string', + 'required' => false, + 'example' => 'linux', + ], + ], + [ + 'name' => 'Offset', + 'in' => 'query', + 'schema' => [ + 'description' => '查询开始行。'."\n" + ."\n" + .'默认值:0。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Currency' => [ + 'description' => '价格的货币单位。'."\n" + ."\n" + .'中国站:CNY。'."\n" + ."\n" + .'国际站:USD。', + 'type' => 'string', + 'example' => 'CNY', + ], + 'NextOffset' => [ + 'description' => '下一页开始行,查询下一页的数据。参数`Offset`的指定值为该值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000', + ], + 'SpotPrices' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SpotPriceType' => [ + 'description' => '抢占价格详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IoOptimized' => [ + 'description' => '抢占式实例是否为I/O优化实例。', + 'type' => 'string', + 'example' => 'optimized', + ], + 'ZoneId' => [ + 'description' => '抢占式实例所属的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-c', + ], + 'SpotPrice' => [ + 'description' => '抢占式实例价格。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.036', + ], + 'Timestamp' => [ + 'description' => '时间格式为`yyyy-MM-ddTHH:mm:ssZ`的价格时间。', + 'type' => 'string', + 'example' => '2019-11-19T06:00:00Z', + ], + 'NetworkType' => [ + 'description' => '抢占式实例的网络类型。', + 'type' => 'string', + 'example' => 'vpc', + ], + 'InstanceType' => [ + 'description' => '抢占式实例的实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'OriginPrice' => [ + 'description' => '按量付费实例部分原价。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.354', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.StartTime', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EndTime', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.Abs.InvalidSpotInstanceUID', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.NetworkType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.IoOptimized', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.OSType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.IoOptimized.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The specified zone does not exist.', + ], + [ + 'errorCode' => 'InvalidParams.ZoneId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.InstanceType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.PageSize', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.Offset', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'DependencyViolation.IoOptimized', + 'errorMessage' => 'The specified instancetype must be IoOptimized instance.', + ], + [ + 'errorCode' => 'InvalidSpotDuration', + 'errorMessage' => 'The specified SpotDuration is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.QueryFail', + 'errorMessage' => 'Query spot price fail, please retry later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbedden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.RegionIdNotSupported', + 'errorMessage' => 'region not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.FlavorNotSupported', + 'errorMessage' => 'flavor not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.TimestampNotSupported', + 'errorMessage' => 'timestamp not support spot duration instance.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Currency\\": \\"CNY\\",\\n \\"NextOffset\\": 1000,\\n \\"SpotPrices\\": {\\n \\"SpotPriceType\\": [\\n {\\n \\"IoOptimized\\": \\"optimized\\",\\n \\"ZoneId\\": \\"cn-hangzhou-c\\",\\n \\"SpotPrice\\": 0.036,\\n \\"Timestamp\\": \\"2019-11-19T06:00:00Z\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"OriginPrice\\": 0.354\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx\\", \\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"IncompleteSignature\\",\\n \\"Message\\": \\"The request signature does not conform to Aliyun standards.\\"\\n}"},{"type":"xml","example":"\\n 5E2D59BA-4EB0-45C4-A0D7-D98C1A4B320B\\n \\n \\n optimized\\n 0.354\\n vpc\\n cn-hangzhou-g\\n 2019-11-19T06:00:00Z\\n 0.036\\n ecs.g5.large\\n \\n \\n optimized\\n 0.354\\n vpc\\n cn-hangzhou-g\\n 2019-11-19T07:00:00Z\\n 0.036\\n ecs.g5.large\\n \\n \\n CNY\\n","errorExample":"\\n 540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx\\n ecs.aliyuncs.com\\n IncompleteSignature\\n The request signature does not conform to Aliyun standards.\\n"}]', + 'title' => '查询抢占式实例的历史价格', + 'description' => '- 仅支持查询I/O优化的抢占式实例。'."\n" + .'- 接口返回的数据可能会分页,若返回的数据包含`NextOffset`参数,您可以将请求参数中的`Offset`值设置为`NextOffset`值进行后续数据查询。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSpotAdvice' => [ + 'summary' => '本接口用于查询指定地域下,抢占式实例近30天的平均释放率、平均折扣率等信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29001', + 'abilityTreeNodes' => [ + 'FEATUREecs2UXJI2', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Cores', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格的vCPU数量。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格的内存大小。单位:GiB。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '8.0', + ], + ], + [ + 'name' => 'MinCores', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格的vCPU数量的最小值。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MinMemory', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格的内存大小的最小值。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '8.0', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。'."\n" + ."\n" + .'默认值:无,即查询指定地域下的所有可用区。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-i', + ], + ], + [ + 'name' => 'InstanceTypeFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格族。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c5', + ], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格族级别。取值范围:'."\n" + ."\n" + .'- EntryLevel:入门级。'."\n" + .'- EnterpriseLevel:企业级。'."\n" + .'- CreditEntryLevel:积分入门级。更多信息,请参见[突发性能实例](~~59977~~)。'."\n" + ."\n" + .'默认值:无,即查询所有级别。', + 'type' => 'string', + 'required' => false, + 'example' => 'EntryLevel', + ], + ], + [ + 'name' => 'GpuSpec', + 'in' => 'query', + 'schema' => [ + 'description' => 'GPU计算卡的类型。取值范围:'."\n" + ."\n" + .'- NVIDIA P4'."\n" + .'- NVIDIA T4'."\n" + .'- NVIDIA P100 '."\n" + .'- NVIDIA V100'."\n" + ."\n" + .'默认值:无,即查询所有类型。更多信息,请参见[GPU计算型实例概述](~~108496~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'NVIDIA T4', + ], + ], + [ + 'name' => 'GpuAmount', + 'in' => 'query', + 'schema' => [ + 'description' => 'GPU实例对应的GPU数量。取值请参见[GPU计算型实例概述](~~108496~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例规格列表。最多可输入10个实例规格。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c5.large', + ], + 'required' => false, + 'example' => 'ecs.c5.large', + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'AvailableSpotZones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableSpotZone' => [ + 'description' => '可用区及其对应的抢占式实例相关信息组成的数组。'."\n" + ."\n" + .'> 返回值的顺序按照实例规格的历史平均折扣率排序。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-i', + ], + 'AvailableSpotResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableSpotResource' => [ + 'description' => '近30天抢占式实例的释放率、折扣率等信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InterruptRateDesc' => [ + 'description' => '近30天抢占式实例的释放率的范围,对应`InterruptionRate`返回值。可能值:'."\n" + ."\n" + .'- 0-3%'."\n" + .'- 3-5%'."\n" + .'- 5-10%'."\n" + .'- 10-100%', + 'type' => 'string', + 'example' => '0-3%', + ], + 'AverageSpotDiscount' => [ + 'description' => '近30天抢占式实例的均价相比按量付费实例价格的折扣率。单位:%。可能值:1~100。'."\n" + ."\n" + .'您可以根据该返回值计算抢占式实例的均价。例如,按量付费实例的价格为1,该返回值为20(即20%),则近30天抢占式实例的均价为0.2。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.c5.large', + ], + 'InterruptionRate' => [ + 'description' => '近30天抢占式实例的平均释放率。单位:%。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.SaleStrategy', + 'errorMessage' => 'The specified saleStrategy is not valid.', + ], + [ + 'errorCode' => 'Invalid.Param', + 'errorMessage' => 'The input parameter DestinationResource that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidParam.TypeAndCpuMem.Conflict', + 'errorMessage' => 'The specified \'InstanceType\' and \'Cores\',\'Memory\' are not blank at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Cores', + 'errorMessage' => 'The specified parameter \'Cores\' should not be empty', + ], + [ + 'errorCode' => 'InvalidParam.Memory', + 'errorMessage' => 'The specified parameter \'Memory\' should not be empty', + ], + [ + 'errorCode' => 'OperationDenied.RegionIdNotSupported', + 'errorMessage' => 'region not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.FlavorNotSupported', + 'errorMessage' => 'flavor not support spot duration instance.', + ], + [ + 'errorCode' => 'OperationDenied.TimestampNotSupported', + 'errorMessage' => 'timestamp not support spot duration instance.', + ], + ], + [ + [ + 'errorCode' => 'Invalid.RegionId', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'Unavailable.Regions', + 'errorMessage' => 'The available regions does not exists', + ], + [ + 'errorCode' => 'Invalid.ResourceType', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + [ + 'errorCode' => 'Invalid.DestinationResource', + 'errorMessage' => 'The specified DestinationResource is not valid.', + ], + [ + 'errorCode' => 'Invalid.IoOptimized', + 'errorMessage' => 'The specified IoOptimized is not valid.', + ], + [ + 'errorCode' => 'Invalid.NetworkType', + 'errorMessage' => 'The specified NetworkType is not valid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"AvailableSpotZones\\": {\\n \\"AvailableSpotZone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-i\\",\\n \\"AvailableSpotResources\\": {\\n \\"AvailableSpotResource\\": [\\n {\\n \\"InterruptRateDesc\\": \\"0-3%\\",\\n \\"AverageSpotDiscount\\": 20,\\n \\"InstanceType\\": \\"ecs.c5.large\\",\\n \\"InterruptionRate\\": 0\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n \\n cn-hangzhou-i\\n \\n \\n \\n \\n 0-3%\\n ecs.c5.large\\n 20\\n 0\\n \\n \\n \\n \\n cn-hangzhou\\n","errorExample":""}]', + 'title' => '查询抢占式实例平均释放率和折扣率', + 'description' => '- 仅支持查询专有网络VPC、I/O优化的抢占式实例。'."\n" + .'- 您可以通过以下任一方式调用接口查询:'."\n" + .' - 设置`Cores`、`Memory`两参数或`MinCores`、`MinMemory`两参数,查询符合vCPU及内存要求的实例规格信息。'."\n" + .' - 设置`InstanceTypes.N`查询指定的实例规格信息。'."\n" + .' - 设置`Cores`、`Memory`两参数或`MinCores`、`MinMemory`两参数后,再设置`InstanceTypeFamily`或`InstanceFamilyLevel`,查询某一实例规格族或某一级别内,符合vCPU及内存要求的实例规格信息。'."\n" + ."\n" + .'- 通过平均折扣率和按量付费实例价格可以计算出抢占式实例平均价格。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateImage' => [ + 'summary' => '创建一份自定义镜像。后续您可以使用创建的自定义镜像创建ECS实例(RunInstances),或者更换实例的系统盘(ReplaceSystemDisk)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28829', + 'abilityTreeNodes' => [ + 'FEATUREecsJ8B02D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '用于创建自定义镜像的快照ID。'."\n" + ."\n" + .'> 如果仅使用实例的系统盘快照创建自定义镜像时,您可以使用该参数,也可以选用参数`DiskDeviceMapping.N.SnapshotId`。如果增加数据盘快照,只能使用`DiskDeviceMapping.N.SnapshotId`参数指定快照。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17441ohwkdca0****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。根据实例创建自定义镜像时,必须指定该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1g6zv0ce8oghu7****', + ], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestCentOS', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像族系名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以aliyun和acs:开头,不能包含http://或者https://。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'hangzhou-daily-update', + ], + ], + [ + 'name' => 'ImageVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像版本。'."\n" + ."\n" + .'> 当您指定了实例ID(`InstanceId`),并且该实例的镜像是云市场镜像或者来自云市场镜像创建的自定义镜像时,该参数必须和当前实例镜像的`ImageVersion`相同或置为空。', + 'type' => 'string', + 'required' => false, + 'example' => '2017011017', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像的描述信息。长度为2~256个英文或中文字符,不能以http://或https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ImageTestDescription', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '操作系统,指定数据盘快照做镜像的系统盘后,需要通过Platform确定系统盘的操作系统发行版。取值范围:'."\n" + ."\n" + .'- Aliyun'."\n" + .'- Anolis'."\n" + .'- CentOS'."\n" + .'- Ubuntu'."\n" + .'- CoreOS'."\n" + .'- SUSE'."\n" + .'- Debian'."\n" + .'- OpenSUSE'."\n" + .'- FreeBSD'."\n" + .'- RedHat'."\n" + .'- Kylin'."\n" + .'- UOS'."\n" + .'- Fedora'."\n" + .'- Fedora CoreOS'."\n" + .'- CentOS Stream'."\n" + .'- AlmaLinux'."\n" + .'- Rocky Linux'."\n" + .'- Gentoo'."\n" + .'- Customized Linux'."\n" + .'- Others Linux'."\n" + .'- Windows Server 2022'."\n" + .'- Windows Server 2019'."\n" + .'- Windows Server 2016'."\n" + .'- Windows Server 2012'."\n" + .'- Windows Server 2008'."\n" + .'- Windows Server 2003'."\n" + ."\n" + .'默认值:Others Linux。', + 'type' => 'string', + 'required' => false, + 'example' => 'CentOS', + ], + ], + [ + 'name' => 'BootMode', + 'in' => 'query', + 'schema' => [ + 'description' => '修改镜像的启动模式。取值范围:'."\n" + ."\n" + .'- BIOS:BIOS启动模式。'."\n" + .'- UEFI:UEFI启动模式。'."\n" + .'- (默认)UEFI-Preferred:双启动模式。 '."\n" + ."\n" + .''."\n" + ."\n" + .'为了避免使用镜像不支持的启动模式导致实例无法正常启动,请您务必在选择该参数之前了解目标镜像支持的启动模式。镜像启动模式详情,请参见[镜像启动模式](~~2244655#b9caa9b8bb1wf~~)。'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'BIOS' => 'BIOS', + 'UEFI' => 'UEFI', + 'UEFI-Preferred' => 'UEFI-Preferred', + ], + 'example' => 'BIOS', + ], + ], + [ + 'name' => 'Architecture', + 'in' => 'query', + 'schema' => [ + 'description' => '系统架构,指定数据盘快照做镜像的系统盘后,需要通过Architecture确定系统盘的系统架构。取值范围:'."\n" + ."\n" + .'- i386。'."\n" + .'- x86_64。'."\n" + .'- arm64。'."\n" + ."\n" + .'默认值:x86_64。', + 'type' => 'string', + 'required' => false, + 'example' => 'x86_64', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像所在的资源组ID。如果不设置该参数值,创建的镜像属于默认资源组。'."\n" + ."\n" + .'> 如果您使用RAM用户调用该接口,且`ResourceGroupId`取值为空,您需要注意,当RAM用户没有默认资源组权限时,调用接口会返回报错信息`Forbidden: User not authorized to operate on the specified resource`。请设置RAM用户支持的资源组ID或者通过相应阿里云账号为该RAM用户授予默认资源组权限后,再次调用该接口。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DiskDeviceMapping', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '创建自定义镜像使用的云盘和快照信息集合。如果需要根据系统盘快照和数据盘快照创建自定义镜像,请使用该参数指定快照。', + 'type' => 'array', + 'items' => [ + 'description' => '创建自定义镜像使用的云盘和快照。', + 'type' => 'object', + 'properties' => [ + 'SnapshotId' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17441ohwkdca0****', + ], + 'Size' => [ + 'description' => '云盘的大小,单位为GiB。DiskDeviceMapping.N.Size的取值和默认值和DiskDeviceMapping.N.SnapshotId有关:'."\n" + ."\n" + .'- 如果没有指定SnapshotId,Size取值以及默认值为:'."\n" + .' - 普通云盘:5~2000GiB,默认为5。'."\n" + .' - 其他云盘:20~32768GiB,默认为20。'."\n" + .'- 如果指定了SnapshotId,Size取值必须大于等于SnapshotId的大小,默认为SnapshotId的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + 'Device' => [ + 'description' => '指定在自定义镜像中的设备名称。取值范围:'."\n" + ."\n" + .'- 系统盘的设备名必须为:/dev/xvda。'."\n" + ."\n" + .'- 数据盘设备名从/dev/xvdb 依次排序到/dev/xvdz,不能重复。', + 'type' => 'string', + 'required' => false, + 'example' => '/dev/xvdb', + ], + 'DiskType' => [ + 'description' => '指定在新镜像中的云盘类型。您可以通过该参数使用数据盘快照作为镜像的系统盘,如果不指定,默认为快照对应的云盘类型。取值范围:'."\n" + ."\n" + .'- system:系统盘。只能指定 1 块系统盘快照。'."\n" + .'- data:数据盘。最多可以指定 16 块数据盘快照。', + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 17, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '镜像的标签键。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Key' => [ + 'description' => '镜像的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => '镜像的标签值。N的取值范围为1~20。一旦传入该值,允许为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'ValueTest', + ], + 'value' => [ + 'description' => '镜像的标签值。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DetectionStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像检测策略,不配置此参数时不触发检测。仅支持标准(Standard)检测模式。 '."\n" + ."\n" + .'> 目前已支持大部分的Linux/Windows版本,关于镜像检测项与操作系统限制说明,请参见[镜像检测概述](~~439819~~)和[镜像检测操作系统限制](~~475800~~)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'Features', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'ImdsSupport' => [ + 'description' => '镜像的元数据访问模式,可能值:'."\n" + .'- v1:通过该镜像创建ECS实例时,不支持将元数据访问模式设置为“仅加固模式”。'."\n" + .'- v2:通过该镜像创建ECS实例时,支持将元数据访问模式设置为“仅加固模式”。'."\n" + ."\n" + .'默认值:当使用快照创建镜像时,默认为v1。当使用实例创建镜像时,默认取实例创建时镜像的ImdsSupport属性值。', + 'type' => 'string', + 'required' => false, + 'example' => 'v2', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ImageId' => [ + 'description' => '镜像ID。', + 'type' => 'string', + 'example' => 'm-bp146shijn7hujku****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C8B26B44-0189-443E-9816-*******', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidImageName.Malformed', + 'errorMessage' => 'The specified Image name is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidImageName.Duplicated', + 'errorMessage' => 'The specified image name is already in use.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidImageVersion.Malformed', + 'errorMessage' => 'The specified ImageVersion is wrongly formed.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InvalidDevice.Malformed', + 'errorMessage' => 'The specified parameter DiskDeviceMapping.n.Device is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter SnapshotId or InstanceId or DiskDeviceMapping that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidSize.ValueNotSupported', + 'errorMessage' => 'The specified parameter DiskDeviceMapping.n.Size beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidDevice.InUse', + 'errorMessage' => 'The specified parameter DiskDeviceMapping.n.Device has been occupied.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.CreateImage', + 'errorMessage' => 'The specified diskCategory is not allowed to create image.', + ], + [ + 'errorCode' => 'InvalidArchitecture.Malformed', + 'errorMessage' => 'The specified Architecture is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidPlatform.Malformed', + 'errorMessage' => 'The specified Platform is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidParameter.AllEmpty', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.DiskType', + 'errorMessage' => 'The specified disk type which has kms key can\'t convert to system disk.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => 'The specified instance does not have system disk.', + ], + [ + 'errorCode' => 'InvalidImageFamily.Malformed', + 'errorMessage' => 'The format of the specified image family is invalid.', + ], + [ + 'errorCode' => 'ImageQuotaExceed.ImageFamily', + 'errorMessage' => 'The specified image family exceeds the maximum number of images for one image family.', + ], + [ + 'errorCode' => 'ImageFamilyQuotaExceed', + 'errorMessage' => 'The number of image families exceeds the limit in the region.', + ], + [ + 'errorCode' => 'InvalidDiskType.ValueNotSupported', + 'errorMessage' => 'The specified disk type is not supported.', + ], + [ + 'errorCode' => 'IdempotenceParamNotMatch', + 'errorMessage' => 'Request uses a client token in a previous request but is not identical to that request.', + ], + [ + 'errorCode' => 'InvalidBootMode.NotSupport', + 'errorMessage' => 'The specified parameter BootMode is not supported for current image architecture.', + ], + [ + 'errorCode' => 'InvalidParameter.FeaturesImdsSupport', + 'errorMessage' => 'The specified parameter Features.ImdsSupport is not supported.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskCategoryUnsupported', + 'errorMessage' => 'The current category of the disk does not support this operation.', + ], + [ + 'errorCode' => 'AccountForbidden.CreateOrder', + 'errorMessage' => 'Order cannot be created due to abnormal account.', + ], + [ + 'errorCode' => 'InvalidBootMode.Malformed', + 'errorMessage' => 'The specified parameter BootMode is invalid. Valid options are BIOS, UEFI, and UEFI-Preferred.', + ], + [ + 'errorCode' => 'InvalidDetectionStrategy.Malformed', + 'errorMessage' => 'The specified value for parameter DetectionStrategy is not supported. Please refer to the documentation for accepted values.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectDiskStatus.NeverAttached', + 'errorMessage' => 'The specified disk has never been attached to instance.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The current status of the DiskDeviceMapping.n.SnapshotId or SnapshotId does not support this operation.', + ], + [ + 'errorCode' => 'InvalidSnapshot.TooOld', + 'errorMessage' => 'This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified snapshot is not allowed to create image.', + ], + [ + 'errorCode' => 'QuotaExceed.Image', + 'errorMessage' => 'The Image Quota exceeds.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified same token is trying to make requests with different parameters.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in the white list of create image by data disk snapshot.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.Invalid', + 'errorMessage' => 'Device status is invalid, please restart instance and try again.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidSnapshotCategory', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.Snapshot', + 'errorMessage' => 'The snapshot quota exceeds.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.Transferring', + 'errorMessage' => 'The specified device is transferring, you can retry after the process is finished.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidSystemSnapshot.Missing', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.CreatingSnapshot', + 'errorMessage' => 'A previous snapshot creation is in process.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSnapshotCategory.NotSupportImageCreation', + 'errorMessage' => 'The specified snapshot category does not support create image.', + ], + [ + 'errorCode' => 'TooManySnapshot.Unfinished', + 'errorMessage' => 'There are too many snapshots being created, please wait for them to be created done.', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'SnapshotNotReady', + 'errorMessage' => 'The specified snapshot is not ready.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus.NeedRestart', + 'errorMessage' => 'The instance needs to be restarted after adding a disk in a shutdown status.', + ], + [ + 'errorCode' => 'QuotaExceed.ConcurrentSnapshotQuota', + 'errorMessage' => 'The number of snapshots being created for the disk %s has exceeded the concurrent quota (%s). Please wait for the previous snapshots to complete before trying again.', + ], + [ + 'errorCode' => 'InvalidOperation.SnapshotStorageLocationUnsupported', + 'errorMessage' => 'Snapshots with storage location in CloudBox do not support the current operation.', + ], + [ + 'errorCode' => 'AccountEnterpriseStatusInvalid', + 'errorMessage' => 'Your enterprise registration is marked as revoked/deregistered in the National Enterprise Credit Information Publicity System. Account transaction features (purchase/renewal/recharge) are disabled. Please update real-name certification via Account Center. Restrictions will auto-remove after verification.', + ], + [ + 'errorCode' => 'InvalidOperation.DefaultFreeSnapshotNotSupport', + 'errorMessage' => 'The specified snapshot is a default free snapshot and does not support this operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified SnapshotId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instance %s does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The process of creating snapshot has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ImageId\\": \\"m-bp146shijn7hujku****\\",\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-*******\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-*******\\n m-bp146shijn7hujku****\\n","errorExample":""}]', + 'title' => '创建自定义镜像', + 'description' => '### 注意事项'."\n" + ."\n" + .'- 本接口为异步接口,创建自定义镜像请求发送成功后会返回镜像 ID,镜像的创建不是立即完成的,需要调用 [DescribeImage](~~2679797~~) 查看镜像信息,当返回信息中的状态为`Available`时代表镜像创建成功并可用。更多信息,请参见[自定义镜像概述](~~172789~~)。'."\n" + ."\n" + .'- 查询 ECS 实例信息时,如果返回数据中包含{"OperationLocks": {"LockReason" : "security"}},则禁止创建自定义镜像。'."\n" + ."\n" + .'- 建议在创建镜像时配置镜像检测参数`DetectionStrategy`,有助于系统帮助优化您的镜像。更多信息,请参见[镜像检测概述](~~439819~~)。'."\n" + ."\n" + .'以下描述了三种通过该接口创建自定义镜像的方法。请求参数的优先级为:InstanceId > DiskDeviceMapping > SnapshotId,若您的请求中同时含有两个及以上参数,默认以优先级更高的参数为准创建镜像。'."\n" + ."\n" + .'- **根据实例创建自定义镜像**:指定实例ID(`InstanceId`)。'."\n" + .' - 实例的状态必须为运行中(`Running`)或者已停止(`Stopped`)。'."\n" + .' - 接口调用成功后,实例的每块云盘均会新增一份快照。'."\n" + ."\n" + .' >由于运行中的实例存在缓存数据未落盘的情况,可能导致创建的自定义镜像数据与实例数据不完全一致,因此建议您停止实例([StopInstances](~~155372~~))后创建镜像。>'."\n" + ."\n" + .'- **根据快照创建自定义镜像(指定的快照不能是2013年7月15日(含)之前创建的快照。)**'."\n" + .' - **使用系统盘快照创建自定义镜像**:只需指定实例系统盘的快照ID(`SnapshotId`)。'."\n" + .' - **使用系统盘快照和数据盘快照创建自定义镜像**:这需要建立几块云盘的数据关联(`DiskDeviceMapping`)。'."\n" + .' - 系统盘快照只能被指定一个。 '."\n" + .' - 数据盘快照可以指定多个,最多不能超过16块。不指定`DiskDeviceMapping.N.SnapshotId`时会创建一个默认容量的空数据盘。 '."\n" + .' '."\n" + .'> 当释放实例时,系统盘将被转为按量付费数据盘保留。该盘创建的快照不支持创建自定义镜像,请根据需要在实例释放前制作自定义镜像。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeImages' => [ + 'summary' => '指定ImageId、镜像被使用场景、Filter过滤等参数,查询您可以使用的镜像资源列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28942', + 'abilityTreeNodes' => [ + 'FEATUREecsJ8B02D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '查询指定状态的镜像,如果不配置此参数,默认只返回Available状态的镜像。取值范围:'."\n" + ."\n" + .'- Creating:镜像正在创建中。'."\n" + .'- Waiting:多任务排队中。'."\n" + .'- Available(默认):您可以使用的镜像。'."\n" + .'- UnAvailable:您不能使用的镜像。'."\n" + .'- CreateFailed:创建失败的镜像。'."\n" + .'- Deprecated:已弃用的镜像。'."\n" + ."\n" + .'默认值:Available。当前参数支持同时取多个值,值之间以半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + 'default' => 'Available', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID。'."\n" + ."\n" + .'
'."\n" + .'镜像ID的命名规则'."\n" + ."\n" + .'- 公共镜像:以操作系统版本号、架构、语言和发布日期命名。例如,Windows Server 2008 R2企业版、64位英文系统的镜像ID为win2008r2_64_ent_sp1_en-us_40G_alibase_20190318.vhd。'."\n" + ."\n" + .'- 自定义镜像、共享镜像、云市场镜像、社区镜像的镜像:以m开头。'."\n" + ."\n" + .'
', + 'type' => 'string', + 'required' => false, + 'example' => 'm-bp1g7004ksh0oeuc****', + ], + ], + [ + 'name' => 'ShowExpired', + 'in' => 'query', + 'schema' => [ + 'description' => '订阅型镜像是否已经超过使用期限。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '根据某一快照ID创建的自定义镜像。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17ot2q7x72ggtw****', + ], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像名称。支持模糊搜索。', + 'type' => 'string', + 'required' => false, + 'example' => 'testImageName', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像族系名称,查询镜像时可通过设置该参数来过滤当前族系对应的镜像。'."\n" + ."\n" + .'默认值:空。'."\n" + .'> 阿里云官方镜像关联的镜像族系信息请参见[公共镜像概述](~~108393~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'hangzhou-daily-update', + ], + ], + [ + 'name' => 'ImageOwnerAlias', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像来源。取值范围:'."\n" + ."\n" + .'- system:阿里云官方提供的,且不是通过云市场发布的镜像,和控制台中的“公共镜像”概念不同。'."\n" + .'- self:您创建的自定义镜像。'."\n" + .'- others:包含共享镜像(其他阿里云用户直接共享给您的镜像)和社区镜像(任意阿里云用户将其自定义镜像完全公开共享后的镜像)。您需要注意:'."\n" + .' - 查找社区镜像时,IsPublic必须为true。'."\n" + .' - 查找共享镜像时,IsPublic需要设置为false或者不传值。'."\n" + .'- marketplace:阿里云或者第三方供应商ISV在云市场发布的镜像,需要和ECS一起购买。请自行留意云市场镜像的收费详情。'."\n" + ."\n" + .'默认值:空。'."\n" + ."\n" + .'>空表示返回取值为system、self以及others的结果。', + 'type' => 'string', + 'required' => false, + 'example' => 'self', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '为指定的实例规格查询可以使用的镜像。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'IsSupportIoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像是否可以运行在I/O优化实例上。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IsSupportCloudinit', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像是否支持cloud-init。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'OSType', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像的操作系统类型。取值范围:'."\n" + ."\n" + .'- windows。'."\n" + .'- linux。', + 'type' => 'string', + 'required' => false, + 'example' => 'linux', + ], + ], + [ + 'name' => 'Architecture', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像的体系架构。取值范围:'."\n" + ."\n" + .'- i386。'."\n" + .'- x86_64。'."\n" + .'- arm64。', + 'type' => 'string', + 'required' => false, + 'example' => 'i386', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像资源列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Usage', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像是否已经运行在ECS实例中。取值范围:'."\n" + ."\n" + .'- instance:镜像处于运行状态,有ECS实例使用。'."\n" + .'- none:镜像处于闲置状态,暂无ECS实例使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。'."\n" + .' '."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。 '."\n" + .'- false:发送正常请求,通过检查后返回2XX HTTP状态码并直接查询资源状况。 '."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ActionType', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像需要被使用到的场景。取值范围:'."\n" + ."\n" + .'- CreateEcs(默认):创建实例。'."\n" + .'- ChangeOS:更换系统盘/更换操作系统。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreateEcs', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像所在的企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '镜像的标签键。'."\n" + ."\n" + .'>该参数即将被弃用,为提高兼容性,建议您使用另一个`Tag.N.Key`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Key' => [ + 'description' => '镜像的标签键。N的取值范围:1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '镜像的标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '镜像的标签值。'."\n" + ."\n" + .'>该参数即将被弃用,为提高兼容性,建议您使用另一个`Tag.N.Value`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '查询资源时的筛选条件列表。', + 'type' => 'array', + 'items' => [ + 'description' => '查询资源时的筛选条件。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '查询资源时的筛选键。取值范围:'."\n" + ."\n" + .'- 当该参数取值为`CreationStartTime`时,可以查询在指定时间点(`Filter.N.Value`)后创建的资源信息。'."\n" + .'- 当该参数取值为`CreationEndTime`时,可以查询在指定时间点(`Filter.N.Value`)前创建的资源信息。'."\n" + .'- 当该参数取值为`NetworkType`时,可以查询指定网络类型的资源信息。'."\n" + .'- 当该参数取值为`CpuOnlineUpgrade`、`CpuOnlineDowngrade`、`MemoryOnlineUpgrade`、`MemoryOnlineDowngrade`中的任何一个值时,可以查询指定镜像的CPU或内存的热插拔支持情况。'."\n" + ."\n" + .'默认值:null。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationStartTime', + ], + 'Value' => [ + 'description' => '查询资源时的筛选值。'."\n" + .'- 当(`Filter.N.Key`)为`CreationStartTime`或`CreationEndTime`时,格式为:`yyyy-MM-ddTHH:mmZ`,采用 UTC+0 时区。'."\n" + .'- 当(`Filter.N.Key`)为`NetworkType`时,可以指定网络类型的值有:`vpc`、`classic`等。'."\n" + ."\n" + .'- 当(`Filter.N.Key`)取值为`CpuOnlineUpgrade`、`CpuOnlineDowngrade`、`MemoryOnlineUpgrade`、`MemoryOnlineDowngrade`时,该值可以取`supported`或`unsupported`。'."\n" + ."\n" + .'默认值:null。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-05T22:40Z', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'IsPublic', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询已发布的社区镜像。取值范围:'."\n" + ."\n" + .'- true:查询已发布的社区镜像。当您指定该参数值为true时,ImageOwnerAlias必须为others。'."\n" + .'- false:查询除社区镜像的其他镜像类型,具体以ImageOwnerAlias参数值为准。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ImageOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像所属的阿里云账号ID。该参数仅在查询共享镜像以及社区镜像时生效。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20169351435666****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '当前分页包含多少条目。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '66189103-EDB2-43E2-BB60-BFF2B62F4EB8', + ], + 'TotalCount' => [ + 'description' => '镜像总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => '镜像所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Images' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Image' => [ + 'description' => '镜像信息Images组成的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '镜像的创建时间。', + 'type' => 'string', + 'example' => '2019-11-15T06:07:05Z', + ], + 'Status' => [ + 'description' => '镜像的状态。可能值:'."\n" + ."\n" + .'- UnAvailable:不可用。'."\n" + .'- Available:可用。'."\n" + .'- Creating:创建中。'."\n" + .'- CreateFailed:创建失败。', + 'type' => 'string', + 'example' => 'Available', + ], + 'ImageFamily' => [ + 'description' => '镜像族系名称。', + 'type' => 'string', + 'example' => 'hangzhou-daily-update', + ], + 'Progress' => [ + 'description' => '镜像完成的进度,单位为百分比。', + 'type' => 'string', + 'example' => '100%', + ], + 'IsCopied' => [ + 'description' => '是否是拷贝的镜像。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'IsSupportIoOptimized' => [ + 'description' => '是否可以在I/O优化实例上运行。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ImageOwnerAlias' => [ + 'description' => '镜像来源。可能值:'."\n" + ."\n" + .'- system:阿里云提供的公共镜像。'."\n" + .'- self:您创建的自定义镜像。'."\n" + .'- others:其他阿里云用户提供的共享镜像或社区镜像。'."\n" + .'- marketplace:云市场镜像提供的镜像。', + 'type' => 'string', + 'example' => 'self', + ], + 'IsSupportCloudinit' => [ + 'description' => '是否支持Cloud Init。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ImageVersion' => [ + 'description' => '镜像版本。', + 'type' => 'string', + 'example' => '2', + ], + 'Usage' => [ + 'description' => '有引用关系的资源类型。可能值:'."\n" + ."\n" + .'- instance:创建了一台或多台ECS实例。'."\n" + .'- none:未创建过ECS实例。', + 'type' => 'string', + 'example' => 'none', + ], + 'IsSelfShared' => [ + 'description' => '是否共享过该自定义镜像给其他用户。', + 'type' => 'string', + 'example' => 'true', + ], + 'Description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'Archive log for Oracle', + ], + 'Size' => [ + 'description' => '镜像大小,单位:GiB。'."\n" + .''."\n" + .'如果镜像包含数据盘,此参数仅代表镜像关联的系统盘快照大小。'."\n" + .'', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'ResourceGroupId' => [ + 'description' => '镜像所在的企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'Platform' => [ + 'description' => '操作系统平台。', + 'type' => 'string', + 'example' => 'Windows Server 2016', + ], + 'OSNameEn' => [ + 'description' => '操作系统的英文显示名称。', + 'type' => 'string', + 'example' => 'Windows Server 2016 Data Center Edition 64bit Chinese Edition', + ], + 'ImageName' => [ + 'description' => '镜像的名称。', + 'type' => 'string', + 'example' => 'testImageName', + ], + 'OSName' => [ + 'description' => '操作系统的中文显示名称。', + 'type' => 'string', + 'example' => 'Windows Server 2016 数据中心版 64位中文版', + ], + 'ImageId' => [ + 'description' => '镜像ID。', + 'type' => 'string', + 'example' => 'm-bp1g7004ksh0oeuc****', + ], + 'OSType' => [ + 'description' => '操作系统类型。可能值:'."\n" + ."\n" + .'- windows。'."\n" + .'- linux。', + 'type' => 'string', + 'example' => 'windows', + ], + 'IsSubscribed' => [ + 'description' => '是否订阅了该镜像的商品码对应的镜像商品的服务条款。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ProductCode' => [ + 'description' => '云市场镜像中的镜像商品标识。', + 'type' => 'string', + 'example' => 'test000****', + ], + 'Architecture' => [ + 'description' => '镜像系统架构类型。可能值:'."\n" + ."\n" + .'- i386。'."\n" + .'- x86_64。'."\n" + .'- arm64。', + 'type' => 'string', + 'example' => 'x86_64', + ], + 'BootMode' => [ + 'description' => '镜像的启动模式。可能值:'."\n" + .'- BIOS:BIOS启动模式。'."\n" + .'- UEFI:UEFI启动模式。'."\n" + ."\n" + .'- UEFI-Preferred:双启动模式。'."\n" + ."\n" + .'更多关于镜像的启动模式说明,请参见[镜像启动模式](~~2244655#b9caa9b8bb1wf~~)。', + 'type' => 'string', + 'example' => 'BIOS', + ], + 'DiskDeviceMappings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskDeviceMapping' => [ + 'description' => '镜像下包含云盘和快照的映射关系集合。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像下包含云盘和快照的映射关系。', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '镜像的类型。', + 'type' => 'string', + 'example' => 'system', + ], + 'ImportOSSBucket' => [ + 'description' => '导入镜像所属OSS的bucket。', + 'type' => 'string', + 'example' => 'testEcsImport', + ], + 'Progress' => [ + 'description' => '对于复制中的镜像,返回复制任务的进度。', + 'type' => 'string', + 'example' => '32%', + ], + 'SnapshotId' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'example' => 's-bp17ot2q7x72ggtw****', + ], + 'ImportOSSObject' => [ + 'description' => '导入镜像所属OSS的object。', + 'type' => 'string', + 'example' => 'imageImport', + ], + 'Device' => [ + 'description' => '云盘的设备信息,例如/dev/xvdb。', + 'type' => 'string', + 'example' => '/dev/xvda', + ], + 'Size' => [ + 'description' => '云盘的大小。单位为GiB。', + 'type' => 'string', + 'example' => '60', + ], + 'RemainTime' => [ + 'description' => '对于复制中的镜像,返回复制任务的剩余时间,单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '233', + ], + 'Format' => [ + 'description' => '镜像格式。', + 'type' => 'string', + 'example' => 'qcow2', + ], + 'Encrypted' => [ + 'description' => '> 该参数正在邀测中。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '镜像的标签对信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像的标签对信息。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '镜像的标签值。', + 'type' => 'string', + 'example' => 'Oracle', + ], + 'TagKey' => [ + 'description' => '镜像的标签键。', + 'type' => 'string', + 'example' => 'DTS', + ], + ], + ], + ], + ], + ], + 'IsPublic' => [ + 'description' => '是否为公开镜像。公开镜像包括阿里云提供的公共镜像以及您已发布为社区镜像的自定义镜像。可能值:'."\n" + ."\n" + .'- true:公开镜像。'."\n" + .'- false:非公开镜像。'."\n" + ."\n\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ImageOwnerId' => [ + 'description' => '镜像所属的阿里云账号ID。该参数仅在查询共享镜像以及社区镜像时生效。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890', + ], + 'LoginAsNonRootSupported' => [ + 'description' => '当前镜像是否支持非root用户登录。可能值:'."\n" + ."\n" + .'- true:支持。'."\n" + ."\n" + .'- false:不支持。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'SupplierName' => [ + 'description' => '社区镜像认证企业名称。', + 'type' => 'string', + 'example' => 'TestName', + ], + 'DetectionOptions' => [ + 'description' => '镜像检测相关结果。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '镜像检测任务状态。可能值:'."\n" + ."\n" + .'- Processing:检测中。'."\n" + ."\n" + .'- Finished:检测完成。', + 'type' => 'string', + 'example' => 'Processing', + ], + 'Items' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Item' => [ + 'description' => '镜像检测项列表。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像检测项。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '镜像检测项名称。', + 'type' => 'string', + 'example' => 'Nvme', + ], + 'Value' => [ + 'description' => '镜像检测项结果。', + 'type' => 'string', + 'example' => 'Supported', + ], + 'RiskLevel' => [ + 'description' => '导入的自定义镜像检测项是否存在风险,如果存在风险返回此字段,不存在风险则不返回。'."\n" + ."\n" + .'风险等级可能值:'."\n" + ."\n" + .'- High:严重,影响实例能否启动成功,强烈建议修复。'."\n" + ."\n" + .'- Medium:重要,影响实例启动性能或者实例配置等,建议优化。', + 'type' => 'string', + 'example' => 'High', + ], + 'RiskCode' => [ + 'description' => '检测项可能存在的缺陷。', + 'type' => 'string', + 'example' => 'NVMe.NotInstalled', + ], + ], + ], + ], + ], + ], + ], + ], + 'Features' => [ + 'description' => '镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'NvmeSupport' => [ + 'description' => '镜像是否支持NVMe。可能值:'."\n" + ."\n" + .'- supported:支持。表示以该镜像创建的实例支持NVMe协议。'."\n" + ."\n" + .'- unsupported:不支持。表示以该镜像创建的实例不支持NVMe协议。', + 'type' => 'string', + 'example' => 'supported', + ], + 'ImdsSupport' => [ + 'description' => '镜像的元数据访问模式,可能值:'."\n" + .'- v1:通过该镜像创建ECS实例时,不支持将元数据访问模式设置为“仅加固模式”。'."\n" + .'- v2:通过该镜像创建ECS实例时,支持将元数据访问模式设置为“仅加固模式”。'."\n" + ."\n\n" + .'[实例元数据概述](~~108460~~)。', + 'type' => 'string', + 'example' => 'v2', + ], + 'CpuOnlineUpgrade' => [ + 'description' => '是否支持CPU热升配。可能值:'."\n" + .' '."\n" + .'- supported:支持。'."\n" + .'- unsupported :不支持。', + 'type' => 'string', + 'example' => 'supported', + ], + 'CpuOnlineDowngrade' => [ + 'description' => '是否支持CPU热降配。可能值:'."\n" + .' '."\n" + .'- supported:支持。'."\n" + .'- unsupported :不支持。', + 'type' => 'string', + 'example' => 'supported', + ], + 'MemoryOnlineUpgrade' => [ + 'description' => '是否支持内存热升配。可能值:'."\n" + .' '."\n" + .'- supported:支持。'."\n" + .'- unsupported :不支持。', + 'type' => 'string', + 'example' => 'unsupported', + ], + 'MemoryOnlineDowngrade' => [ + 'description' => '是否支持内存热降配。可能值:'."\n" + .' '."\n" + .'- supported:支持。'."\n" + .'- unsupported :不支持。', + 'type' => 'string', + 'example' => 'unsupported', + ], + ], + ], + 'LicenseType' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidImageOwnerAlias.ValueNotSupported', + 'errorMessage' => 'The specified ImageOwnerAlias value is not supported.', + ], + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => 'Invalid Parameter.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified instance type %s does not exist. You can use the DescribeInstanceTypes API to query the available instance types.', + ], + [ + 'errorCode' => 'InvalidFilterValue.NetworkType', + 'errorMessage' => 'The specified networkType value in the Filter is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.ImageOwnerIdUnsupported', + 'errorMessage' => 'The parameter "ImageOwnerId" is not supported in this context, it is only valid when querying shared images or community images.', + ], + [ + 'errorCode' => 'InvalidImageOwnerAlias.PublicImageUnsupported', + 'errorMessage' => 'When querying images, the parameter ImageOwnerAlias should be others while specified parameter IsPublic is true.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CurrentAccount.NotSupportPublicImage', + 'errorMessage' => 'Public image is not supported for current account.', + ], + ], + [ + [ + 'errorCode' => 'InvalidFilterKey.NotFound', + 'errorMessage' => 'The specified Filter Key is not found.', + ], + [ + 'errorCode' => 'InvalidFilterValue', + 'errorMessage' => 'The specified Filter Value is not valid.', + ], + [ + 'errorCode' => 'InvalidUsage', + 'errorMessage' => 'The specified Usage is not valid.', + ], + [ + 'errorCode' => 'InvalidOSType', + 'errorMessage' => 'The specified OSType is not valid.', + ], + [ + 'errorCode' => 'InvalidArchitecture', + 'errorMessage' => 'The specified Architecture is not valid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"66189103-EDB2-43E2-BB60-BFF2B62F4EB8\\",\\n \\"TotalCount\\": 1,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Images\\": {\\n \\"Image\\": [\\n {\\n \\"CreationTime\\": \\"2019-11-15T06:07:05Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"ImageFamily\\": \\"hangzhou-daily-update\\",\\n \\"Progress\\": \\"100%\\",\\n \\"IsCopied\\": false,\\n \\"IsSupportIoOptimized\\": true,\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"IsSupportCloudinit\\": true,\\n \\"ImageVersion\\": \\"2\\",\\n \\"Usage\\": \\"none\\",\\n \\"IsSelfShared\\": \\"true\\",\\n \\"Description\\": \\"Archive log for Oracle\\",\\n \\"Size\\": 60,\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"Platform\\": \\"Windows Server 2016\\",\\n \\"OSNameEn\\": \\"Windows Server 2016 Data Center Edition 64bit Chinese Edition\\",\\n \\"ImageName\\": \\"testImageName\\",\\n \\"OSName\\": \\"Windows Server 2016 数据中心版 64位中文版\\",\\n \\"ImageId\\": \\"m-bp1g7004ksh0oeuc****\\",\\n \\"OSType\\": \\"windows\\",\\n \\"IsSubscribed\\": false,\\n \\"ProductCode\\": \\"test000****\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"BootMode\\": \\"BIOS\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"system\\",\\n \\"ImportOSSBucket\\": \\"testEcsImport\\",\\n \\"Progress\\": \\"32%\\",\\n \\"SnapshotId\\": \\"s-bp17ot2q7x72ggtw****\\",\\n \\"ImportOSSObject\\": \\"imageImport\\",\\n \\"Device\\": \\"/dev/xvda\\",\\n \\"Size\\": \\"60\\",\\n \\"RemainTime\\": 233,\\n \\"Format\\": \\"qcow2\\",\\n \\"Encrypted\\": true\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"Oracle\\",\\n \\"TagKey\\": \\"DTS\\"\\n }\\n ]\\n },\\n \\"IsPublic\\": false,\\n \\"ImageOwnerId\\": 1234567890,\\n \\"LoginAsNonRootSupported\\": false,\\n \\"SupplierName\\": \\"TestName\\",\\n \\"DetectionOptions\\": {\\n \\"Status\\": \\"Processing\\",\\n \\"Items\\": {\\n \\"Item\\": [\\n {\\n \\"Name\\": \\"Nvme\\",\\n \\"Value\\": \\"Supported\\",\\n \\"RiskLevel\\": \\"High\\",\\n \\"RiskCode\\": \\"NVMe.NotInstalled\\"\\n }\\n ]\\n }\\n },\\n \\"Features\\": {\\n \\"NvmeSupport\\": \\"supported\\",\\n \\"ImdsSupport\\": \\"v2\\",\\n \\"CpuOnlineUpgrade\\": \\"supported\\",\\n \\"CpuOnlineDowngrade\\": \\"supported\\",\\n \\"MemoryOnlineUpgrade\\": \\"unsupported\\",\\n \\"MemoryOnlineDowngrade\\": \\"unsupported\\"\\n },\\n \\"LicenseType\\": \\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 1\\n 66189103-EDB2-43E2-BB60-BFF2B62F4EB8\\n 1\\n \\n \\n self\\n true\\n Archive log for Oracle\\n Windows Server 2016\\n rg-bp67acfmxazb4p****\\n 60\\n false\\n BIOS\\n Windows Server 2016 数据中心版 64位中文版\\n false\\n m-bp1g7004ksh0oeuc****\\n \\n \\n supported\\n \\n Windows Server 2016 Data Center Edition 64bit Chinese Edition\\n \\n \\n DTS\\n Oracle\\n \\n \\n false\\n Available\\n 100%\\n none\\n x86_64\\n test000****\\n false\\n hangzhou-daily-update\\n true\\n true\\n testImageName\\n \\n \\n s-bp17ot2q7x72ggtw****\\n system\\n 32%\\n qcow2\\n /dev/xvda\\n 60\\n testEcsImport\\n imageImport\\n \\n \\n 2\\n windows\\n 2019-11-15T06:07:05Z\\n \\n \\n cn-hangzhou\\n","errorExample":""}]', + 'title' => '查询镜像资源', + 'description' => '- 您可以查询的镜像资源包括您的自定义镜像、阿里云提供的公共镜像、云市场镜像以及其他阿里云用户主动共享给您的共享镜像。'."\n" + .'- 支持分页查询,查询结果包括可使用的镜像资源的总数和当前页的镜像资源。每页的数量默认为10条。'."\n" + .'- 通过阿里云CLI调用API时,不同数据类型的请求参数取值必须遵循格式要求。更多信息,请参见[CLI参数格式说明](~~110340~~)。'."\n" + .'- 当查询阿里云官方提供的镜像或共享镜像(ImageOwnerAlias指定system或others)时,本次请求可忽略RAM鉴权规则。更多信息,请参见[鉴权规则](~~25497~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyImageAttribute' => [ + 'summary' => '调用ModifyImageAttribute接口,并可以指定ImageId、ImageFamily等参数,修改一份自定义镜像的属性,例如镜像族系、名称、启动模式、状态以及是否支持NVMe等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '29065', + 'abilityTreeNodes' => [ + 'FEATUREecsIN21Q0', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'm-bp18ygjuqnwhechc****', + ], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像的名称。长度为2~128个字符。必须以大小字母或中文开头,不能以aliyun或acs:开头,不能包含http://或者https://。可以包含数字、半角句号(.)、半角冒号(:)、下划线(_)或者短划线(-)。'."\n" + ."\n" + .'默认值:空,表示保持原有名称不变。', + 'type' => 'string', + 'required' => false, + 'example' => 'testImageName', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像状态,取值范围:'."\n" + ."\n" + .'- Deprecated:将镜像设置为弃用状态。如果您已经共享的自定义镜像,必须先取消共享才能修改为弃用状态。对处于弃用状态镜像,不能共享和复制镜像。但是可以使用镜像创建实例或更换系统盘。'."\n" + .'- Available:将镜像设置为可用状态。您可以将弃用状态的镜像恢复可用。'."\n" + ."\n" + .'> 如果您需要回滚镜像族系中的自定义镜像至上一个版本,可以将最新可用的自定义镜像设置为弃用状态,但如果该镜像为镜像族系中唯一一个可用状态的自定义镜像,则弃用镜像以后该镜像族系将无可用状态自定义镜像用来创建实例,因此请谨慎操作。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Deprecated', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像族系名称。长度为2~128个字符。必须以大小字母或中文开头,不能以aliyun或acs:开头,不能包含http://或者https://。可以包含数字、半角句号(.)、半角冒号(:)、下划线(_)或者短划线(-)。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'hangzhou-daily-update', + ], + ], + [ + 'name' => 'BootMode', + 'in' => 'query', + 'schema' => [ + 'description' => '修改镜像的启动模式。取值范围:'."\n" + .'- BIOS:BIOS启动模式。'."\n" + .'- UEFI:UEFI启动模式。'."\n" + .'- UEFI-Preferred:双启动模式。'."\n" + ."\n\n" + .''."\n" + ."\n" + .' 为了避免使用镜像不支持的启动模式导致实例无法正常启动,请您务必在修改之前了解目标镜像支持的启动模式。镜像启动模式详情,请参见[镜像启动模式](~~2244655#b9caa9b8bb1wf~~)。'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'BIOS' => 'BIOS', + 'UEFI' => 'UEFI', + 'UEFI-Preferred' => 'UEFI-Preferred', + ], + 'example' => 'BIOS', + ], + ], + [ + 'name' => 'LicenseType', + 'in' => 'query', + 'schema' => [ + 'description' => '导入镜像后,激活操作系统采用的许可证类型。当前仅支持BYOL。'."\n" + ."\n" + .'BYOL:源操作系统自带的许可证。采用BYOL时,您必须确保您的许可证密钥支持在阿里云使用。'."\n" + ."\n\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BYOL', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像的描述信息。长度为2~256个字符。不能以http://或https://开头。'."\n" + ."\n" + .'默认值:空,表示保持原有描述信息不变。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Features', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'NvmeSupport' => [ + 'description' => '镜像是否支持NVMe。可能值:'."\n" + ."\n" + .'- supported:支持。表示以该镜像创建的实例支持NVMe协议。'."\n" + .'- unsupported:不支持。表示以该镜像创建的实例不支持NVMe协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'supported', + ], + 'ImdsSupport' => [ + 'description' => '镜像的元数据访问模式,可能值:'."\n" + .'- v1:通过该镜像创建ECS实例时,不支持将元数据访问模式设置为“仅加固模式”。'."\n" + .'- v2:通过该镜像创建ECS实例时,支持将元数据访问模式设置为“仅加固模式”。'."\n" + .''."\n" + ."\n" + .' ImdsSupport不允许从v2修改为v1,若需要修改,可通过该镜像关联的快照重新创建一个新的镜像并设置为v1。'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'v2', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidImageName.Malformed', + 'errorMessage' => 'Image names must be between 2 and 128 characters long, using either English or Chinese characters. The name must start with a letter or a Chinese character, and can include numbers, colons, underscores and hyphens.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "RegionId" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidImageName.Duplicated', + 'errorMessage' => 'The specified Image name has already bean used.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'ImageQuotaFull.ImageFamily', + 'errorMessage' => 'The specified image family has exceeded max number of images for one image family.', + ], + [ + 'errorCode' => 'InvalidImageFamily.Malformed', + 'errorMessage' => 'The specified parameter "ImageFamily" is malformed.', + ], + [ + 'errorCode' => 'ImageFamilyQuotaFull', + 'errorMessage' => 'The specified region has exceeded max number of image family.', + ], + [ + 'errorCode' => 'InvalidBootMode.NotSupport', + 'errorMessage' => 'The specified parameter BootMode is not supported.', + ], + [ + 'errorCode' => 'InvalidLicenseType.NotSupported', + 'errorMessage' => 'The specified parameter LicenseType is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.FeaturesImdsSupport', + 'errorMessage' => 'The specified parameter Features.ImdsSupport is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ImageStatus.NotAvailable', + 'errorMessage' => 'The specified image status is not available.', + ], + [ + 'errorCode' => 'ImageStatus.NotDeprecated', + 'errorMessage' => 'The specified image status is not deprecated.', + ], + [ + 'errorCode' => 'ImageUseShared', + 'errorMessage' => 'The specified image has been shared to others, please remove shared accounts first.', + ], + [ + 'errorCode' => 'OperationDeined.ImageUsingByInstance', + 'errorMessage' => 'The boot mode of the image cannot be modified because it has associated instances.', + ], + [ + 'errorCode' => 'InvalidOperation.FeaturesImdsSupportNotMatch', + 'errorMessage' => 'The specified parameter Features.ImdsSupport can not be set to v1 from v2.', + ], + [ + 'errorCode' => 'InvalidStatus.ImageIsCreating', + 'errorMessage' => 'The operation cannot be performed because the image is creating. Please wait until the creation is complete and try again.', + ], + [ + 'errorCode' => 'InvalidOperation.PublicImageUnsupported', + 'errorMessage' => 'The community image\'s publisher is not the current account. Modification is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '修改自定义镜像属性', + ], + 'DeleteImage' => [ + 'summary' => '调用DeleteImage接口,并可以指定参数ImageId、Force删除一份自定义镜像。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28869', + 'abilityTreeNodes' => [ + 'FEATUREecsJ8B02D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID。如果指定的自定义镜像不存在,则请求将被忽略。', + 'type' => 'string', + 'required' => true, + 'example' => 'm-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否执行强制删除。取值范围: '."\n" + .' '."\n" + .'- true:强制删除自定义镜像,忽略当前镜像是否被其他实例使用。'."\n" + .'- false:正常删除自定义镜像,删除前检查当前镜像是否被其他实例使用。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'ImageUsingByInstance', + 'errorMessage' => 'The specified image has been used to create instances. You can use the DescribeInstances API to query these instances, or you can use the force parameter to proceed.', + ], + [ + 'errorCode' => 'ImageUseShared', + 'errorMessage' => 'The specified image has been shared to others. You can use the DescribeImageSharePermission API to query the users who have been shared.', + ], + [ + 'errorCode' => 'OperationDenied.ImageCopying', + 'errorMessage' => 'The image is being copied. Please use the CancelCopyImage API.', + ], + [ + 'errorCode' => 'ImageIsImporting', + 'errorMessage' => 'The specified Image is importing.', + ], + [ + 'errorCode' => 'ImageIsExporting', + 'errorMessage' => 'The specified image is currently being exported. You can use the DescribeTasks API to check the status of related tasks and cancel them if needed.', + ], + [ + 'errorCode' => 'ImageIsPublic', + 'errorMessage' => 'You can not delete public image, please modify it to private.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}"},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n"}]', + 'title' => '删除自定义镜像', + 'description' => '对于不允许删除自定义镜像的情况以及镜像删除后的注意事项,请参见[删除自定义镜像](~~25466~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeImageFromFamily' => [ + 'summary' => '查询指定镜像族系内最新创建的可用自定义镜像。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28939', + 'abilityTreeNodes' => [ + 'FEATUREecs2Z790V', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像族系名称。'."\n" + ."\n" + .'自定义镜像、公共镜像、社区镜像、共享镜像均已支持镜像族系,使用方法及介绍请参见[镜像族系概述](~~174241~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'hangzhou-daily-update', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Image' => [ + 'description' => '返回的镜像信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '镜像的创建时间。', + 'type' => 'string', + 'example' => '2018-01-10T01:01:10Z', + ], + 'Status' => [ + 'description' => '镜像的状态。可能值:'."\n" + .'- UnAvailable:不可用'."\n" + .'- Available:可用'."\n" + .'- Creating:创建中'."\n" + .'- CreateFailed:创建失败', + 'type' => 'string', + 'example' => 'Available', + ], + 'ImageFamily' => [ + 'description' => '镜像族系。', + 'type' => 'string', + 'example' => 'testImageFamily', + ], + 'Progress' => [ + 'description' => '镜像完成的进度,单位为百分比。', + 'type' => 'string', + 'example' => '100', + ], + 'IsCopied' => [ + 'description' => '是否是复制的镜像。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'IsSupportIoOptimized' => [ + 'description' => '是否可以在I/O优化实例上运行。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ImageOwnerAlias' => [ + 'description' => '镜像所有者别名。可能值:'."\n" + .'- system:公共镜像。'."\n" + .'- self:您的自定义镜像。'."\n" + .'- others:其他用户的公开镜像。'."\n" + .'- marketplace:云市场镜像。', + 'type' => 'string', + 'example' => 'self', + ], + 'IsSupportCloudinit' => [ + 'description' => '是否支持cloud-init。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ImageVersion' => [ + 'description' => '镜像版本。', + 'type' => 'string', + 'example' => '2', + ], + 'Usage' => [ + 'description' => '有引用关系的资源类型。可能值:'."\n" + .'- instance:创建了一台或多台ECS实例。'."\n" + .'- none:未创建过ECS实例。', + 'type' => 'string', + 'example' => 'none', + ], + 'IsSelfShared' => [ + 'description' => '是否共享过该自定义镜像给其他用户。', + 'type' => 'string', + 'example' => 'true', + ], + 'Description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'Size' => [ + 'description' => '镜像大小,单位GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'Platform' => [ + 'description' => '操作系统平台。', + 'type' => 'string', + 'example' => 'Aliyun', + ], + 'ImageName' => [ + 'description' => '镜像的名称。', + 'type' => 'string', + 'example' => 'testImageName', + ], + 'OSName' => [ + 'description' => '操作系统的中文显示名称。', + 'type' => 'string', + 'example' => 'Alibaba Cloud Linux 2.1903', + ], + 'ImageId' => [ + 'description' => '镜像ID。', + 'type' => 'string', + 'example' => 'm-bp1g7004ksh0oeuc****', + ], + 'OSType' => [ + 'description' => '操作系统类型。可能值:'."\n" + .'- windows'."\n" + .'- linux', + 'type' => 'string', + 'example' => 'linux', + ], + 'IsSubscribed' => [ + 'description' => '是否订阅了该镜像商品码对应的镜像商品服务条款。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ProductCode' => [ + 'description' => '镜像市场的镜像商品标示。', + 'type' => 'string', + 'example' => 'jxsc00****', + ], + 'Architecture' => [ + 'description' => '镜像系统架构类型。可能值:'."\n" + .'- i386'."\n" + .'- x86_64', + 'type' => 'string', + 'example' => 'x86_64', + ], + 'DiskDeviceMappings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskDeviceMapping' => [ + 'description' => '镜像下包含云盘和快照的映射关系。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => '镜像的类型。', + 'type' => 'string', + 'example' => 'custom', + ], + 'ImportOSSBucket' => [ + 'description' => '导入镜像所属OSS的Bucket。', + 'type' => 'string', + 'example' => 'testEcsImport', + ], + 'SnapshotId' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'example' => 's-bp17ot2q7x72ggtw****', + ], + 'ImportOSSObject' => [ + 'description' => '导入镜像所属OSS的Object。', + 'type' => 'string', + 'example' => 'imageImport', + ], + 'Size' => [ + 'description' => '云盘大小,单位GiB。', + 'type' => 'string', + 'example' => '80', + ], + 'Device' => [ + 'description' => '云盘的设备信息,例如/dev/xvdb。'."\n" + .'> 该参数即将停止使用,为提高代码的兼容性,建议您尽量不要使用该参数。', + 'type' => 'string', + 'example' => '/dev/xvdb', + ], + 'Format' => [ + 'description' => '镜像格式。', + 'type' => 'string', + 'example' => 'qcow2', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '镜像的标签对信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '自定义镜像的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '自定义镜像的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Image\\": {\\n \\"CreationTime\\": \\"2018-01-10T01:01:10Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"ImageFamily\\": \\"testImageFamily\\",\\n \\"Progress\\": \\"100\\",\\n \\"IsCopied\\": false,\\n \\"IsSupportIoOptimized\\": true,\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"IsSupportCloudinit\\": true,\\n \\"ImageVersion\\": \\"2\\",\\n \\"Usage\\": \\"none\\",\\n \\"IsSelfShared\\": \\"true\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"Size\\": 80,\\n \\"Platform\\": \\"Aliyun\\",\\n \\"ImageName\\": \\"testImageName\\",\\n \\"OSName\\": \\"Alibaba Cloud Linux 2.1903\\",\\n \\"ImageId\\": \\"m-bp1g7004ksh0oeuc****\\",\\n \\"OSType\\": \\"linux\\",\\n \\"IsSubscribed\\": false,\\n \\"ProductCode\\": \\"jxsc00****\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"Type\\": \\"custom\\",\\n \\"ImportOSSBucket\\": \\"testEcsImport\\",\\n \\"SnapshotId\\": \\"s-bp17ot2q7x72ggtw****\\",\\n \\"ImportOSSObject\\": \\"imageImport\\",\\n \\"Size\\": \\"80\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"Format\\": \\"qcow2\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n E39053A7-C3E6-41FA-8F8D-F5BD8063E61C\\n \\n self\\n Available\\n \\n \\n testDescription\\n \\n x86_64\\n CentOS\\n \\n 40\\n false\\n false\\n testImageFamily\\n CentOS 8.0 64位\\n true\\n true\\n testImageName\\n \\n \\n s-bp1ejhb4r1lyu55t****\\n system\\n \\n 40\\n /dev/xvda\\n \\n \\n \\n \\n \\n linux\\n m-bp1ejhb4r1lyu55t****\\n 2020-03-17T06:19:19Z\\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询镜像族系内可用镜像', + 'description' => '## 接口说明'."\n" + ."\n" + .'指定查询的镜像族系如果不存在可用的镜像,则返回结果为空。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeImageSupportInstanceTypes' => [ + 'summary' => '查询指定镜像支持的实例规格。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28944', + 'abilityTreeNodes' => [ + 'FEATUREecsJ8B02D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'm-o6w3gy99qf89rkga****', + ], + ], + [ + 'name' => 'ActionType', + 'in' => 'query', + 'schema' => [ + 'description' => '使用镜像的场景。取值范围:'."\n" + ."\n" + .'- CreateEcs(默认):创建实例。'."\n" + .'- ChangeOS:更换系统盘/更换操作系统。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreateEcs', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '查询资源时的筛选条件列表。', + 'type' => 'array', + 'items' => [ + 'description' => '查询资源时的筛选条件。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '指定过滤条件Key,当前只支持过滤镜像ID。取值范围:'."\n" + .'- imageId:过滤条件为镜像ID。'."\n" + .'- filter:过滤条件为镜像ID。'."\n" + ."\n" + .'>此参数不生效,即将下线。', + 'type' => 'string', + 'required' => false, + 'example' => 'imageId', + ], + 'Value' => [ + 'description' => '指定过滤条件Value。'."\n" + .'>此参数不生效,即将下线。', + 'type' => 'string', + 'required' => false, + 'example' => 'm-o6w3gy99qf89rkga****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => ' 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'ImageId' => [ + 'description' => '查询的镜像ID。', + 'type' => 'string', + 'example' => 'm-o6w3gy99qf89rkga****', + ], + 'RegionId' => [ + 'description' => '镜像所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceType' => [ + 'description' => '实例规格集合。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceTypeId' => [ + 'description' => '镜像支持的实例规格ID。', + 'type' => 'string', + 'example' => 'ecs.t1.xsmall', + ], + 'InstanceTypeFamily' => [ + 'description' => '实例规格族。', + 'type' => 'string', + 'example' => 'ecs.t1', + ], + 'CpuCoreCount' => [ + 'description' => '实例规格的vCPU内核数目。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MemorySize' => [ + 'description' => '实例规格的内存大小,单位GiB。', + 'type' => 'number', + 'format' => 'float', + 'example' => '1024', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => 'Invalid Parameter.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidUsage', + 'errorMessage' => 'The specifed Usage is not valid.', + ], + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified image %s does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\" 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ImageId\\": \\"m-o6w3gy99qf89rkga****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n {\\n \\"InstanceTypeId\\": \\"ecs.t1.xsmall\\",\\n \\"InstanceTypeFamily\\": \\"ecs.t1\\",\\n \\"CpuCoreCount\\": 1,\\n \\"MemorySize\\": 1024\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n CF661E2D-4AFE-4BCD-959A-A65E14416B44\\n cn-hangzhou\\n ubuntu_16_0402_64_20G_alibase_20180409.vhd\\n \\n \\n ecs.t1.xsmall\\n 1\\n 0.5\\n ecs.t1\\n \\n \\n ecs.t1.small\\n 1\\n 1\\n ecs.t1\\n \\n \\n","errorExample":""}]', + 'title' => '查询指定镜像支持的实例规格', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeImageSharePermission' => [ + 'summary' => '查询一份自定义镜像已经共享的所有用户。持返回结果支分页显示,每页的信息条目默认为10条。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28943', + 'abilityTreeNodes' => [ + 'FEATUREecsKVA4YC', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'm-bp1caf3yicx5jlfl****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果显示的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果显示的每页的信息条目数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PageNumber' => [ + 'description' => '查询结果显示的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '每页的信息条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => '记录总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ImageId' => [ + 'description' => '自定义镜像ID。', + 'type' => 'string', + 'example' => 'm-bp1caf3yicx5jlfl****', + ], + 'RegionId' => [ + 'description' => '镜像所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ShareGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ShareGroup' => [ + 'description' => '共享组。', + 'type' => 'array', + 'items' => [ + 'description' => '共享组。', + 'type' => 'object', + 'properties' => [ + 'Group' => [ + 'description' => '共享分组。', + 'type' => 'string', + 'example' => 'all', + ], + ], + ], + ], + ], + ], + 'Accounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Account' => [ + 'description' => '阿里云注册用户。', + 'type' => 'array', + 'items' => [ + 'description' => '阿里云注册用户。', + 'type' => 'object', + 'properties' => [ + 'AliyunId' => [ + 'description' => '阿里云账号ID。', + 'type' => 'string', + 'example' => '123456****', + ], + 'SharedTime' => [ + 'description' => '镜像共享开始时间。时间格式按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间。 格式为:yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2023-01-01T12:05:00Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "RegionId "that is mandatory for processing this request is not supplied.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified image %s does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ImageId\\": \\"m-bp1caf3yicx5jlfl****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ShareGroups\\": {\\n \\"ShareGroup\\": [\\n {\\n \\"Group\\": \\"all\\"\\n }\\n ]\\n },\\n \\"Accounts\\": {\\n \\"Account\\": [\\n {\\n \\"AliyunId\\": \\"123456****\\",\\n \\"SharedTime\\": \\"2023-01-01T12:05:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n all\\n \\n \\n \\n \\n 123456****\\n \\n \\n m-bp1caf3yicx5jlfl****\\n 1\\n 10\\n cn-qingdao\\n 1\\n 9AD96F49-0BE5-4868-A66A-22435254****\\n","errorExample":""}]', + 'title' => '查询自定义镜像已经共享的所有用户', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyImageSharePermission' => [ + 'summary' => '管理镜像共享权限。您可以将自己的自定义镜像共享给其他阿里云账号,也可以发布为社区镜像供他人使用。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29067', + 'abilityTreeNodes' => [ + 'FEATUREecsKVA4YC', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '被共享的自定义镜像ID。'."\n" + ."\n" + .'>不再支持共享使用服务密钥加密的镜像,仅支持共享使用用户主密钥 CMK 加密的镜像,使用服务密钥加密的镜像在共享时将会报错。>', + 'type' => 'string', + 'required' => true, + 'example' => 'm-bp18ygjuqnwhechc****', + ], + ], + [ + 'name' => 'LaunchPermission', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + [ + 'name' => 'AddAccount', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '授权共享镜像的阿里云账号ID。N的取值范围:1~10,若一次提交超过10个阿里云账号,系统将只处理前10个,忽略多余的账号。', + 'type' => 'array', + 'items' => [ + 'description' => '授权共享镜像的阿里云账号ID。', + 'type' => 'string', + 'required' => false, + 'example' => '1234567890', + ], + 'required' => false, + 'example' => '1234567890', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RemoveAccount', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '删除镜像共享的阿里云账号ID。N的取值范围:1~10,若一次提交超过10个阿里云账号,系统将只处理前10个,忽略多余的账号。', + 'type' => 'array', + 'items' => [ + 'description' => '删除镜像共享的阿里云账号ID。', + 'type' => 'string', + 'required' => false, + 'example' => '1234567890', + ], + 'required' => false, + 'example' => '1234567890', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'IsPublic', + 'in' => 'query', + 'schema' => [ + 'title' => '发布为社区镜像', + 'description' => '是否发布或下架社区镜像。取值范围:'."\n" + ."\n" + .'- true:发布该镜像为社区镜像。'."\n" + .'- false:下架该镜像为普通镜像,若该镜像本身是普通镜像,则不做改变。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "RegionId" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidGroup.Malformed', + 'errorMessage' => 'The specified Group is wrongly formed.', + ], + [ + 'errorCode' => 'UnnecessaryParameter.LaunchPermission', + 'errorMessage' => 'The specified parameter "LaunchPermission" is unnecessary if paramter "AddAccounts" or "RemoveAccounts" exist.', + ], + [ + 'errorCode' => 'InvalidParameter.LaunchPermission', + 'errorMessage' => 'The specified parameter "LaunchPermission" is invalid.', + ], + [ + 'errorCode' => 'ForbiddenParameter.LaunchPermission', + 'errorMessage' => 'The specified parameter "LaunchPermission" is forbidden for current account.', + ], + ], + 403 => [ + [ + 'errorCode' => 'AssumeRoleError', + 'errorMessage' => 'Requires a RAM role of AliyunECSShareEncryptImageDefaultRole before sharing encrypted image.', + ], + [ + 'errorCode' => 'ImageDescription.ContainsSensitiveWords', + 'errorMessage' => 'The specified image description contains sensitive words.', + ], + [ + 'errorCode' => 'ImageName.ContainsSensitiveWords', + 'errorMessage' => 'The specified image name contains sensitive words.', + ], + [ + 'errorCode' => 'Image.Public', + 'errorMessage' => 'The specified image is public image.', + ], + [ + 'errorCode' => 'CurrentRegion.NotSupportPublicImage', + 'errorMessage' => 'Public image is not supported for current region.', + ], + [ + 'errorCode' => 'Image.NotPublic', + 'errorMessage' => 'The specified image is not public image.', + ], + [ + 'errorCode' => 'OperationDeined.FullImage', + 'errorMessage' => 'The encrypted image contains multiple snapshots, which do not support share.', + ], + [ + 'errorCode' => 'QuotaExceed.ShareImage', + 'errorMessage' => 'The shared Image Quota exceeds.', + ], + [ + 'errorCode' => 'QuotaExceed.ShareImageUser', + 'errorMessage' => 'The shared Image user Quota exceeds.', + ], + [ + 'errorCode' => 'InvalidImageId.BidMismatch', + 'errorMessage' => 'Cannot share the image with users %s of other sites.', + ], + [ + 'errorCode' => 'OperationDeined.EncryptedSnapshot', + 'errorMessage' => 'The image contains encrypted snapshots, which do not support share.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidImageStatus', + 'errorMessage' => 'The specified image cannot be shared when it is deprecated.', + ], + [ + 'errorCode' => 'PublicImageAgreement.NotSigned', + 'errorMessage' => 'The current account has not signed "Community Image Terms of Service".', + ], + [ + 'errorCode' => 'InvalidParameter.IsPublic', + 'errorMessage' => 'The specified parameter IsPublic is conflicted with other parameters.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidOperation.ServiceKeyEncryptedImageUnsupported', + 'errorMessage' => 'The specified service key encrypted image is not supported for this operation. Please switch to a CMK (Customer Master Key) encrypted image and retry.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account %s in parameter "AddAccount.n" or "RemoveAccount.n" does not exist.', + ], + [ + 'errorCode' => 'InvalidAccount.Forbbiden', + 'errorMessage' => 'The specified Account does not yourself.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotFound', + 'errorMessage' => 'The KMS key used by the disk does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\"\\n}"},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n","errorExample":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n"}]', + 'title' => '管理镜像共享权限', + 'description' => '调用该接口前,请您仔细阅读[共享自定义镜像](~~25463~~)。'."\n" + ."\n" + .'调用该接口时,请注意以下共享规则:'."\n" + ."\n" + .'- **共享限制**:只能共享自己账号下创建的自定义镜像,每份镜像最多可共享给 50 个阿里云账号,每份镜像一次最多共享给10个阿里云账号。'."\n" + ."\n" + .'- **实例影响**:使用共享镜像创建ECS实例([RunInstances](~~63440~~))后,一旦自定义镜像拥有者解除了镜像共享关系,或者删除了自定义镜像([DeleteImage](~~25537~~)),该实例将无法初始化系统盘([ReInitDisk](~~25519~~))。'."\n" + ."\n" + .'>云服务器 ECS 共享加密镜像规则变更:仅支持共享使用用户主密钥 CMK 加密的镜像,不再支持共享使用服务密钥加密的镜像,使用服务密钥加密的镜像在共享时将会报错。如果您保有服务密钥加密的镜像且计划共享给他人使用,请通过复制镜像(CopyImage),将镜像密钥改为用户主密钥CMK。'."\n" + .'>'."\n" + ."\n" + .'发布或下架社区镜像,您需要注意:'."\n" + ."\n" + .'- **责任与协议**:社区镜像由其所有者负责质量和迭代更新,阿里云仅提供平台支持。发布前请确保您已了解并签署社区镜像协议,否则不允许发布,社区镜像详情见[发布社区镜像](~~208370~~)。'."\n" + ."\n" + .'- **加密限制**:加密镜像不可发布为社区镜像。'."\n" + ."\n" + .'- **公开性**:社区镜像完全公开,在镜像所属地域下,所有阿里云账号均可使用。'."\n" + ."\n" + .'- **功能限制**:社区镜像不支持共享、导出或复制。'."\n" + ."\n" + .'- **下架影响**:社区镜像下架后,将不再对其他阿里云账号公开,但已共享的镜像关系会继续保持。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyImageShareGroupPermission' => [ + 'summary' => '修改镜像共享组权限', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29066', + 'abilityTreeNodes' => [ + 'FEATUREecsKVA4YC', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'AddGroup.1', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RemoveGroup.1', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "RegionId" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'InvalidGroup.Malformed', + 'errorMessage' => 'The specified parameter "AddGroup.n" or "RemoveGroup.n" does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Ecs::2014-05-26::ModifyImageSharePermission', + ], + ], + 'responseDemo' => '', + ], + 'ImportImage' => [ + 'summary' => '导入一份您的本地镜像文件到云服务器ECS,作为自定义镜像出现在相应地域中。后续您可以使用导入的镜像创建ECS实例(RunInstances),或者更换实例的系统盘(ReplaceSystemDisk)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29034', + 'abilityTreeNodes' => [ + 'FEATUREecsZ3BT05', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源自定义镜像的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像名称。长度为2~128个字符。必须以大小写字母或中文开头,不能以`aliyun`或`acs:`开头,不能包含`http://`或者`https://`。可以包含数字、半角句号(.)、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ImageTestName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像的描述信息。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestDescription', + ], + ], + [ + 'name' => 'Architecture', + 'in' => 'query', + 'schema' => [ + 'description' => '系统架构。取值范围: '."\n" + ."\n" + .'- i386。'."\n" + .'- x86_64。'."\n" + .'- arm64。'."\n" + ."\n" + .'默认值:x86_64。', + 'type' => 'string', + 'required' => false, + 'example' => 'x86_64', + ], + ], + [ + 'name' => 'OSType', + 'in' => 'query', + 'schema' => [ + 'description' => '操作系统类型。取值范围: '."\n" + ."\n" + .'- windows。'."\n" + .'- linux。'."\n" + ."\n" + .'默认值:linux。', + 'type' => 'string', + 'required' => false, + 'example' => 'linux', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '操作系统版本。取值范围: '."\n" + .'- Aliyun'."\n" + .'- Anolis'."\n" + .'- CentOS'."\n" + .'- Ubuntu'."\n" + .'- CoreOS'."\n" + .'- SUSE'."\n" + .'- Debian'."\n" + .'- OpenSUSE'."\n" + .'- FreeBSD'."\n" + .'- RedHat'."\n" + .'- Kylin'."\n" + .'- UOS'."\n" + .'- Fedora'."\n" + .'- Fedora CoreOS'."\n" + .'- CentOS Stream'."\n" + .'- AlmaLinux'."\n" + .'- Rocky Linux'."\n" + .'- Gentoo'."\n" + .'- Customized Linux'."\n" + .'- Others Linux'."\n" + .'- Windows Server 2022'."\n" + .'- Windows Server 2019'."\n" + .'- Windows Server 2016'."\n" + .'- Windows Server 2012'."\n" + .'- Windows Server 2008'."\n" + .'- Windows Server 2003'."\n" + .'- Other Windows'."\n" + ."\n" + .'默认值:Others Linux。', + 'type' => 'string', + 'required' => false, + 'example' => 'Aliyun', + ], + ], + [ + 'name' => 'BootMode', + 'in' => 'query', + 'schema' => [ + 'description' => '修改镜像的启动模式。取值范围:'."\n" + ."\n" + .'- BIOS:BIOS启动模式。'."\n" + .'- UEFI:UEFI启动模式。'."\n" + ."\n" + .'默认值:BIOS。如果`Architecture=arm64`,则该参数默认值为UEFI,且只能设置为UEFI。'."\n" + ."\n" + .''."\n" + ."\n" + .'为了避免使用镜像不支持的启动模式导致实例无法正常启动,请您务必在选择该参数之前了解目标镜像支持的启动模式。镜像启动模式详情,请参见[镜像启动模式](~~2244655#b9caa9b8bb1wf~~)。'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'BIOS', + ], + ], + [ + 'name' => 'RoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '导入镜像时,使用的RAM角色名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunECSImageImportDefaultRole', + ], + ], + [ + 'name' => 'LicenseType', + 'in' => 'query', + 'schema' => [ + 'description' => '导入镜像后,激活操作系统采用的许可证类型。取值范围:'."\n" + ."\n" + .'- Auto:由阿里云检测源操作系统并分配许可证。自动模式下,系统优先搜索您设置的`Platform`是否有阿里云官方渠道的许可证并分配给导入的镜像,如果缺乏该类许可,会切换成BYOL(Bring Your Own License)方式。'."\n" + .'- Aliyun:根据您设置的`Platform`采用阿里云官方渠道的许可证。'."\n" + .'- BYOL:源操作系统自带的许可证。采用BYOL时,您必须确保您的许可证密钥支持在阿里云使用。'."\n" + ."\n" + .'默认值:Auto。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Auto', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '导入镜像所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DiskDeviceMapping', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '创建的自定义镜像信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '创建的自定义镜像信息列表。', + 'type' => 'object', + 'properties' => [ + 'DiskImSize' => [ + 'description' => '自定义镜像大小。单位:GiB。'."\n" + ."\n" + .'该空间由系统盘和数据盘组成,您必须保证系统盘的空间大小大于等于导入的镜像文件大小。取值范围:'."\n" + ."\n" + .'- N=1时,表示系统盘,取值范围:1 GiB~2048 GiB。'."\n" + .'- N=2~17时,表示数据盘。取值范围:1 GiB~2048 GiB。'."\n" + ."\n" + .'当您将源镜像文件上传至OSS后,可以在OSS Bucket中查看镜像文件的大小。'."\n" + ."\n" + .'>该参数即将被弃用,为提高兼容性,请尽量使用`DiskDeviceMapping.N.DiskImageSize`参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'Device' => [ + 'description' => '指定DiskDeviceMapping.N.Device在自定义镜像中的设备名。'."\n" + ."\n" + .'> 该参数即将停止使用,为提高代码兼容性,建议您尽量不要使用该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'OSSBucket' => [ + 'description' => '镜像文件所在的OSS Bucket。'."\n" + ."\n" + .'> 首次导入镜像到该OSS Bucket前,请参见本文档的**接口说明**添加RAM授权策略,否则会报错`NoSetRoletoECSServiceAccount`。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecsimageos', + ], + 'Format' => [ + 'description' => '镜像格式。取值范围:'."\n" + ."\n" + .'- RAW。'."\n" + .'- VHD。'."\n" + .'- QCOW2。'."\n" + .'- VMDK(邀测中)。'."\n" + ."\n" + .'默认值:无,表示阿里云自动检测镜像格式,以检测格式为准。', + 'type' => 'string', + 'required' => false, + 'example' => 'QCOW2', + ], + 'OSSObject' => [ + 'description' => '镜像上传至OSS Bucket后,保存在Bucket中的镜像文件的文件名(key)。', + 'type' => 'string', + 'required' => false, + 'example' => 'CentOS_5.4_32.raw', + ], + 'DiskImageSize' => [ + 'description' => '导入镜像后,自定义镜像的空间大小。'."\n" + ."\n" + .'该空间由系统盘和数据盘组成,您必须保证系统盘的空间大小大于等于导入的镜像文件大小。取值范围:'."\n" + ."\n" + .'- N=1时,表示系统盘,取值范围:1 GiB~2048 GiB。'."\n" + .'- N=2~17时,表示数据盘。取值范围:1 GiB~2048 GiB。'."\n" + ."\n" + .'当您将源镜像文件上传至OSS后,可以在OSS Bucket中查看镜像文件的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 17, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '镜像的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像的标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '镜像的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '镜像的标签值。N的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DetectionStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像检测策略,不配置此参数时不触发检测。仅支持标准(Standard)检测模式。'."\n" + ."\n" + .'>目前已支持大部分的Linux/Windows版本,关于镜像检测项与操作系统限制说明,请参见[镜像检测概述](~~439819~~)和[镜像检测操作系统限制](~~475800~~)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'StorageLocationArn', + 'in' => 'query', + 'schema' => [ + 'description' => '指定云盒的资源名称(ARN),用于唯一标识云端存储位置。'."\n" + ."\n" + .'>仅当您需要从OSS ON云盒中导入镜像文件时,才需提供此参数的值。如果您使用的存储服务不是OSS ON云盒,则无需设置此参数。更多信息,请参见[什么是OSS ON云盒](~~430190~~)。'."\n" + ."\n" + .'正确的ARN格式应遵循:`arn:acs:cloudbox:{RegionId}:{AliUid}:cloudbox/{CloudBoxId}`的模式,其中`{RegionId}`应替换为云盒实际所在的地域ID,`{AliUid}`是阿里云账号(主账号)ID,而`{CloudBoxId}`是云盒ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'arn:acs:cloudbox:cn-hangzhou:123456:cloudbox/cb-xx***123', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后返回 2XX HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Features', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'NvmeSupport' => [ + 'description' => '镜像是否支持NVMe。可能值:'."\n" + ."\n" + .' - supported:支持。表示以该镜像创建的实例支持NVMe协议。'."\n" + .' - unsupported:不支持。表示以该镜像创建的实例不支持NVMe协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'supported', + ], + 'ImdsSupport' => [ + 'description' => '镜像的元数据访问模式,可能值:'."\n" + .'- v1:通过该镜像创建ECS实例时,不支持将元数据访问模式设置为“仅加固模式”。'."\n" + .'- v2:通过该镜像创建ECS实例时,支持将元数据访问模式设置为“仅加固模式”。'."\n" + ."\n" + .'默认值:v1。', + 'type' => 'string', + 'required' => false, + 'example' => 'v2', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'ImageId' => [ + 'description' => '镜像ID。', + 'type' => 'string', + 'example' => 'm-bp67acfmxazb4p****', + ], + 'TaskId' => [ + 'description' => '导入镜像任务ID。', + 'type' => 'string', + 'example' => 't-bp67acfmxazb4p****', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedSuffix.OSSObject', + 'errorMessage' => 'The specified OSS object suffix is not supported.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'An input parameter "RegionId" that is mandatory for processing the request is not supplied.', + ], + [ + 'errorCode' => 'InvalidImageName.Malformed', + 'errorMessage' => 'The specified Image name is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidOSSObject.Malformed', + 'errorMessage' => 'The specified OSS object is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.Malformed', + 'errorMessage' => 'The specified OSS bucket is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidOSSObject.Size', + 'errorMessage' => 'The specified OSS object size is zero.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Image description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidArchitecture.Malformed', + 'errorMessage' => 'The specified Architecture is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidPlatform.Malformed', + 'errorMessage' => 'The specified Platform is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidOSType.Malformed', + 'errorMessage' => 'The specified OSType is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidImageName.Duplicated', + 'errorMessage' => 'The destination image is exist.', + ], + [ + 'errorCode' => 'InvalidImageSize', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidDataDiskSize', + 'errorMessage' => 'The specified DiskDeviceMapping.N.DiskImSize should be in the specified range.', + ], + [ + 'errorCode' => 'InvalidImageFormat.Malformed', + 'errorMessage' => 'The specified Image Format is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support image import or export.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.NotFound', + 'errorMessage' => 'The specified OSS bucket does not exist in this region.', + ], + [ + 'errorCode' => 'InvalidOSSObject.NotFound', + 'errorMessage' => 'The specified OSS object does not exist in this region.', + ], + [ + 'errorCode' => 'InvalidOSSObject.NeedRestore', + 'errorMessage' => 'The specified OSS object is a archive object, need restore first.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.NotMatched', + 'errorMessage' => 'The specified OSS bucket is incorrect, %s.', + ], + [ + 'errorCode' => 'InvalidLicenseType.NotSupported', + 'errorMessage' => 'The specified LicenseType is not supported.', + ], + [ + 'errorCode' => 'InvalidLicenseType.BYOLOnly', + 'errorMessage' => 'Only BYOL LicenseType is supported for the current platform provided.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.FlowLimit', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageFormat.RegionNotSupported', + 'errorMessage' => 'The specified image format is not supported in current region.', + ], + [ + 'errorCode' => 'InvalidBootMode.Malformed', + 'errorMessage' => 'The specified parameter "BootMode" is malformed.', + ], + [ + 'errorCode' => 'InvalidParameter.DetectionStrategy', + 'errorMessage' => 'The specified parameter DetectionStrategy is invalid.', + ], + [ + 'errorCode' => 'InvalidBootMode.NotSupport', + 'errorMessage' => 'The specified parameter BootMode is not supported for current image architecture.', + ], + [ + 'errorCode' => 'DRYRUN.SUCCESS', + 'errorMessage' => 'This request is a dryrun request with successful result.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.FeaturesImdsSupport', + 'errorMessage' => 'The specified parameter Features.ImdsSupport is not supported.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ImageIsImporting', + 'errorMessage' => 'The specified Image is importing.', + ], + [ + 'errorCode' => 'QuotaExceed.Image', + 'errorMessage' => 'The Image Quota exceeds.', + ], + [ + 'errorCode' => 'ImportImageFailed', + 'errorMessage' => 'Importing image is failed, Please contact the administrator.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in the white list of importing image.', + ], + [ + 'errorCode' => 'NoSetRoletoECSServiceAcount', + 'errorMessage' => 'ECS service account Have no right to access your OSS.please attach a role of access your oss to ECS service account.', + ], + [ + 'errorCode' => 'InvalidParameter.Malformed', + 'errorMessage' => 'The specified parameter "DiskDeviceMapping.n.Device " is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.DiskDeviceMapping', + 'errorMessage' => 'The specified parameter DiskDeviceMapping is not supplied.', + ], + [ + 'errorCode' => 'InvalidOSS.NotAuthorized', + 'errorMessage' => 'The specified OSS bucket or object is not allowed to access.', + ], + [ + 'errorCode' => 'InvalidBlockSize.NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageFormat.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ImageCheckUnsupported.WindowsImage', + 'errorMessage' => 'Image check is unsupported for windows image.', + ], + [ + 'errorCode' => 'InvalidVHDImage.IncorrectSize', + 'errorMessage' => 'The specified size of the VHD image does not meet the \'header.MaxTableEntries * header.BlockSize\' specification.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.EncryptUnsupported', + 'errorMessage' => 'Accessing objects from encrypted OSS bucket is not supported.', + ], + [ + 'errorCode' => 'InvalidArchitecture.PlatformUnsupported', + 'errorMessage' => 'The OS platform you selected does not support the specified architecture.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.OSSDisabled', + 'errorMessage' => 'OSS is disabled due to invalid account status.', + ], + [ + 'errorCode' => 'InvalidStorageLocation.NotFound', + 'errorMessage' => 'The specified cloud box storage location %s could not be found.', + ], + [ + 'errorCode' => 'InvalidOperation.CloudBoxImageImportRoleRequired', + 'errorMessage' => 'The role for cloud box image import is not set to the ECS service.', + ], + [ + 'errorCode' => 'InvalidOperation.CloudBoxImageImportUnsupported', + 'errorMessage' => 'Importing cloud box images is not supported.', + ], + [ + 'errorCode' => 'TagKey.Duplication', + 'errorMessage' => 'The TagKey has duplication with others, case-insensitive.', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ImageId\\": \\"m-bp67acfmxazb4p****\\",\\n \\"TaskId\\": \\"t-bp67acfmxazb4p****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n m-bp67acfmxazb4p****\\n t-bp67acfmxazb4p****\\n cn-hangzhou\\n","errorExample":""}]', + 'title' => '导入本地镜像文件', + 'description' => '### 接口说明'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 您必须提前上传镜像文件到对象存储OSS。具体操作,请参见[上传文件](~~31886~~)。'."\n" + ."\n" + .'- 为避免部分服务器、虚拟机或者云主机的操作系统在导入自定义镜像后,创建的ECS实例无法启动,您需要在导入镜像前检查是否需要在源服务器中安装virtio驱动。具体操作,请参见[安装virtio驱动](~~62423~~)。'."\n" + ."\n" + .'- 首次导入镜像时,您必须提前通过访问控制RAM授权ECS访问您的OSS Bucket,否则会报错`NoSetRoletoECSServiceAccount`或`InvalidOperation.CloudBoxImageImportRoleRequired`。分为以下两种场景情况:'."\n" + ."\n" + .' - **不通过云盒导入镜像文件**:您可以通过RAM管理控制台一键完成授权操作,具体的授权页面,请参见[云资源访问授权](https://ram.console.aliyun.com/?spm=5176.2020520101image.0.0.2ffa4df57kSoHX#/role/authorize?request=%7B%22Requests%22%3A%20%7B%22request1%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageImportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSImportRole%22%7D%2C%20%22request2%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageExportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSExportRole%22%7D%7D%2C%20%22ReturnUrl%22%3A%20%22https%3A//ecs.console.aliyun.com/%22%2C%20%22Service%22%3A%20%22ECS%22%7D)。您也可以手动完成授权操作,部分操作中策略与权限如下所示。具体操作,请参见[账号访问控制](~~25481~~)。'."\n" + ."\n" + .' 1. 创建角色`AliyunECSImageImportDefaultRole`(必须是这个名称,否则导入镜像会失败),角色的策略为:'."\n" + .' ```'."\n" + .' {'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Action": "sts:AssumeRole",'."\n" + .' "Effect": "Allow",'."\n" + .' "Principal": {'."\n" + .' "Service": ['."\n" + .' "ecs.aliyuncs.com"'."\n" + .' ]'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "Version": "1"'."\n" + .' }'."\n" + .' ```'."\n" + ."\n" + .' 2. 在该角色下,添加系统策略`AliyunECSImageImportRolePolicy`。您也可以创建自定义策略,权限必须包含:'."\n" + .' ```'."\n" + ."\n" + .' {'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Action": ['."\n" + .' "oss:GetObject",'."\n" + .' "oss:GetBucketLocation",'."\n" + .' "oss:GetBucketInfo"'."\n" + .' ],'."\n" + .' "Resource": "*",'."\n" + .' "Effect": "Allow"'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' '."\n" + .' ```'."\n" + ."\n" + .' - **通过云盒导入镜像文件**:您可以通过RAM管理控制台一键完成授权操作,具体的授权页面,请参见[云资源访问授权](https://ram.console.aliyun.com/role/authorize?request=%7B%22ReturnUrl%22%3A%22https%3A%2F%2Fecs.console.aliyun.com%2F%22%2C%22Services%22%3A%5B%7B%22Roles%22%3A%5B%7B%22RoleName%22%3A%22AliyunECSCloudBoxImageImportDefaultRole%22%2C%22TemplateId%22%3A%22AliyunECSCloudBoxImageImportDefaultRole%22%7D%5D%2C%22Service%22%3A%22ECS%22%7D%5D%7D)。您也可以手动完成授权操作,部分操作中策略与权限如下所示。具体操作,请参见[账号访问控制](~~25481~~)。'."\n" + ."\n" + .' 1. 创建角色`AliyunECSCloudBoxImageImportDefaultRole`(必须是这个名称,否则导入镜像会失败),角色的策略为:'."\n" + .' ```'."\n" + .' {'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Action": "sts:AssumeRole",'."\n" + .' "Effect": "Allow",'."\n" + .' "Principal": {'."\n" + .' "Service": ['."\n" + .' "ecs.aliyuncs.com"'."\n" + .' ]'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "Version": "1"'."\n" + .' }'."\n" + .' ```'."\n" + ."\n" + .' 2. 在该角色下,添加系统策略`AliyunECSCloudBoxImageImportRolePolicy`。您也可以创建自定义策略,权限必须包含:'."\n" + .' ```'."\n" + ."\n" + .' {'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Action": ['."\n" + .' "oss-cloudbox:GetObject",'."\n" + .' "oss-cloudbox:GetBucketLocation",'."\n" + .' "oss-cloudbox:GetBucketInfo"'."\n" + .' ],'."\n" + .' "Resource": "*",'."\n" + .' "Effect": "Allow"'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' '."\n" + .' ```'."\n" + ."\n" + .'- 不能删除正在导入的镜像,只能调用[CancelTask](~~25624~~)取消导入镜像任务。'."\n" + ."\n" + .'- 导入镜像的地域必须跟镜像文件上传的OSS Bucket的地域相同。'."\n" + ."\n" + .'- 参数`DiskDeviceMapping.N`中N的取值范围为1~17。N为1时表示系统盘,N为2~17时表示数据盘,当N大于17时系统会自动忽略。'."\n" + ."\n" + .'- 当参数`Architecture`取值为`arm64`,或者参数`Platform`取值为`CentOS Stream`、`Anolis`、`AlmaLinux`、`UOS`、`Kylin`或`Rocky Linux`时,您需要注意:'."\n" + ."\n" + .' - 为了使导入后的镜像支持配置密码或者支持修改密钥对,镜像必须满足以下条件:'."\n" + ."\n" + .' - 操作系统的内核需要支持`CONFIG_FW_CFG_SYSFS`特性。Linux社区内核4.6版本之后默认支持该特性,CentOS的内核在3.10.0-826.el7版本之后默认支持该特性。您可以在该镜像对应的服务器内运行`grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r)`命令,如果回显结果中包含`CONFIG_FW_CFG_SYSFS=y`信息,则说明该镜像中的内核已支持`CONFIG_FW_CFG_SYSFS`特性。'."\n" + ."\n\n" + .' - 操作系统中已安装阿里云最新版本cloud-init。其中,19.1版本cloud-init必须在19.1.3版本及以上,部分低版本操作系统中的0.7.6a版本cloud-init必须在0.7.6a15版本及以上。具体操作,请参见[安装cloud-init](~~57803~~)。'."\n" + ."\n" + .' - 操作系统需要支持SHA-512加密算法。'."\n" + ."\n" + .' - 为了使导入后的镜像支持扩容云盘与扩容文件系统,镜像必须满足以下条件:'."\n" + ."\n" + .' - 操作系统的内核版本需要高于3.6版本。'."\n" + ."\n" + .' - 支持growpart命令。支持该命令需要安装`cloud-utils-growpart`包,不同操作系统安装方式有所不同。具体操作,请参见[扩容分区和文件系统(Linux)](~~2949817#bb3b1f02e51pj~~)。'."\n" + ."\n" + .' - 支持resize2fs命令。支持该命令需要安装`e2fsprogs`包,该包在操作系统中默认已安装,如果没有安装您需要自行安装。'."\n" + ."\n" + .' - 操作系统中已安装阿里云最新版本cloud-init。其中,19.1版本cloud-init必须在19.1.3版本及以上,部分低版本操作系统中的0.7.6a版本cloud-init必须在0.7.6a15版本及以上。具体操作,请参见[安装cloud-init](~~57803~~)。'."\n" + .'- 如果您待导入的自定义镜像对应的系统架构为arm64时,您需要设置其RTC时钟使用UTC时间标准。具体操作,请参见[Linux时间和时区说明](~~405080~~)。'."\n" + ."\n" + .'- 强烈建议在导入镜像时配置镜像检测参数,有助于系统帮助优化您的镜像。更多信息,请参见[镜像检测概述](~~439819~~)。', + ], + 'ExportImage' => [ + 'summary' => '导出一份自定义镜像到与自定义镜像同一地域的OSS Bucket里。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '29030', + 'abilityTreeNodes' => [ + 'FEATUREecsZ3BT05', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '自定义镜像ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'm-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'OSSBucket', + 'in' => 'query', + 'schema' => [ + 'description' => '保存导出镜像的OSS bucket。', + 'type' => 'string', + 'required' => true, + 'example' => 'testexportImage', + ], + ], + [ + 'name' => 'OSSPrefix', + 'in' => 'query', + 'schema' => [ + 'description' => '您的OSS Object的前缀。可以由数字或者字母组成,字符长度为1~30。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsExport', + ], + ], + [ + 'name' => 'ImageFormat', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像文件的导出格式。取值范围:'."\n" + .'- raw。'."\n" + .'- vhd。'."\n" + .'- qcow2。'."\n" + .'- vmdk。'."\n" + .'- vdi。'."\n" + ."\n" + .'默认值:raw。', + 'type' => 'string', + 'required' => false, + 'example' => 'raw', + ], + ], + [ + 'name' => 'RoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '导出镜像时使用的RAM角色名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunECSImageExportDefaultRole', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C8B26B44-0189-443E-9816-D951F596****', + ], + 'TaskId' => [ + 'description' => '导出镜像任务ID。', + 'type' => 'string', + 'example' => 'tsk-bp67acfmxazb4p****', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'An input parameter "RegionId" that is mandatory for processing the request is not supplied.', + ], + [ + 'errorCode' => 'InvalidImageName.Malformed', + 'errorMessage' => 'The specified Image name is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidOSSPrefix.Malformed', + 'errorMessage' => 'The specified OSSPrefix format is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support image import or export.', + ], + [ + 'errorCode' => 'IncorrectImageStatus', + 'errorMessage' => 'The specified Image is not available.', + ], + [ + 'errorCode' => 'InvalidImageFormat.Malformed', + 'errorMessage' => 'The specified Image Format is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.NotFound', + 'errorMessage' => 'The specified OSS bucket does not exist in this region.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified image contains the snapshot of the data disk,does not support this operation.', + ], + [ + 'errorCode' => 'InvalidImage.DiskAmountOrSize', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ImageNotSupported', + 'errorMessage' => 'The specified Image contains encrypted snapshots, do not support export.', + ], + [ + 'errorCode' => 'InvalidOSSObject.NeedRestore', + 'errorMessage' => 'The specified OSS object is a archive object, need restore first.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.NotMatched', + 'errorMessage' => 'The specified OSS bucket is incorrect, %s.', + ], + [ + 'errorCode' => 'InvalidImageFormat.RegionNotSupported', + 'errorMessage' => 'The specified image format is not supported in current region.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.ArchiveOssBucketNotSupported', + 'errorMessage' => 'Exporting an image to an OSS bucket with Archive, Cold Archive, or Deep Cold Archive storage class is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ImageNotSupported', + 'errorMessage' => 'The specified image from the image market, do not support export image.', + ], + [ + 'errorCode' => 'ImageIsExporting', + 'errorMessage' => 'The specified Image is being exported. You can use the DescribeTasks API to check the status of existing tasks.', + ], + [ + 'errorCode' => 'ExportImageFailed', + 'errorMessage' => 'Exporting image is failed, Please contact the administrator.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in the white list of exporting image.', + ], + [ + 'errorCode' => 'NoSetRoletoECSServiceAcount', + 'errorMessage' => 'ECS service account Have no right to access your OSS.please attach a role of access your oss to ECS service account.', + ], + [ + 'errorCode' => 'InvalidOSS.NotAuthorized', + 'errorMessage' => 'The specified OSS bucket or object is not allowed to access.', + ], + [ + 'errorCode' => 'ConcurrentQuotaExceed.ExportImage', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'WeeklyQuotaExceed.ExportImage', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageLicense.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageCategory.NotSupported', + 'errorMessage' => 'The specified image category is not supported.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.EncryptUnsupported', + 'errorMessage' => 'Accessing objects from encrypted OSS bucket is not supported.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F596****\\",\\n \\"TaskId\\": \\"tsk-bp67acfmxazb4p****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F596****\\n tsk-bp67acfmxazb4p****\\n cn-hangzhou\\n","errorExample":""}]', + 'title' => '导出一份自定义镜像到OSS', + 'description' => '导出镜像前:'."\n" + ."\n" + .'- 您需要先了解前提条件以及注意事项。更多信息,请参见[导出镜像](~~58181~~)。'."\n" + ."\n" + .'- 设置参数`ImageFormat`镜像导出格式功能仅在部分地域可用,支持的地域有日本(东京)、印度尼西亚(雅加达)、德国(法兰克福)、阿联酋(迪拜)、美国(弗吉尼亚)、英国(伦敦)、新加坡、马来西亚(吉隆坡)和美国(硅谷)。不支持设置镜像格式的地域,默认导出RAW格式的镜像。'."\n" + ."\n" + .'- 您必须通过RAM授权云服务器ECS写入OSS的权限。具体操作说明如下:'."\n" + ."\n" + .' - 创建角色:`AliyunECSImageExportDefaultRole`(其他任何角色名称无效),为该角色设置以下角色策略:'."\n" + .' ```'."\n" + .' {'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Action": "sts:AssumeRole",'."\n" + .' "Effect": "Allow",'."\n" + .' "Principal": {'."\n" + .' "Service": ['."\n" + .' "ecs.aliyuncs.com"'."\n" + .' ]'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "Version": "1"'."\n" + .' }'."\n" + .' - 在角色`AliyunECSImageExportDefaultRole`下加入默认的系统权限策略:`AliyunECSImageExportRolePolicy`,该策略是云服务器ECS提供导出镜像的默认策略。更多详情,请参见[云资源访问授权](https://ram.console.aliyun.com/?spm=5176.2020520101.0.0.64c64df5dfpmdY#/role/authorize?request=%7B%22Requests%22:%20%7B%22request1%22:%20%7B%22RoleName%22:%20%22AliyunECSImageImportDefaultRole%22,%20%22TemplateId%22:%20%22ECSImportRole%22%7D,%20%22request2%22:%20%7B%22RoleName%22:%20%22AliyunECSImageExportDefaultRole%22,%20%22TemplateId%22:%20%22ECSExportRole%22%7D%7D,%20%22ReturnUrl%22:%20%22https:%2F%2Fecs.console.aliyun.com%2F%22,%20%22Service%22:%20%22ECS%22%7D)。您也可以创建自定义策略,权限需要包含:'."\n" + .' ```'."\n" + .' {'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Action": ['."\n" + .' "oss:GetObject",'."\n" + .' "oss:PutObject",'."\n" + .' "oss:DeleteObject",'."\n" + .' "oss:GetBucketLocation",'."\n" + .' "oss:GetBucketInfo",'."\n" + .' "oss:AbortMultipartUpload",'."\n" + .' "oss:ListMultipartUploads",'."\n" + .' "oss:ListParts"'."\n" + .' ],'."\n" + .' "Resource": "*",'."\n" + .' "Effect": "Allow"'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' ```'."\n" + ."\n" + .'导出镜像后:'."\n" + ."\n" + .'自定义镜像将保存在指定的OSS bucket中,您可以下载自定义镜像。具体操作,请参见[下载自定义镜像文件](~~31912~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CopyImage' => [ + 'summary' => '复制一个地域下的自定义镜像到其他地域。复制镜像可以实现跨地域部署ECS实例、跨地域复制ECS实例等目的。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28811', + 'abilityTreeNodes' => [ + 'FEATUREecsZ3BT05', + ], + ], + 'parameters' => [ + [ + 'name' => 'DestinationImageName', + 'in' => 'query', + 'schema' => [ + 'description' => '复制后的镜像的名称。长度为2~128个字符。必须以大小写字母或中文开头,也不能以`aliyun`或`acs:`开头,不能包含`http://`或者`https://`。可以包含数字、半角句号(.)、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'YourImageName', + ], + ], + [ + 'name' => 'DestinationDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '复制后的镜像的描述信息。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a description example.', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '源自定义镜像的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'm-bp1h46wfpjsjastc****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源自定义镜像的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DestinationRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '复制到目标地域的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '是否加密复制后的镜像。'."\n" + ."\n" + .'- true:加密。'."\n" + .'- false:不加密。'."\n" + .'- 不指定:需要依赖后端判断,判断逻辑见下文的补充说明。'."\n" + ."\n" + .'默认值:不指定。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '加密镜像使用的密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'e522b26d-abf6-4e0d-b5da-04b7******3c', + 'maxLength' => 64, + ], + ], + [ + 'name' => 'EncryptAlgorithm', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '复制后的镜像的资源组ID。如果不设置该参数值,复制后的镜像属于默认资源组。'."\n" + ."\n" + .'> 如果您当前使用的是RAM用户调用该接口,且`ResourceGroupId`取值为空,您需要注意,当RAM用户没有默认资源组权限时,调用接口会返回报错信息`Forbidden: User not authorized to operate on the specified resource`。请您设置RAM用户支持的资源组ID或者通过相应阿里云账号为该RAM用户授予默认资源组权限后,再次调用该接口。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '复制后的镜像的标签值。N的取值范围为1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '复制后的镜像的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送预检请求。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数等。如果检查不通过,则返回对应错误信息。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后返回 2XX HTTP状态码并直接操作资源。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ImageId' => [ + 'description' => '复制后的镜像的ID。', + 'type' => 'string', + 'example' => 'm-bp1h46wfpjsjastd****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified destination description is wrongly formed.', + ], + [ + 'errorCode' => 'SourceRegion.NotFound', + 'errorMessage' => 'The source region not found.', + ], + [ + 'errorCode' => 'DestinationRegion.NotFound', + 'errorMessage' => 'The destination region not found.', + ], + [ + 'errorCode' => 'IncorrectImageStatus', + 'errorMessage' => 'The image not available.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified SnapshotId does not exist.', + ], + [ + 'errorCode' => 'InvalidImageName.Duplicated', + 'errorMessage' => 'The specified image name is already in use in the target region. Please try a different one.', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedIllegal', + 'errorMessage' => 'The specified parameter Encrypted must be true when kmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchEncryptAlgorithm', + 'errorMessage' => 'The specified parameter Encrypted must be true when EncryptAlgorithm is not empty.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchKmsKeyId', + 'errorMessage' => 'The specified parameter Encrypted must be true when KmsKeyId is not empty.', + ], + [ + 'errorCode' => 'OperationDenied.CommunityImage', + 'errorMessage' => 'Community image does not support copy.', + ], + [ + 'errorCode' => 'InvalidImageName.Malformed', + 'errorMessage' => 'The specified destination image name is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'The specified operation need enable KMS.', + ], + [ + 'errorCode' => 'OperationDenied.ImageCopyConflict', + 'errorMessage' => 'The same image cannot be copied concurrently. Please wait until the last copy is completed before performing the next operation.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAliUid.IsNull', + 'errorMessage' => 'The aliUid must not be null.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidOperation.CopyingDataFromThisRegionUnsupported', + 'errorMessage' => 'Data transfer from the current region to other regions is not supported.', + ], + [ + 'errorCode' => 'InvalidOperation.CopyingDataToThisRegionUnsupported', + 'errorMessage' => 'Only Some Regions %s can copy data to this region.', + ], + [ + 'errorCode' => 'QuotaExceed.Image', + 'errorMessage' => 'The number of images exceeds the limit (%s).', + ], + [ + 'errorCode' => 'QuotaExceed.Snapshot', + 'errorMessage' => 'The snapshot quota exceeds.', + ], + [ + 'errorCode' => 'OperationDenied.ImageCopying', + 'errorMessage' => 'The image is currently being copied. Please try again later.', + ], + [ + 'errorCode' => 'RegionNotSupportCopy', + 'errorMessage' => 'The region not support copy.', + ], + [ + 'errorCode' => 'InvalidSnapshot.TooOld', + 'errorMessage' => 'This operation is denied because the specified snapshot is created before 2013-07-15.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified snapshot is not allowed to create image.', + ], + [ + 'errorCode' => 'IncorrectDestinationRegion', + 'errorMessage' => 'The destination region is not equal the target region.', + ], + [ + 'errorCode' => 'OperationDeined.EncryptedSnapshot', + 'errorMessage' => 'The image contains encrypted snapshots, which do not support copying.', + ], + [ + 'errorCode' => 'OperationDenied.SameRegionOnly', + 'errorMessage' => 'The image shared from others can not be copied to another region directly.', + ], + [ + 'errorCode' => 'OperationDenied.NotPublished', + 'errorMessage' => 'The operation is denied because corresponding marketplace image is not published in destination region.', + ], + [ + 'errorCode' => 'OperationDenied.NotAuthorized', + 'errorMessage' => 'The operation is denied because corresponding marketplace image is not authorized to current user.', + ], + [ + 'errorCode' => 'OperationDenied.EncryptSnapshotAcrossRegion', + 'errorMessage' => 'The image do not contain encrypted snapshots, which do not support copying to encrypted ones.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support byok.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in byok white list.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportEncryptAlgorithm', + 'errorMessage' => 'The current region does not support creating encrypted disks with EncryptAlgorithm.', + ], + [ + 'errorCode' => 'OperationDenied.KmsServiceUnauthorized', + 'errorMessage' => 'The account is not authorized to kms service, please authorize it.', + ], + [ + 'errorCode' => 'OperationDenied.NonCompliantDestinationRegion', + 'errorMessage' => 'The copy operation to the destination region is not in compliance with regulations.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchDiskDefaultEncryption', + 'errorMessage' => 'The specified parameter Encrypted not match for your account default encryption settings.', + ], + [ + 'errorCode' => 'InvalidParameter.DataEncryptedKeyCreateFailed', + 'errorMessage' => 'Create kms data encrypted key fail. If you need further assistance, you can contact the KMS Technical Support.', + ], + [ + 'errorCode' => 'SizeExceed.Image', + 'errorMessage' => 'The image exceeds the maximum size. You can use the CopySnapshot API to copy your snapshots of the image and then create a new image from them.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + [ + 'errorCode' => 'InvalidOperation.VhdImageUnsupported', + 'errorMessage' => 'The specified vhd image is not supported for this operation. Please switch to a raw image and retry.', + ], + [ + 'errorCode' => 'InvalidOperation.CloudBoxImageCopyUnsupported', + 'errorMessage' => 'Copying CloudBox images is not supported.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 409 => [ + [ + 'errorCode' => 'InvalidOperation.Conflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request, please try again later.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ImageId\\": \\"m-bp1h46wfpjsjastd****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"ImageId\\": \\"Img-231234567\\"\\n}"},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n m-bp1h46wfpjsjastd****\\n","errorExample":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n Img-231234567\\n"}]', + 'title' => '复制一个地域下的自定义镜像到其他地域', + 'description' => '## 接口说明'."\n" + .'您可以在其他地域使用复制后的镜像创建ECS实例(RunInstances),或者更换实例的系统盘(ReplaceSystemDisk)。 '."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 自定义镜像的状态必须为可用(`Available`)。 '."\n" + .'- 镜像是您账号下的自定义镜像时,可以跨地域复制镜像;镜像是其他人共享给您的镜像时,只能同地域复制镜像。 '."\n" + .'- 复制镜像期间,您无法直接操作删除([DeleteImage](~~25537~~))复制中的镜像,但是您可以通过取消复制任务([CancelCopyImage](~~25539~~))的方式来删除复制中的镜像。 '."\n" + .'- 同一个地域下同时只能有五个镜像复制任务运行,其余任务需要排队等待上述任一任务完成后再依次排队执行。'."\n" + .'- 您可以通过`ResourceGroupId`参数指定复制后的镜像所属的资源组。如果不设置`ResourceGroupId`参数值,复制后的镜像属于默认资源组。', + 'requestParamsDescription' => '| **场景** | **源镜像状态** | **Encrypted 参数** | **KMSKeyId 参数** | **目标地域是否配置**[块存储账号级加密](https://help.aliyun.com/zh/ecs/user-guide/account-level-ebs-default-encryption) | **目标镜像结果** | **结果说明** |'."\n" + .'| -------- | -------------- | ------------------ | ----------------- | ------------------------------------------------------------ | ---------------- | ------------------------------------------------------------ |'."\n" + .'| 1 | 非加密镜像 | False或未指定 | 未指定 | 未配置 | 非加密镜像 | 不加密,镜像保持原样。 |'."\n" + .'| 2 | 非加密镜像 | True | 未指定 | 任意 | 全加密镜像 | 用户显式要求加密。如果已经配置了块存储账号级加密,则选择配置的默认密钥加密。否则使用服务密钥加密。 |'."\n" + .'| 3 | 非加密镜像 | True | 指定 | 任意 | 全加密镜像 | 用户显式要求加密。使用用户指定的**KMSKeyId**加密。 |'."\n" + .'| 4 | 非加密镜像 | 未指定 | 未指定 | 已配置 | 全加密镜像 | 使用块存储账号级加密配置的密钥加密。 |'."\n" + .'| 5 | 加密镜像 | 未指定 | 未指定 | 未配置 | 加密镜像 | 保持原有的格式,不加密的快照不加密,加密的按照服务密钥加密。 |'."\n" + .'| 6 | 加密镜像 | 未指定或True | 未指定 | 已配置 | 全加密镜像 | 使用块存储账号级加密配置的密钥加密。 |'."\n" + .'| 7 | 加密镜像 | True | 未指定 | 未配置 | 全加密镜像 | 使用服务密钥加密。 |'."\n" + .'| 8 | 加密镜像 | True | 未指定 | 已配置 | 全加密镜像 | 使用块存储账号级加密配置的密钥加密。 |'."\n" + .'| 9 | 加密镜像 | True | 指定 | 任意 | 全加密镜像 | 用户显式要求加密。使用用户指定的**KMSKeyId**加密。 |', + 'responseParamsDescription' => ' ', + ], + 'CancelCopyImage' => [ + 'summary' => '取消正在进行中的复制镜像(CopyImage)任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '28800', + 'abilityTreeNodes' => [ + 'FEATUREecsZ3BT05', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标镜像所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '正在被复制的镜像ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'm-bp1caf3yicx5jlfl****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ImageCreatedNotFromCopy', + 'errorMessage' => 'The specified image is not the target image of a copy action.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'IncorrectImageStatus', + 'errorMessage' => 'The specified snapshot is not coping.', + ], + [ + 'errorCode' => 'CancelNotSupported', + 'errorMessage' => 'The specified image coping can not be cancelled.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\"\\n}"},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n","errorExample":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n"}]', + 'title' => '取消正在进行中的复制镜像任务', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 取消复制镜像后,目标地域中新建的镜像会被自动删除,源镜像保持不变。'."\n" + .'- 若复制镜像已完成,则操作失败并返回错误提示。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateImageComponent' => [ + 'summary' => '创建一个镜像组件。镜像组件用于存储您在构建镜像时,常用的构建模板命令。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '29251', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '组件名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以http://和https://开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'> 不设置`Name`时,默认使用`ImageComponentId`返回值。', + 'type' => 'string', + 'required' => false, + 'example' => 'testComponent', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '描述信息。长度为2~256个英文或中文字符,不能以http://和https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'SystemType', + 'in' => 'query', + 'schema' => [ + 'description' => '组件支持的操作系统。'."\n" + ."\n" + .'取值范围:'."\n" + .'- Linux'."\n" + .'- Windows'."\n" + ."\n" + .'默认值:Linux。', + 'type' => 'string', + 'required' => false, + 'example' => 'Linux', + ], + ], + [ + 'name' => 'ComponentType', + 'in' => 'query', + 'schema' => [ + 'description' => '组件类型。支持镜像构建组件和测试组件。'."\n" + ."\n" + .'取值范围:'."\n" + .'- Build'."\n" + .'- Test'."\n" + ."\n" + .'默认值:Build。'."\n" + .'> 构建组件只能在构建模板中使用,测试组件只能在测试模板中使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'Build', + ], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'schema' => [ + 'description' => '组件内容。由多条命令组成,命令内容不能超过16KB。支持的命令和命令格式详情,请参见[镜像构建服务支持的命令说明](~~200206~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Tasks:'."\n" + .' - Name: HelloWorld'."\n" + .' Action: RunShellCommand'."\n" + .' Properties:'."\n" + .' commandContent: echo hello world', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ComponentVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '组件版本号,与组件名称配合使用,格式为major.minor.patch,均为非负整数。'."\n" + ."\n" + .'默认值:(x+1).0.0,x为当前组件最大的major版本号。', + 'type' => 'string', + 'required' => false, + 'example' => '1.0.0', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ImageComponentId' => [ + 'description' => '镜像组件ID。', + 'type' => 'string', + 'example' => 'ic-bp67acfmxazb4p****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidCommand.Component', + 'errorMessage' => 'Image component does not support component command.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSystemType.NotSupportedValue', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidComponentType.NotSupportedValue', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidContent.LengthExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageTemplateCommandSize.ExceededMaxNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageTemplateCommand.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.RUN', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.ENV', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.WORKDIR', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.COPY', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.USER', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.CMD', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.ENTRYPOINT', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter.Content', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EmptyCommandContent.RUN', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.ENV', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.LABEL', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.COPY', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.ENTRYPOINT', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.CMD', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'NotEmptyCommandContent.RESTART', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.WORKDIR', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.USER', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'QuotaExceed.ImageComponent', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParameter.Content', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidImage.OsTypeUnsupported', + 'errorMessage' => 'The specified base image does not support image building.', + ], + [ + 'errorCode' => 'InvalidParameter.ComponentVersion', + 'errorMessage' => 'The specified ComponentVersion is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidComponentVersion.Exist', + 'errorMessage' => 'The specified ComponentVersion does exist with the specified Name.', + ], + [ + 'errorCode' => 'InvalidOperation.NoPermissionCreateServiceLinkedRole', + 'errorMessage' => 'You are not authorized to create Service-linked role. The system will automatically create it when the API is called for the first time. Check your RAM policies, and ensure that you are using the correct credentials.', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'NotSupportedCommand.FROM', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ImageComponentId\\": \\"ic-bp67acfmxazb4p****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n ic-bp67acfmxazb4p****\\n","errorExample":""}]', + 'title' => '创建镜像组件', + 'description' => '## 接口说明'."\n" + ."\n" + .'创建镜像组件前,您需要注意:'."\n" + ."\n" + .'- 仅支持创建您自定义的镜像组件。'."\n" + .'- 相同名称的组件版本号不能重复,当在模板中使用组件时,可以通过名称和版本号进行引用。'."\n" + .'- 镜像组件的内容大小不能超过16 KB。支持的命令详情,请参见[镜像构建服务支持的命令说明](~~200206~~)。'."\n" + ."\n" + .'更多信息,请参见[镜像构建概述](~~197410~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeImageComponents' => [ + 'summary' => '查询一个或多个镜像组件的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29277', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N的取值范围:1~20', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。N的取值范围:1~20', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像组件名称。仅支持精确查找。', + 'type' => 'string', + 'required' => false, + 'example' => 'testComponent', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。取值范围:1~500'."\n" + ."\n" + .'默认值:50。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'minimum' => '1', + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'Owner', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像组件类型。取值范围:'."\n" + ."\n" + .'- SELF:您创建的自定义镜像组件。'."\n" + .'- ALIYUN:阿里云提供的系统组件。', + 'type' => 'string', + 'required' => false, + 'example' => 'SELF', + ], + ], + [ + 'name' => 'ImageComponentId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待查询的镜像组件ID。N取值范围:1~20', + 'type' => 'array', + 'items' => [ + 'description' => '待查询的镜像组件ID。N取值范围:1~20', + 'type' => 'string', + 'required' => false, + 'example' => 'ic-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'ic-bp67acfmxazb4p****', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ComponentType', + 'in' => 'query', + 'schema' => [ + 'description' => '组件类型。'."\n" + ."\n" + .'取值范围:'."\n" + .'- Build'."\n" + .'- Test', + 'type' => 'string', + 'required' => false, + 'example' => 'Build', + ], + ], + [ + 'name' => 'SystemType', + 'in' => 'query', + 'schema' => [ + 'description' => '组件支持的操作系统。'."\n" + ."\n" + .'取值范围:'."\n" + .'- Linux'."\n" + .'- Windows', + 'type' => 'string', + 'required' => false, + 'example' => 'Linux', + ], + ], + [ + 'name' => 'ComponentVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '组件版本号,格式为major.minor.patch,均为非负整数,也支持使用通配符“*”来替代其中一位进行模糊匹配版本。'."\n" + .'>仅当指定Name时该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => '1.0.*', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。具体使用方式请参见接口说明。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '返回的镜像组件数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分页查询时每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'ImageComponent' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ImageComponentSet' => [ + 'description' => '镜像组件的详细信息组成的列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '组件创建时间。', + 'type' => 'string', + 'example' => '2020-11-24T06:00:00Z', + ], + 'Description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'SystemType' => [ + 'description' => '组件支持的操作系统。', + 'type' => 'string', + 'example' => 'Linux', + ], + 'ImageComponentId' => [ + 'description' => '镜像组件ID。', + 'type' => 'string', + 'example' => 'ic-bp67acfmxazb4p****', + ], + 'ComponentType' => [ + 'description' => '组件类型。', + 'type' => 'string', + 'example' => 'Build', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'Name' => [ + 'description' => '组件名称。', + 'type' => 'string', + 'example' => 'testComponent', + ], + 'Content' => [ + 'description' => '组件内容。', + 'type' => 'string', + 'example' => 'Tasks:'."\n" + .' - Name: HelloWorld'."\n" + .' Action: RunShellCommand'."\n" + .' Properties:'."\n" + .' commandContent: echo hello world'."\n", + ], + 'Owner' => [ + 'description' => '镜像组件类型。可能值:'."\n" + ."\n" + .'- SELF:您创建的自定义镜像组件。'."\n" + .'- ALIYUN:阿里云提供的系统组件。', + 'type' => 'string', + 'example' => 'SELF', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签键值对列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'ComponentVersion' => [ + 'description' => '组件版本号。', + 'type' => 'string', + 'example' => '1.0.0', + ], + 'Parameters' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Parameter' => [ + 'description' => '镜像组件包含的参数列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '参数名称。', + 'type' => 'string', + 'example' => 'paramName', + ], + 'Type' => [ + 'description' => '参数类型。'."\n" + ."\n" + .'取值范围:'."\n" + .'- String'."\n" + .'- Number'."\n" + .'- Boolean', + 'type' => 'string', + 'example' => 'String', + ], + 'DefaultValue' => [ + 'description' => '参数默认值。', + 'type' => 'string', + 'example' => 'paramDefaultValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Owner', + 'errorMessage' => 'The specified parameter \\"Owner\\" is not valid.', + ], + [ + 'errorCode' => 'InvalidImageComponentIdSize.ExceededMaxNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSystemType.NotSupportedValue', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidComponentType.NotSupportedValue', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParameter.ComponentVersion', + 'errorMessage' => 'The specified ComponentVersion is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Invalid.NextToken', + 'errorMessage' => 'The specified NextToken is not valid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 50,\\n \\"ImageComponent\\": {\\n \\"ImageComponentSet\\": [\\n {\\n \\"CreationTime\\": \\"2020-11-24T06:00:00Z\\",\\n \\"Description\\": \\"This is description.\\",\\n \\"SystemType\\": \\"Linux\\",\\n \\"ImageComponentId\\": \\"ic-bp67acfmxazb4p****\\",\\n \\"ComponentType\\": \\"Build\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"Name\\": \\"testComponent\\",\\n \\"Content\\": \\"Tasks:\\\\n - Name: HelloWorld\\\\n Action: RunShellCommand\\\\n Properties:\\\\n commandContent: echo hello world\\\\n\\",\\n \\"Owner\\": \\"SELF\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"ComponentVersion\\": \\"1.0.0\\",\\n \\"Parameters\\": {\\n \\"Parameter\\": [\\n {\\n \\"Name\\": \\"paramName\\",\\n \\"Type\\": \\"String\\",\\n \\"DefaultValue\\": \\"paramDefaultValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n AAAAAdDWBF2****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n \\n Build\\n This is description.\\n rg-bp67acfmxazb4p****\\n SELF\\n RESTART\\n 2020-11-24T06:00:00Z\\n Linux\\n ic-bp67acfmxazb4p****\\n testComponent\\n \\n \\n \\n \\n TestKey\\n TestValue\\n \\n \\n \\n \\n 50\\n","errorExample":""}]', + 'title' => '查询镜像组件的详细信息', + 'description' => '您可以设置`NextToken`查询凭证(Token),其取值是上一次调用DescribeImageComponents返回的`NextToken`参数值,再通过`MaxResults`设置单页查询的最大条目数进行查询。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteImageComponent' => [ + 'summary' => '调用DeleteImageComponent接口,并指定参数RegionId、ImageComponentId,删除一个镜像组件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29265', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImageComponentId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要删除的镜像组件ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ic-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidImageComponent.InUse', + 'errorMessage' => '%s.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImageComponent.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n","errorExample":""}]', + 'title' => '删除镜像组件', + 'description' => '- 仅支持删除您已创建的自定义镜像组件。'."\n" + .'- 当删除组件时,确保该组件不在模板中使用,否则将会删除失败。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateImagePipeline' => [ + 'summary' => '创建一个镜像模板。镜像模板可用于构建镜像。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '65905', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'AddAccount', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '目标镜像共享的阿里云账号ID。N的取值范围:1~20。', + 'type' => 'array', + 'items' => [ + 'description' => '目标镜像共享的阿里云账号ID。N的取值范围:1~20。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1234567890', + ], + 'required' => false, + 'example' => '1234567890', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ToRegionId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '目标镜像待分发的地域列表。N的取值范围:1~20。'."\n" + ."\n" + .'不设置参数值时,默认只在当前地域创建镜像。', + 'type' => 'array', + 'items' => [ + 'description' => '目标镜像待分发的地域列表。N的取值范围:1~20。'."\n" + ."\n" + .'不设置参数值时,默认只在当前地域创建镜像。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + 'required' => false, + 'example' => 'cn-hangzhou', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'BaseImageType', + 'in' => 'query', + 'schema' => [ + 'description' => '源镜像类型。取值范围:'."\n" + ."\n" + .'- IMAGE:镜像。'."\n" + .'- IMAGE_FAMILY:镜像族系。'."\n" + .'- OSS:OSS对象。', + 'type' => 'string', + 'required' => true, + 'example' => 'IMAGE', + ], + ], + [ + 'name' => 'BaseImage', + 'in' => 'query', + 'schema' => [ + 'description' => '源镜像。'."\n" + .'- 当`BaseImageType=IMAGE`时,该参数取值为镜像ID。'."\n" + .'- 当`BaseImageType=IMAGE_FAMILY`时,该参数取值为镜像族系名称。'."\n" + .'- 当`BaseImageType=OSS`时,无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'm-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '模板名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'>不设置`Name`时,默认使用`ImagePipelineId`返回值。', + 'type' => 'string', + 'required' => false, + 'example' => 'testImagePipeline', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => [ + 'description' => '目标镜像名称前缀。'."\n" + .''."\n" + .'该参数已弃用。请使用ImageOptions.ImageName。'."\n" + .'', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'testImageName', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC的交换机ID。'."\n" + ."\n" + .'不设置参数值时,默认创建新的VPC与交换机,请确保您账号下VPC资源配额充足,更多信息,请参见[使用限制](~~27750~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格。您可以调用[DescribeInstanceTypes](~~25620~~)查询不同的实例规格。'."\n" + ."\n" + .'不设置参数值时,默认按vCPU和内存最小的原则,自动设置实例规格,并受实例规格的库存影响。例如,默认选择ecs.g6.large实例规格,如果库存不足,将选择ecs.g6.xlarge实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + ], + [ + 'name' => 'SystemDiskSize', + 'in' => 'query', + 'schema' => [ + 'description' => '中转实例的系统盘大小。单位:GiB。取值范围:20~500。'."\n" + ."\n" + .'默认值:40。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '40', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '中转实例的公网出带宽大小。单位:Mbit/s。取值范围:0~100。'."\n" + ."\n" + .'默认值:0。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'DeleteInstanceOnFailure', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像构建失败后是否释放中转实例。取值范围:'."\n" + ."\n" + .'- true:释放。'."\n" + .'- false:不释放。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n" + .'> 中转实例如果没有成功启动,则实例默认不保留。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'BuildContent', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像构建模板内容。内容大小不能超过16 KB,具体支持的命令请参见[镜像构建服务支持的命令说明](~~200206~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'COMPONENT ic-bp12dvdzvr9k9*****'."\n" + .'COMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.*', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RepairMode', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像模版中的修复选项。'."\n" + ."\n" + .'取值范围:'."\n" + .'- Standard:标准模式。'."\n" + ."\n" + .' 当前Linux系统的检测项包含'."\n" + .' - GUESTOS.CloudInit'."\n" + .' - GUESTOS.Dhcp'."\n" + .' - GUESTOS.Virtio'."\n" + .' - GUESTOS.OnlineResizeFS'."\n" + .' - GUESTOS.Grub'."\n" + .' - GUESTOS.Fstab'."\n" + ."\n" + .' Windows系统的检测项包含'."\n" + .' - GUESTOS.Virtio'."\n" + .' - GUESTOS.Update'."\n" + .' - GUESTOS.Hotfix'."\n" + .' - GUESTOS.Server'."\n" + .'>随着检测修复能力的不断提升,包含的修复项可能会增加。修复项具体含义,请参见[镜像检测概述](~~439819~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '目标镜像族系。'."\n" + .''."\n" + .'该参数已弃用。请使用ImageOptions.ImageFamily。'."\n" + .'', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'family', + ], + ], + [ + 'name' => 'TestContent', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像测试模板内容。内容大小不能超过16 KB,具体支持的命令请参见[镜像构建服务支持的命令说明](~~200206~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'COMPONENT ic-bp12dvdzvr9k9*****'."\n" + .'COMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.*', + ], + ], + [ + 'name' => 'ImportImageOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '导入镜像的属性和设置。当`BaseImageType=OSS`时,需要设置。', + 'type' => 'object', + 'properties' => [ + 'Architecture' => [ + 'description' => '指定数据盘快照做镜像的系统盘后,需要通过Architecture确定系统盘的系统架构。取值范围:'."\n" + ."\n" + .'- x86_64。'."\n" + .'- arm64。'."\n" + ."\n" + .'默认值为x86_64。', + 'type' => 'string', + 'required' => false, + 'example' => 'x86_64', + ], + 'OSType' => [ + 'description' => '操作系统类型。可能值:'."\n" + ."\n" + .'- windows。'."\n" + .'- linux。'."\n" + ."\n" + .'默认值:linux。', + 'type' => 'string', + 'required' => false, + 'example' => 'linux', + ], + 'Platform' => [ + 'description' => '操作系统版本。取值范围:'."\n" + .'- Aliyun'."\n" + .'- Anolis'."\n" + .'- CentOS'."\n" + .'- Ubuntu'."\n" + .'- CoreOS'."\n" + .'- SUSE'."\n" + .'- Debian'."\n" + .'- OpenSUSE'."\n" + .'- FreeBSD'."\n" + .'- RedHat'."\n" + .'- Kylin'."\n" + .'- UOS'."\n" + .'- Fedora'."\n" + .'- Fedora CoreOS'."\n" + .'- CentOS Stream'."\n" + .'- AlmaLinux'."\n" + .'- Rocky Linux'."\n" + .'- Gentoo'."\n" + .'- Customized Linux'."\n" + .'- Others Linux'."\n" + .'- Windows Server 2022'."\n" + .'- Windows Server 2019'."\n" + .'- Windows Server 2016'."\n" + .'- Windows Server 2012'."\n" + .'- Windows Server 2008'."\n" + .'- Windows Server 2003'."\n" + .'- Other Windows'."\n" + ."\n" + .'默认值:当操作系统类型为Linux时为Others Linux,否则为Other Windows。', + 'type' => 'string', + 'required' => false, + 'example' => 'Aliyun', + ], + 'BootMode' => [ + 'description' => '修改镜像的启动模式。取值范围:'."\n" + ."\n" + .'- BIOS:BIOS启动模式。'."\n" + .'- UEFI:UEFI启动模式。'."\n" + ."\n" + .'默认值:BIOS。如果`Architecture=arm64`,则该参数默认值为UEFI,且只能设置为UEFI。'."\n" + ."\n" + .''."\n" + ."\n" + .'为了避免使用镜像不支持的启动模式导致实例无法正常启动,请您务必在选择该参数之前了解目标镜像支持的启动模式。镜像启动模式详情,请参见[镜像启动模式](~~2244655#b9caa9b8bb1wf~~)。'."\n" + ."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'BIOS', + ], + 'LicenseType' => [ + 'description' => '导入镜像后,激活操作系统采用的许可证类型。取值范围:'."\n" + ."\n" + .'- Auto:由阿里云检测源操作系统并分配许可证。自动模式下,系统优先搜索您设置的`Platform`是否有阿里云官方渠道的许可证并分配给导入的镜像,如果缺乏该类许可,会切换成BYOL(Bring Your Own License)方式。'."\n" + .'- Aliyun:根据您设置的`Platform`采用阿里云官方渠道的许可证。'."\n" + .'- BYOL:源操作系统自带的许可证。采用BYOL时,您必须确保您的许可证密钥支持在阿里云使用。'."\n" + ."\n" + .'默认值:Auto。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Auto', + ], + 'DiskDeviceMappings' => [ + 'description' => '创建的自定义镜像信息列表。'."\n" + .'- N=1 时,表示系统盘.'."\n" + .'- N=2~17 时,表示数据盘。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OSSBucket' => [ + 'description' => '镜像文件所在的OSS Bucket。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecsimageos', + ], + 'OSSObject' => [ + 'description' => '镜像上传至OSS Bucket后,保存在Bucket中的镜像文件的文件名(key)。', + 'type' => 'string', + 'required' => false, + 'example' => 'CentOS_5.4_32.raw', + ], + 'Format' => [ + 'description' => '镜像格式。取值范围:'."\n" + ."\n" + .'- RAW。'."\n" + .'- VHD。'."\n" + .'- QCOW2。'."\n" + ."\n" + .'默认值:无,表示阿里云自动检测镜像格式,以检测格式为准。', + 'type' => 'string', + 'required' => false, + 'example' => 'RAW', + ], + 'DiskImageSize' => [ + 'description' => '导入镜像后,自定义镜像的空间大小。'."\n" + ."\n" + .'该空间由系统盘和数据盘组成,您必须保证系统盘的空间大小大于等于导入的镜像文件大小。取值范围:'."\n" + ."\n" + .'- N=1时,表示系统盘,取值范围:1 GiB~2048 GiB。'."\n" + .'- N=2~17时,表示数据盘。取值范围:1 GiB~2048 GiB。'."\n" + ."\n" + .'当您将源镜像文件上传至OSS后,可以在OSS Bucket中查看镜像文件的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '40', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'Features' => [ + 'description' => '镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'NvmeSupport' => [ + 'description' => '导入的原始镜像是否支持 NVMe。可能值:'."\n" + .'- supported:支持。表示以该镜像创建的实例支持 NVMe 协议。'."\n" + .'- unsupported:不支持。表示以该镜像创建的实例不支持 NVMe 协议。'."\n" + ."\n" + .'默认值:unsupported。', + 'type' => 'string', + 'required' => false, + 'example' => 'supported', + ], + 'ImdsSupport' => [ + 'type' => 'string', + 'required' => false, + ], + ], + 'required' => false, + ], + 'RetainImportedImage' => [ + 'description' => '> 该参数正在邀测中。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'RetentionStrategy' => [ + 'type' => 'string', + 'required' => false, + ], + 'ImageName' => [ + 'type' => 'string', + 'required' => false, + ], + 'Description' => [ + 'type' => 'string', + 'required' => false, + ], + 'RoleName' => [ + 'type' => 'string', + 'required' => false, + ], + 'ImportImageTags' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + 'required' => false, + ], + 'Value' => [ + 'type' => 'string', + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'NvmeSupport', + 'in' => 'query', + 'schema' => [ + 'description' => '构建的目标镜像是否支持 NVMe。'."\n" + .''."\n" + .'该参数已弃用。请使用ImageOptions. ImageFeatures.NvmeSupport。'."\n" + .'', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'auto', + ], + ], + [ + 'name' => 'AdvancedOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '高级设置。', + 'type' => 'object', + 'properties' => [ + 'RetainCloudAssistant' => [ + 'description' => '是否保留云助手。构建过程中,系统会自动在中转实例中安装云助手以执行命令,您可以选择是否在构建的目标镜像中保留。可能值:'."\n" + .'- true:保留。'."\n" + .'- false:不保留。'."\n" + ."\n" + .'默认值:false。'."\n" + .'>该设置不会对您镜像中自带的云助手产生任何影响。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'ImageNameSuffix' => [ + 'description' => '是否禁用目标镜像名称自动增加后缀。可能值:'."\n" + .'- disable:禁用。', + 'type' => 'string', + 'required' => false, + 'example' => 'disable', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ImageOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '目标镜像属性。', + 'type' => 'object', + 'properties' => [ + 'ImageName' => [ + 'description' => '目标镜像名称前缀。长度为2~64个字符,必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'最终完整的镜像名称由系统自动拼接名称前缀与构建任务ID(`ExecutionId`),格式为`{ImageName}_{ExecutionId}`。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testImageName', + ], + 'ImageFamily' => [ + 'description' => '目标镜像族系。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 aliyun 和 acs:开头,不能包含 http://或者 https://。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'family', + ], + 'Description' => [ + 'description' => '描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + 'ImageFeatures' => [ + 'description' => '目标镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'NvmeSupport' => [ + 'description' => '构建的目标镜像是否支持 NVMe。可能值:'."\n" + .'- supported:支持。表示以该镜像创建的实例支持 NVMe 协议。'."\n" + .'- unsupported:不支持。表示以该镜像创建的实例不支持 NVMe 协议。'."\n" + .'- auto:自动检测。由系统自动检测您的镜像是否安装NVMe驱动,该行为发生在构建阶段前,若您在构建时安装或者卸载了NVMe驱动,可能会出现结果偏差,建议您根据构建内容设置为supported或unsupported。', + 'type' => 'string', + 'required' => false, + 'example' => 'auto', + ], + ], + 'required' => false, + ], + 'ImageTags' => [ + 'description' => '目标镜像标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '资源的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ImagePipelineId' => [ + 'description' => '镜像模板ID。', + 'type' => 'string', + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSourceInstance.NotFound', + 'errorMessage' => 'The specified source instance is not found.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageName.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidBaseImageType.NotSupportedValue', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.NotSupportedValue', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthOut.NotSupportedValue', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAddAccountSize.ExceededMaxNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidToRegionIdSize.ExceededMaxNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidBuildContent.LengthExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageTemplateCommandSize.ExceededMaxNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'DuplicatedCommand.FROM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandOrder.FROM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImageTemplateCommand.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.RUN', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.ENV', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.WORKDIR', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.COPY', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.USER', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.FROM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.CMD', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCommandContent.ENTRYPOINT', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.ImagePipeline', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.LABEL', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.ENV', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.ENTRYPOINT', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.CMD', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.COPY', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.WORKDIR', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'NotEmptyCommandContent.RESTART', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.USER', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'EmptyCommandContent.RUN', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidImage.OsTypeUnsupported', + 'errorMessage' => 'The specified base image does not support image building.', + ], + [ + 'errorCode' => 'InvalidParameter.BuildContent', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParameter.TestContent', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidImageComponent.NotSupported', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParameterCombination', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParameter.RepairMode', + 'errorMessage' => 'The specified parameter RepairMode is invalid.', + ], + [ + 'errorCode' => 'InvalidImageFamily.Malformed', + 'errorMessage' => 'The format of the specified image family is invalid.', + ], + [ + 'errorCode' => 'InvalidImage.ImageOwnerAliasUnsupported', + 'errorMessage' => 'The specified base image does not support distributing.', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsArchitecture', + 'errorMessage' => 'The specified parameter ImportImageOptions.Architecture is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsOSType', + 'errorMessage' => 'The specified parameter ImportImageOptions.OSType is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsBootMode', + 'errorMessage' => 'The specified parameter ImportImageOptions.BootMode is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidImportImageOptionsDiskDeviceMappings.LengthLimitExceeded', + 'errorMessage' => 'The length of the specified parameter ImportImageOptions.DiskDeviceMappings exceeds the limit(17).', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsDiskDeviceMappingsOSSObject', + 'errorMessage' => 'The specified parameter ImportImageOptions.DiskDeviceMappings.OSSObject is invalid. OSSObject supports up to 1023 characters, and cannot start with http:// or https://.', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsDiskDeviceMappingsOSSBucket', + 'errorMessage' => 'The specified parameter ImportImageOptions.DiskDeviceMappings.OSSBucket is invalid. OSSBucket supports up to 63 characters, only lowercase letters, numbers, and dashes are allowed, and cannot start or end with a dash.', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsPlatform', + 'errorMessage' => 'The specified parameter ImportImageOptions.Platform is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsLicenseType', + 'errorMessage' => 'The specified parameter ImportImageOptions.LicenseType is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsFeaturesNvmeSupport', + 'errorMessage' => 'The specified parameter ImportImageOptions.Features.NvmeSupport is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidParameter.NvmeSupport', + 'errorMessage' => 'The specified parameter NvmeSupport is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidParameter.ImportImageOptionsDiskDeviceMappingsFormat', + 'errorMessage' => 'The specified parameter ImportImageOptions.DiskDeviceMappings.Format is invalid. The correct value should be in [%s].', + ], + [ + 'errorCode' => 'InvalidOperation.DiskImageSizeExceeded', + 'errorMessage' => 'The disk size exceeds the limit. Please check the specified parameter ImportImageOptions.DiskDeviceMappings.DiskImageSize and ImportImageOptions.DiskDeviceMappings.OSSObject. Ensure that each of them is between 1 and 2048 in size.', + ], + [ + 'errorCode' => 'InvalidImageOptions.Description', + 'errorMessage' => 'The specified parameter ImageOptions.Description is invalid. The length should be between 2 to 256 characters, and cannot start with http:// or https://.', + ], + [ + 'errorCode' => 'InvalidImageName.Duplicated', + 'errorMessage' => 'The specified image name is already in use in the target region. Please try a different one.', + ], + [ + 'errorCode' => 'InvalidImage.NotSupportRepair', + 'errorMessage' => 'The specified base image does not support repair.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.N.Key is not valid. Tag keys cannot be empty or null, support up to 128 characters, cannot start with "aliyun" or "acs:", and cannot contain "http://" or "https://".', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.N.Value is not valid. Tag values support up to 128 characters, and cannot contain "http://" or "https://".', + ], + [ + 'errorCode' => 'InvalidAdvancedOptions.ImageNameSuffix', + 'errorMessage' => 'The specified parameter AdvancedOptions.ImageNameSuffix is invalid. The correct value should be in [%s].', + ], + ], + 403 => [ + [ + 'errorCode' => 'ImagePipeline.NotSupportWindowsInstance', + 'errorMessage' => 'Image pipeline does not support windows instance at this time.', + ], + [ + 'errorCode' => 'InvalidOSSObject.NotAuthorized', + 'errorMessage' => 'The specified ImportImageOptions.DiskDeviceMappings.OSSObject is not allowed to be accessed.', + ], + [ + 'errorCode' => 'InvalidOperation.NoPermissionCreateServiceLinkedRole', + 'errorMessage' => 'You are not authorized to create Service-linked role. The system will automatically create it when the API is called for the first time. Check your RAM policies, and ensure that you are using the correct credentials.', + ], + [ + 'errorCode' => 'InvalidOSSObject.NeedRestore', + 'errorMessage' => 'The specified ImportImageOptions.DiskDeviceMappings.OSSObject is an archived object and needs to be restored first.', + ], + [ + 'errorCode' => 'InvalidOperation.NoRightAccessOSS', + 'errorMessage' => 'ECS service is not authorized to access your OSS. Check your RAM roles and policies, and ensure that ecs.aliyuncs.com is authorized to assume AliyunECSImageImportDefaultRole.', + ], + [ + 'errorCode' => 'InvalidOperation.OSSObjectIsImporting', + 'errorMessage' => 'The specified ImportImageOptions.DiskDeviceMappings.OSSObject is importing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImage.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'ImageComponent.NotFound', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotFound', + 'errorMessage' => 'The specified instance type does not exist.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified VSwitchId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImportImageOptionsDiskDeviceMappingsOSSObject.NotFound', + 'errorMessage' => 'The specified ImportImageOptions.DiskDeviceMappings.OSSObject is not found in this region.', + ], + [ + 'errorCode' => 'MissingParameter.RepairMode', + 'errorMessage' => 'The specified parameter RepairMode is missing.', + ], + [ + 'errorCode' => 'MissingParameter.ImportImageOptions', + 'errorMessage' => 'The specified parameter ImportImageOptions is missing.', + ], + [ + 'errorCode' => 'MissingParameter.ImportImageOptionsDiskDeviceMappingsOSSObject', + 'errorMessage' => 'The specified parameter ImportImageOptions.DiskDeviceMappings.OSSObject is missing.', + ], + [ + 'errorCode' => 'MissingParameter.ImportImageOptionsDiskDeviceMappingsOSSBucket', + 'errorMessage' => 'The specified parameter ImportImageOptions.DiskDeviceMappings.OSSBucket is missing.', + ], + [ + 'errorCode' => 'MissingParameter.ImageOptionsDiskDeviceMappings', + 'errorMessage' => 'The specified parameter ImportImageOptions.DiskDeviceMappings is missing.', + ], + [ + 'errorCode' => 'InvalidOssBucketName.NotFound', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.BucketName does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ImagePipelineId\\": \\"ip-2ze5tsl5bp6nf2b3****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n ip-2ze5tsl5bp6nf2b3****\\n","errorExample":""}]', + 'title' => '创建镜像构建模板', + 'description' => '## 接口说明'."\n" + ."\n" + .'您可以通过镜像模板定制镜像内容,并支持跨地域跨账号构建镜像。创建镜像模板前,您需要注意:'."\n" + ."\n" + .'- 仅支持创建您自定义的镜像模板。'."\n" + .'- 仅支持使用公共镜像、自定义镜像、共享镜像或者镜像族系作为源镜像进行构建。'."\n" + .'- 通过镜像模板构建镜像时,需要创建多台中转实例辅助构建镜像,中转实例为按量计费的ECS实例,将收取一定的费用。更多信息,请参见[按量付费](~~40653~~)。'."\n" + ."\n" + .'关于构建模板内容`BuildContent`,您需要注意:'."\n" + .'- `FROM`命令已被弃用,不管参数`BuildContent`是否设置`FROM`命令,系统都会以源镜像类型`BaseImageType`和源镜像`BaseImage`为准进行源镜像的选取。'."\n" + .'- 一个镜像模板内容大小不能超过16 KB。支持的命令说明详情,请参见[镜像构建服务支持的命令说明](~~200206~~)。'."\n" + ."\n" + .'更多信息,请参见[镜像构建概述](~~197410~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeImagePipelines' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29279', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '模板名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'testImagePipeline', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。取值范围:1~500。'."\n" + ."\n" + .'默认值:50。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'minimum' => '1', + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'ImagePipelineId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '镜像模板ID。N取值范围:1~20。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像模板ID。N取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + ], + 'required' => false, + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。具体使用方式请参见接口说明。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '返回的镜像模板数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分页查询时每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'ImagePipeline' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ImagePipelineSet' => [ + 'description' => '镜像模板的详细信息组成的列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '模板创建时间。', + 'type' => 'string', + 'example' => '2020-11-24T06:00:00Z', + ], + 'DeleteInstanceOnFailure' => [ + 'description' => '镜像构建失败后是否释放中转实例。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.g6.large', + ], + 'InternetMaxBandwidthOut' => [ + 'description' => '中转实例的公网出带宽大小。单位:Mbit/s', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'ImagePipelineId' => [ + 'description' => '镜像模板ID。', + 'type' => 'string', + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + ], + 'VSwitchId' => [ + 'description' => 'VPC的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp67acfmxazb4p****', + ], + 'SystemDiskSize' => [ + 'description' => '中转实例的系统盘大小。单位:GiB', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40', + ], + 'Description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'BaseImage' => [ + 'description' => '源镜像。'."\n" + .'- 当`BaseImageType=IMAGE`时,该参数值为自定义镜像ID。'."\n" + .'- 当`BaseImageType=IMAGE_FAMILY`时,该参数值为镜像族系名称。', + 'type' => 'string', + 'example' => 'm-bp67acfmxazb4p****', + ], + 'ResourceGroupId' => [ + 'description' => '企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'ImageName' => [ + 'description' => '目标镜像名称前缀。'."\n" + .''."\n" + .'该参数已弃用。请使用ImageOptions.ImageName。'."\n" + .'', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'testImageName', + ], + 'BaseImageType' => [ + 'description' => '源镜像类型。可能值:'."\n" + ."\n" + .'- IMAGE:自定义镜像。'."\n" + .'- IMAGE_FAMILY:镜像族系。', + 'type' => 'string', + 'example' => 'IMAGE', + ], + 'Name' => [ + 'description' => '模板名称。', + 'type' => 'string', + 'example' => 'testImagePipeline', + ], + 'BuildContent' => [ + 'description' => '镜像模板内容。', + 'type' => 'string', + 'example' => 'COMPONENT ic-bp12dvdzvr9k9*****'."\n" + .'COMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.*', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签键值对列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'ToRegionIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ToRegionId' => [ + 'description' => '目标镜像待分发的地域列表。', + 'type' => 'array', + 'items' => [ + 'description' => '目标镜像待分发的地域列表。', + 'type' => 'string', + 'example' => '["cn-hangzhou"]', + ], + ], + ], + ], + 'AddAccounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AddAccount' => [ + 'description' => '目标镜像共享的阿里云账号ID。', + 'type' => 'array', + 'items' => [ + 'description' => '目标镜像共享的阿里云账号ID。', + 'type' => 'string', + 'example' => '["1234567890"]', + ], + ], + ], + ], + 'RepairMode' => [ + 'description' => '镜像模版中的修复选项。'."\n" + ."\n" + .'取值范围:'."\n" + .'- Standard:标准模式。', + 'type' => 'string', + 'example' => 'Standard', + ], + 'TestContent' => [ + 'description' => '镜像测试模板内容。', + 'type' => 'string', + 'example' => 'COMPONENT ic-bp12dvdzvr9k9*****'."\n" + .'COMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.*', + ], + 'ImageFamily' => [ + 'description' => '目标镜像族系。'."\n" + .''."\n" + .'该参数已弃用。请使用ImageOptions.ImageFamily。'."\n" + .'', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'family', + ], + 'NvmeSupport' => [ + 'description' => '构建的目标镜像是否支持 NVMe。'."\n" + .''."\n" + .'该参数已弃用。请使用ImageOptions. ImageFeatures.NvmeSupport。'."\n" + .'', + 'type' => 'string', + 'deprecated' => true, + 'example' => 'auto', + ], + 'ImportImageOptions' => [ + 'description' => '导入镜像的属性和设置。', + 'type' => 'object', + 'properties' => [ + 'Architecture' => [ + 'description' => '系统架构。取值范围:'."\n" + .'- x86_64。'."\n" + .'- arm64。', + 'type' => 'string', + 'example' => 'x86_64', + ], + 'OSType' => [ + 'description' => '操作系统类型。可能值:'."\n" + ."\n" + .'- windows。'."\n" + .'- linux。', + 'type' => 'string', + 'example' => 'linux', + ], + 'Platform' => [ + 'description' => '操作系统版本。取值范围:'."\n" + .'- Aliyun'."\n" + .'- Anolis'."\n" + .'- CentOS'."\n" + .'- Ubuntu'."\n" + .'- CoreOS'."\n" + .'- SUSE'."\n" + .'- Debian'."\n" + .'- OpenSUSE'."\n" + .'- FreeBSD'."\n" + .'- RedHat'."\n" + .'- Kylin'."\n" + .'- UOS'."\n" + .'- Fedora'."\n" + .'- Fedora CoreOS'."\n" + .'- CentOS Stream'."\n" + .'- AlmaLinux'."\n" + .'- Rocky Linux'."\n" + .'- Gentoo'."\n" + .'- Customized Linux'."\n" + .'- Others Linux'."\n" + .'- Windows Server 2022'."\n" + .'- Windows Server 2019'."\n" + .'- Windows Server 2016'."\n" + .'- Windows Server 2012'."\n" + .'- Windows Server 2008'."\n" + .'- Windows Server 2003'."\n" + .'- Other Windows', + 'type' => 'string', + 'example' => 'Aliyun', + ], + 'BootMode' => [ + 'description' => '导入镜像的启动模式。取值范围:'."\n" + .'- BIOS:BIOS 启动模式。'."\n" + .'- UEFI:UEFI 启动模式。', + 'type' => 'string', + 'example' => 'BIOS', + ], + 'LicenseType' => [ + 'description' => '导入镜像后,激活操作系统采用的许可证类型。取值范围:'."\n" + ."\n" + .'- Auto:由阿里云检测源操作系统并分配许可证。自动模式下,系统优先搜索您设置的`Platform`是否有阿里云官方渠道的许可证并分配给导入的镜像,如果缺乏该类许可,会切换成BYOL(Bring Your Own License)方式。'."\n" + .'- Aliyun:根据您设置的`Platform`采用阿里云官方渠道的许可证。'."\n" + .'- BYOL:源操作系统自带的许可证。采用BYOL时,您必须确保您的许可证密钥支持在阿里云使用。', + 'type' => 'string', + 'example' => 'Auto', + ], + 'DiskDeviceMappings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskDeviceMapping' => [ + 'description' => '创建的自定义镜像信息列表。'."\n" + .'- N=1 时,表示系统盘.'."\n" + .'- N=2~17 时,表示数据盘。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OSSBucket' => [ + 'description' => '镜像文件所在的 OSS Bucket。', + 'type' => 'string', + 'example' => 'ecsimageos', + ], + 'OSSObject' => [ + 'description' => '镜像上传至 OSS Bucket 后,保存在 Bucket 中的镜像文件的文件名(key)。', + 'type' => 'string', + 'example' => 'CentOS_5.4_32.raw', + ], + 'Format' => [ + 'description' => '镜像格式。取值范围:'."\n" + .'- RAW。'."\n" + .'- VHD。'."\n" + .'- QCOW2。', + 'type' => 'string', + 'example' => 'RAW', + ], + 'DiskImageSize' => [ + 'description' => '导入镜像后,自定义镜像的空间大小。'."\n" + ."\n" + .'该空间由系统盘和数据盘组成,您必须保证系统盘的空间大小大于等于导入的镜像文件大小。取值范围:'."\n" + ."\n" + .'- N=1时,表示系统盘,取值范围:1 GiB~2048 GiB。'."\n" + .'- N=2~17时,表示数据盘。取值范围:1 GiB~2048 GiB。'."\n" + ."\n" + .'当您将源镜像文件上传至OSS后,可以在OSS Bucket中查看镜像文件的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40', + ], + ], + ], + ], + ], + ], + 'Features' => [ + 'description' => '镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'NvmeSupport' => [ + 'description' => '导入的镜像是否支持 NVMe。可能值:'."\n" + .'- supported:支持。表示以该镜像创建的实例支持 NVMe 协议。'."\n" + .'- unsupported:不支持。表示以该镜像创建的实例不支持 NVMe 协议。', + 'type' => 'string', + 'example' => 'supported', + ], + 'ImdsSupport' => [ + 'type' => 'string', + ], + ], + ], + 'RetainImportedImage' => [ + 'description' => '> 该参数正在邀测中。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'RetentionStrategy' => [ + 'type' => 'string', + ], + 'ImageName' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'RoleName' => [ + 'type' => 'string', + ], + 'ImportImageTags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ImportImageTag' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + 'AdvancedOptions' => [ + 'description' => '高级设置。', + 'type' => 'object', + 'properties' => [ + 'RetainCloudAssistant' => [ + 'description' => '是否保留云助手。构建过程中,系统会自动在中转实例中安装云助手以执行命令,您可以选择是否在构建的目标镜像中保留。可能值:'."\n" + .'- true:保留。'."\n" + .'- false:不保留。'."\n" + .'>该设置不会对您镜像中自带的云助手产生任何影响。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ImageNameSuffix' => [ + 'description' => '是否禁用目标镜像名称自动增加后缀。可能值:'."\n" + .'- disable:禁用。', + 'type' => 'string', + 'example' => 'disable', + ], + ], + ], + 'ImageOptions' => [ + 'description' => '目标镜像属性。', + 'type' => 'object', + 'properties' => [ + 'ImageName' => [ + 'description' => '目标镜像名称前缀。', + 'type' => 'string', + 'example' => 'imageName', + ], + 'ImageFamily' => [ + 'description' => '目标镜像族系。', + 'type' => 'string', + 'example' => 'family', + ], + 'Description' => [ + 'description' => '目标镜像的描述信息。', + 'type' => 'string', + 'example' => 'description.', + ], + 'ImageFeatures' => [ + 'description' => '目标镜像特性相关属性。', + 'type' => 'object', + 'properties' => [ + 'NvmeSupport' => [ + 'description' => '构建的目标镜像是否支持 NVMe。可能值:'."\n" + .'- supported:支持。表示以该镜像创建的实例支持 NVMe 协议。'."\n" + .'- unsupported:不支持。表示以该镜像创建的实例不支持 NVMe 协议。'."\n" + .'- auto:自动检测。由系统自动检测您的镜像是否安装NVMe驱动,该行为发生在构建阶段前,若您在构建时安装或者卸载了NVMe驱动,可能会出现结果偏差,建议您根据构建内容设置为supported或unsupported。', + 'type' => 'string', + 'example' => 'auto', + ], + ], + ], + 'ImageTags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ImageTag' => [ + 'description' => '目标镜像标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'testKey', + ], + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'testValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidImagePipelineIdSize.ExceededMaxNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'Invalid.NextToken', + 'errorMessage' => 'The specified NextToken is not valid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 50,\\n \\"ImagePipeline\\": {\\n \\"ImagePipelineSet\\": [\\n {\\n \\"CreationTime\\": \\"2020-11-24T06:00:00Z\\",\\n \\"DeleteInstanceOnFailure\\": true,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"InternetMaxBandwidthOut\\": 0,\\n \\"ImagePipelineId\\": \\"ip-2ze5tsl5bp6nf2b3****\\",\\n \\"VSwitchId\\": \\"vsw-bp67acfmxazb4p****\\",\\n \\"SystemDiskSize\\": 40,\\n \\"Description\\": \\"This is description.\\",\\n \\"BaseImage\\": \\"m-bp67acfmxazb4p****\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"ImageName\\": \\"testImageName\\",\\n \\"BaseImageType\\": \\"IMAGE\\",\\n \\"Name\\": \\"testImagePipeline\\",\\n \\"BuildContent\\": \\"COMPONENT ic-bp12dvdzvr9k9*****\\\\nCOMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.*\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"ToRegionIds\\": {\\n \\"ToRegionId\\": [\\n \\"[\\\\\\"cn-hangzhou\\\\\\"]\\"\\n ]\\n },\\n \\"AddAccounts\\": {\\n \\"AddAccount\\": [\\n \\"[\\\\\\"1234567890\\\\\\"]\\"\\n ]\\n },\\n \\"RepairMode\\": \\"Standard\\",\\n \\"TestContent\\": \\"COMPONENT ic-bp12dvdzvr9k9*****\\\\nCOMPONENT acs:ecs:cn-hangzhou:18689161186*****:imagecomponent/ComponentName/1.*.*\\",\\n \\"ImageFamily\\": \\"family\\",\\n \\"NvmeSupport\\": \\"auto\\",\\n \\"ImportImageOptions\\": {\\n \\"Architecture\\": \\"x86_64\\",\\n \\"OSType\\": \\"linux\\",\\n \\"Platform\\": \\"Aliyun\\",\\n \\"BootMode\\": \\"BIOS\\",\\n \\"LicenseType\\": \\"Auto\\",\\n \\"DiskDeviceMappings\\": {\\n \\"DiskDeviceMapping\\": [\\n {\\n \\"OSSBucket\\": \\"ecsimageos\\",\\n \\"OSSObject\\": \\"CentOS_5.4_32.raw\\",\\n \\"Format\\": \\"RAW\\",\\n \\"DiskImageSize\\": 40\\n }\\n ]\\n },\\n \\"Features\\": {\\n \\"NvmeSupport\\": \\"supported\\",\\n \\"ImdsSupport\\": \\"\\"\\n },\\n \\"RetainImportedImage\\": false,\\n \\"RetentionStrategy\\": \\"\\",\\n \\"ImageName\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RoleName\\": \\"\\",\\n \\"ImportImageTags\\": {\\n \\"ImportImageTag\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n },\\n \\"AdvancedOptions\\": {\\n \\"RetainCloudAssistant\\": true,\\n \\"ImageNameSuffix\\": \\"disable\\"\\n },\\n \\"ImageOptions\\": {\\n \\"ImageName\\": \\"imageName\\",\\n \\"ImageFamily\\": \\"family\\",\\n \\"Description\\": \\"description.\\",\\n \\"ImageFeatures\\": {\\n \\"NvmeSupport\\": \\"auto\\"\\n },\\n \\"ImageTags\\": {\\n \\"ImageTag\\": [\\n {\\n \\"TagKey\\": \\"testKey\\",\\n \\"TagValue\\": \\"testValue\\"\\n }\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n AAAAAdDWBF2****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 50\\n \\n \\n IMAGE\\n This is description.\\n rg-bp67acfmxazb4p****\\n 40\\n ip-2ze5tsl5bp6nf2b3****\\n vsw-bp67acfmxazb4p****\\n testImagePipeline\\n true\\n testImageName\\n 0\\n 2020-11-24T06:00:00Z\\n ecs.g6.large\\n FROM IMAGE:m-bp67acfmxazb4p****\\n m-bp67acfmxazb4p****\\n \\n \\n \\n \\n TestKey\\n TestValue\\n \\n \\n \\n \\n \\n [\\"1234567890\\"]\\n \\n \\n [\\"cn-hangzhou\\"]\\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询镜像模板的详细信息', + 'summary' => '查询一个或多个镜像模板的详细信息。', + 'description' => '您可以设置`NextToken`查询凭证(Token),其取值是上一次调用`DescribeImagePipelines`返回的`NextToken`参数值,再通过`MaxResults`设置单页查询的最大条目数进行查询。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteImagePipeline' => [ + 'summary' => '删除一个镜像模板。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29266', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImagePipelineId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像模板ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidImagePipeline.HasRunningExecution', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidImagePipeline.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n","errorExample":""}]', + 'title' => '删除镜像模板', + 'description' => '如果存在正在运行的构建任务,则不允许直接删除模板,需要等待构建任务达到终态:成功(SUCCESS)、失败(FAILED)、测试失败(TEST_FAILED)、部分成功(PARTITION_SUCCESS)或已取消(CANCELLED)。构建任务的详细信息可以通过DescribeImagePipelineExecutions查询。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'StartImagePipelineExecution' => [ + 'summary' => '通过一个镜像模板执行构建镜像的任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29317', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TemplateTag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Value' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'deprecated' => true, + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对象。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '资源的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImagePipelineId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像模板ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ExecutionId' => [ + 'description' => '构建任务ID。', + 'type' => 'string', + 'example' => 'exec-5fb8facb8ed7427c****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidImage.OsTypeUnsupported', + 'errorMessage' => 'The specified base image does not support image building.', + ], + [ + 'errorCode' => 'InvalidParameter.BuildContent', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParameter.TestContent', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidImageComponent.NotSupported', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.N.Key is not valid. Tag keys cannot be empty or null, support up to 128 characters, cannot start with "aliyun" or "acs:", and cannot contain "http://" or "https://".', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.N.Value is not valid. Tag values support up to 128 characters, and cannot contain "http://" or "https://".', + ], + [ + 'errorCode' => 'InvalidImageName.Duplicated', + 'errorMessage' => 'The specified image name is already in use.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidImagePipeline.HasRunningExecution', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImagePipeline.OSSObjectNotAuthorized', + 'errorMessage' => 'The ImportImageOptions.DiskDeviceMappings.OSSObject of the specified ImagePipeline is not allowed to access.', + ], + [ + 'errorCode' => 'InvalidImagePipeline.OSSObjectNeedRestore', + 'errorMessage' => 'The ImportImageOptions.DiskDeviceMappings.OSSObject of the specified ImagePipeline is an archived object and needs to be restored first.', + ], + [ + 'errorCode' => 'InvalidOperation.NoRightAccessOSS', + 'errorMessage' => 'ECS service is not authorized to access your OSS. Check your RAM roles and policies, and ensure that ecs.aliyuncs.com is authorized to assume AliyunECSImageImportDefaultRole.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImagePipeline.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotFound', + 'errorMessage' => 'The specified instance type does not exist.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified VSwitchId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidImage.NotFound', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'ImageComponent.NotFound', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidImagePipeline.BaseImageNotFound', + 'errorMessage' => 'The BaseImage of the specified ImagePipeline is not found.', + ], + [ + 'errorCode' => 'InvalidImagePipeline.OSSObjectNotFound', + 'errorMessage' => 'The ImportImageOptions.DiskDeviceMappings.OSSObject of the specified ImagePipeline is not found in this region.', + ], + ], + 500 => [ + [ + 'errorCode' => 'StartImagePipelineExecution.Failed', + 'errorMessage' => 'Start image pipeline execution failed.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ExecutionId\\": \\"exec-5fb8facb8ed7427c****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n exec-5fb8facb8ed7427c****\\n","errorExample":""}]', + 'title' => '通过镜像模板执行构建镜像的任务', + 'description' => '- 镜像模板创建好之后,需要通过该接口执行构建镜像的任务,系统将根据镜像模板设置好的参数进行构建、分发、共享镜像。'."\n" + .'- 同一个镜像模板,同一时间只能执行一个构建镜像任务。取消构建镜像任务(CancelImagePipelineExecution)可同时执行多次,并且取消构建镜像任务和构建镜像任务之间互不干扰。'."\n" + .'- 执行镜像构建模板时,需要创建多台中转实例辅助构建镜像,中转实例为按量计费的ECS实例,将收取一定的费用。更多信息,请参见[按量付费](~~40653~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeImagePipelineExecutions' => [ + 'summary' => '调用DescribeImagePipelineExecutions查询一个镜像构建任务的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29278', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对象。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N 的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。N 的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ImagePipelineId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像模板ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + ], + ], + [ + 'name' => 'ExecutionId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像构建任务ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'exec-5fb8facb8ed7427c****', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像构建任务的状态。支持同时设置多个值,每个值之间以半角逗号(,)间隔,格式示例为`BUILDING,DISTRIBUTING`。取值范围:'."\n" + ."\n" + .'- PREPARING:准备中。创建临时中转实例等资源。'."\n" + .'- REPAIRING:修复中。修复源镜像。'."\n" + .'- BUILDING:构建中。执行用户自定义命令以及创建镜像。'."\n" + .'- TESTING:测试中。执行用户自定义测试命令。'."\n" + .'- DISTRIBUTING:分发中。执行镜像复制以及共享。'."\n" + .'- RELEASING:资源回收中。构建过程中生成的临时资源。'."\n" + .'- SUCCESS:成功。构建成功。'."\n" + .'- PARTITION_SUCCESS:部分成功。镜像已构建成功,但可能在分发或者资源清理等步骤出现了异常。'."\n" + .'- FAILED:失败。构建镜像失败。'."\n" + .'- TEST_FAILED:测试失败。镜像创建成功,但测试失败。'."\n" + .'- CANCELLING:取消中。正在取消构建流程。'."\n" + .'- CANCELLED:已取消。构建流程已取消。'."\n" + ."\n" + .'> 当参数值为空时,默认查询所有状态的镜像构建任务', + 'type' => 'string', + 'required' => false, + 'example' => 'BUILDING', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。取值范围:1~500。'."\n" + ."\n" + .'默认值:50。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'minimum' => '1', + 'example' => '50', + 'default' => '50', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。具体使用方式请参见接口说明。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '返回的镜像组件数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '分页查询时每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'ImagePipelineExecution' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ImagePipelineExecutionSet' => [ + 'description' => '镜像构建任务的详细信息组成的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '镜像构建任务的详细信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '镜像构建任务的创建时间。', + 'type' => 'string', + 'example' => '2020-11-24T06:00:00Z', + ], + 'ImagePipelineId' => [ + 'description' => '镜像模板ID。', + 'type' => 'string', + 'example' => 'ip-2ze5tsl5bp6nf2b3****', + ], + 'Status' => [ + 'description' => '镜像构建任务的状态。可能值:'."\n" + ."\n" + .'- PREPARING:准备中。创建临时中转实例等资源。'."\n" + .'- REPAIRING:修复中。修复源镜像。'."\n" + .'- BUILDING:构建中。执行用户自定义命令以及创建镜像。'."\n" + .'- TESTING:测试中。执行用户自定义测试命令。'."\n" + .'- DISTRIBUTING:分发中。执行镜像复制以及共享。'."\n" + .'- RELEASING:资源回收中。构建过程中生成的临时资源。'."\n" + .'- SUCCESS:成功。构建成功。'."\n" + .'- PARTITION_SUCCESS:部分成功。镜像已构建成功,但可能在分发或者资源清理等步骤出现了异常。'."\n" + .'- FAILED:失败。构建镜像失败。'."\n" + .'- TEST_FAILED:测试失败。镜像创建成功,但测试失败。'."\n" + .'- CANCELLING:取消中。正在取消构建流程。'."\n" + .'- CANCELLED:已取消。构建流程已取消。', + 'type' => 'string', + 'example' => 'BUILDING', + ], + 'ModifiedTime' => [ + 'description' => '任务最近一次更新的时间。', + 'type' => 'string', + 'example' => '2020-11-25T06:00:00Z', + ], + 'ResourceGroupId' => [ + 'description' => '企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'Message' => [ + 'description' => '执行结果信息。', + 'type' => 'string', + 'example' => 'Create transition vpc "vpc-2ze70rc7093j9idu6****" success!', + ], + 'ImageId' => [ + 'description' => '目标镜像ID。', + 'type' => 'string', + 'example' => 'm-bp67acfmxazb4p****', + ], + 'ExecutionId' => [ + 'description' => '构建任务ID。', + 'type' => 'string', + 'example' => 'exec-5fb8facb8ed7427c****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对象。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Status', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter.ImagePipelineId', + 'errorMessage' => 'The specified parameter ImagePipelineId should not be empty.', + ], + [ + 'errorCode' => 'InvalidExecutionId.SizeExceeded', + 'errorMessage' => 'ExecutionId list exceeds maximum size of %s. Current size is %s.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Invalid.NextToken', + 'errorMessage' => 'The specified NextToken is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidImagePipeline.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 50,\\n \\"ImagePipelineExecution\\": {\\n \\"ImagePipelineExecutionSet\\": [\\n {\\n \\"CreationTime\\": \\"2020-11-24T06:00:00Z\\",\\n \\"ImagePipelineId\\": \\"ip-2ze5tsl5bp6nf2b3****\\",\\n \\"Status\\": \\"BUILDING\\",\\n \\"ModifiedTime\\": \\"2020-11-25T06:00:00Z\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"Message\\": \\"Create transition vpc \\\\\\"vpc-2ze70rc7093j9idu6****\\\\\\" success!\\",\\n \\"ImageId\\": \\"m-bp67acfmxazb4p****\\",\\n \\"ExecutionId\\": \\"exec-5fb8facb8ed7427c****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestKey\\",\\n \\"TagKey\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n AAAAAdDWBF2****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 50\\n \\n \\n BUILDING\\n rg-bp67acfmxazb4p****\\n Create transition vpc \\"vpc-2ze70rc7093j9idu6****\\" success!\\n 2020-11-25T06:00:00Z\\n ip-2ze5tsl5bp6nf2b3****\\n m-bp67acfmxazb4p****\\n 2020-11-24T06:00:00Z\\n exec-5fb8facb8ed7427c****\\n \\n \\n \\n \\n TestKey\\n TestValue\\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询镜像构建任务的详细信息', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 指定的镜像模板ID`ImagePipelineId`不能是已删除的镜像模板,已删除的镜像模板会同步删除对应的构建任务。'."\n" + .'- 镜像模板ID`ImagePipelineId`和构建任务ID`ExecutionId`不能同时为空。'."\n" + .'- 您可以设置`NextToken`查询凭证(Token),其取值是上一次调用`DescribeImagePipelineExecutions`返回的`NextToken`参数值,再通过`MaxResults`设置单页查询的最大条目数进行查询。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelImagePipelineExecution' => [ + 'summary' => '取消一个镜像构建任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29246', + 'abilityTreeNodes' => [ + 'FEATUREecs4FTFEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TemplateTag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Value' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ExecutionId', + 'in' => 'query', + 'schema' => [ + 'description' => '构建任务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'exec-5fb8facb8ed7427c****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStatus.CancelFailed', + 'errorMessage' => 'Failed to cancel execution,status is success, failed or cancelled.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidStatus.ImagePipelineExecution', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidImagePipelineExecution.NotFound', + 'errorMessage' => 'The specified image pipeline execution does not exist!', + ], + [ + 'errorCode' => 'InvalidImagePipelineExecutionId.NotFound', + 'errorMessage' => 'The specified ImagePipelineExecutionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n","errorExample":""}]', + 'title' => '取消镜像构建任务', + 'description' => '调用该接口前,请确认需要取消的镜像构建任务处于准备中(PREPARING)、修复中(REPAIRING)、构建中(BUILDING)的状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateDisk' => [ + 'summary' => '创建一块按量付费或包年包月的数据盘。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28822', + 'abilityTreeNodes' => [ + 'FEATUREecs70JNQP', + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '在指定可用区内创建一块按量付费磁盘。'."\n" + ."\n" + .'- 如果您不设置InstanceId,则ZoneId为必填参数。'."\n" + .'- 您不能同时指定ZoneId和InstanceId。'."\n" + ."\n\n" + .'> `cloud_regional_disk_auto`类型的磁盘无需设置 ZoneId。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建云盘使用的快照ID。2013年7月15日及以前的快照不能用来创建云盘。 '."\n" + ."\n" + .'`SnapshotId`参数和`Size`参数存在以下限制:'."\n" + ."\n" + .'- 如果`SnapshotId`参数对应的快照容量大于设置的`Size`参数值,实际创建的云盘大小为指定快照的大小。'."\n" + .'- 如果`SnapshotId`参数对应的快照容量小于设置的`Size`参数值,实际创建的云盘大小为指定的`Size`参数值。'."\n" + .'- 不支持使用快照创建弹性临时盘。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文等),ASCII数字(0-9)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。必须以Unicode中letter分类下的字符开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDiskName', + ], + ], + [ + 'name' => 'Size', + 'in' => 'query', + 'schema' => [ + 'description' => '容量大小。单位:GiB。您必须为该参数传入参数值。取值范围:'."\n" + ."\n" + .'- cloud:5~2,000。'."\n" + .'- cloud_efficiency:20~32,768。'."\n" + .'- cloud_ssd:20~32,768。'."\n" + .'- cloud_essd:具体取值范围与`PerformanceLevel`的取值有关。'."\n" + .' - PL0:1~65,536。'."\n" + .' - PL1:20~65,536。'."\n" + .' - PL2:461~65,536。'."\n" + .' - PL3:1,261~65,536。'."\n" + .'- cloud_auto:1~65,536。'."\n" + .'- cloud_essd_entry:10~32,768。'."\n" + .'- cloud_regional_disk_auto:10~65,536。'."\n" + .'- elastic_ephemeral_disk_standard:64~8,192。'."\n" + .'- elastic_ephemeral_disk_premium:64~8,192。'."\n" + ."\n" + .'如果您指定了`SnapshotId`参数,`SnapshotId`参数和`Size`参数存在以下限制:'."\n" + ."\n" + .'- 如果`SnapshotId`参数对应的快照容量大于设置的`Size`参数值,实际创建的云盘大小为指定快照的大小。'."\n" + .'- 如果`SnapshotId`参数对应的快照容量小于设置的`Size`参数值,实际创建的云盘大小为指定的`Size`参数值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '262144', + 'minimum' => '1', + 'example' => '2000', + ], + ], + [ + 'name' => 'DiskCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘的磁盘种类。取值范围:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .'- cloud_regional_disk_auto:ESSD同城冗余云盘。'."\n" + .'- elastic_ephemeral_disk_standard:弹性临时盘-标准版。'."\n" + .'- elastic_ephemeral_disk_premium:弹性临时盘-高级版。'."\n" + ."\n" + .'默认值:cloud。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '是否加密云盘。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建一块包年包月磁盘,并自动挂载到指定的包年包月实例(InstanceId)上。'."\n" + ."\n" + .'- 设置实例ID后,会忽略您设置的ResourceGroupId、Tag.N.Key、Tag.N.Value、ClientToken和KMSKeyId参数。'."\n" + .'- 您不能同时指定ZoneId和InstanceId。'."\n" + ."\n" + .'默认值:空,代表创建的是按量付费云盘,云盘所属地由RegionId和ZoneId确定。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp18pnlg1ds9rky4****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘使用的KMS密钥ID。'."\n" + ."\n" + .'> 若Encrypted设置为true,不指定KMSKeyId,则使用默认的密钥进行加密,并在创建实例成功后返回KMSKeyId值。'."\n" + .'> - - 云盘通过非共享而来的加密快照创建:默认使用该快照所使用的加密密钥进行加密。'."\n" + .'> - - 云盘通过共享而来的加密快照创建:默认使用服务密钥进行加密。'."\n" + .'> - - 在已开启块存储账号级默认加密的地域创建:默认使用指定的账号级密钥进行加密。'."\n" + .'> - - 其他情况:默认使用服务密钥进行加密。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', + 'maxLength' => 64, + ], + ], + [ + 'name' => 'PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '创建一块ESSD云盘时,设置云盘的性能等级。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'默认值:PL1。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'AdvancedFeatures', + 'in' => 'query', + 'schema' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '存储集ID。'."\n" + ."\n" + .'> 存储集相关参数(`StorageSetId`、`StorageSetPartitionNumber`)与专属块存储集群参数(`StorageClusterId`)只能选择其中之一设置。如果同时设置,那么调用接口将会失败。', + 'type' => 'string', + 'required' => false, + 'example' => 'ss-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'EncryptAlgorithm', + 'in' => 'query', + 'schema' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '存储集分区数。取值范围:大于等于2,最高不能超过调用[DescribeAccountAttributes](~~73772~~)后显示的权益配额限制。'."\n" + ."\n" + .'默认值:2。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '3', + ], + ], + [ + 'name' => 'StorageClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专属块存储集群ID。如果您需要在指定的专属块存储集群中创建云盘,请指定该参数。'."\n" + ."\n" + .'> 存储集相关参数(`StorageSetId`、`StorageSetPartitionNumber`)与专属块存储集群参数(`StorageClusterId`)只能选择其中之一设置。如果同时设置,那么调用接口将会失败。', + 'type' => 'string', + 'required' => false, + 'example' => 'dbsc-j5e1sf2vaf5he8m2****', + ], + ], + [ + 'name' => 'MultiAttach', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启多重挂载特性。取值范围:'."\n" + ."\n" + .'- Disabled: 不开启。'."\n" + .'- Enabled : 开启。目前仅ESSD云盘支持设置为`Enabled`。'."\n" + ."\n" + .'默认值:Disabled。'."\n" + ."\n" + .'> 开启多重挂载特性的云盘只支持按量付费的计费方式。因此`MultiAttach=Enabled `时,不能同时设置`InstanceId`参数。您可以在创建云盘后调用[AttachDisk](~~25515~~)进行挂载,但需要注意开启多重挂载功能的云盘只能作为数据盘进行挂载。', + 'type' => 'string', + 'required' => false, + 'example' => 'Disabled', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '磁盘的标签信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '磁盘的标签信息列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '磁盘的标签键。'."\n" + ."\n" + .'>为提高代码兼容性,请尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + 'Key' => [ + 'description' => '磁盘的标签键。N的取值范围:1~20。一旦传入Tag.N.Key值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '磁盘的标签值。N的取值范围:1~20。一旦传入Tag.N.Value值,可以为空字符串。最多支持128个字符,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '磁盘的标签值。'."\n" + ."\n" + .'> 为提高代码兼容性,请尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Arn', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'RoleType' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + 'Rolearn' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + 'AssumeRoleFor' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000000000', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ProvisionedIops', + 'in' => 'query', + 'schema' => [ + 'description' => 'ESSD AutoPL云盘(单盘)预配置性能的读写IOPS。可能值:'."\n" + ."\n" + .'- 容量(GiB)<=3:不支持设置预配置性能。'."\n" + ."\n" + .'- 容量(GiB)>=4:[0,min{(1,000'."\n" + ."\n" + .' IOPS/GiB*容量-基准IOPS),50,000}]'."\n" + ."\n\n" + .'基准性能=max{min{1,800+50*容量,50,000}, 3,000}。'."\n" + ."\n\n" + .'>当`DiskCategory` = `cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'minimum' => '0', + 'example' => '40000', + ], + ], + [ + 'name' => 'BurstingEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'>当`DiskCategory`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DiskId' => [ + 'description' => '磁盘ID。', + 'type' => 'string', + 'example' => 'd-bp131n0q38u3a4zi****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'OrderId' => [ + 'description' => '生成的订单ID。'."\n" + ."\n" + .'> 仅在创建包年包月云盘时会返回订单ID。', + 'type' => 'string', + 'example' => '20413515388****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSize.ValueNotSupported', + 'errorMessage' => 'The specified parameter Size is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskName.Malformed', + 'errorMessage' => 'The specified disk name is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter either "SnapshotId" or "Size" should be specified.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not support.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskCategory" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified Zone is not available or not authorized.', + ], + [ + 'errorCode' => 'InvalidDiskSize.NotSupported', + 'errorMessage' => 'The specified parameter size is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskSizeOrCategory', + 'errorMessage' => 'The specified disk category or size is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedIllegal', + 'errorMessage' => 'The specified parameter Encrypted must be true when kmsKeyId is not empty.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Arns', + 'errorMessage' => 'The specified Arns is not valid.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ConflictSnapshotCategory', + 'errorMessage' => 'The specified disk category conflict with snapshot category.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchEncryptAlgorithm', + 'errorMessage' => 'The specified parameter Encrypted must be true when EncryptAlgorithm is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchKmsKeyId', + 'errorMessage' => 'The specified parameter Encrypted must be true when KmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is different from the encrypt algorithm of the snapshot.', + ], + [ + 'errorCode' => 'InvalidKmsKeyId.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter KmsKeyId is different from the KmsKeyId of the snapshot.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.ValueNotSupported', + 'errorMessage' => 'The current ZoneId does not support PL0 of cloud_essd.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotSymmetric', + 'errorMessage' => 'The specified parameter KmsKeyId must be symmetric.', + ], + [ + 'errorCode' => 'InvalidStorageSetId.NotFound', + 'errorMessage' => 'The specified storage set does not exist.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.StatusNotSupport', + 'errorMessage' => 'The current status of the dedicated storage cluster cannot create a cloud disk yet.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.ConflictWithStorageSetId', + 'errorMessage' => 'The specified StorageClusterId is in conflict with storageSetId.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.ConflictWithInstanceId', + 'errorMessage' => 'The specified StorageClusterId is in conflict with instanceId.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.CategoryNotMatch', + 'errorMessage' => 'The current dedicated storage cluster cannot create this category of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.PerformanceLevelNotMatch', + 'errorMessage' => 'The current dedicated storage cluster cannot create this performance level of disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.CapacityNotEnough', + 'errorMessage' => 'The remaining capacity of the current dedicated storage cluster is less than the size of disk.', + ], + [ + 'errorCode' => 'InvalidCloudBoxZone.EncryptedNotSupported', + 'errorMessage' => 'The cloud box zone does not support creating encrypted disks.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => 'The specified instance has no system disk.', + ], + [ + 'errorCode' => 'ProvisionedIopsForDiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support provisioned iops.', + ], + [ + 'errorCode' => 'InvalidProvisionedIops.LimitExceed', + 'errorMessage' => 'The provisioned iops exceeds the limit.', + ], + [ + 'errorCode' => 'BurstingEnabledForDiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support bursting enabled.', + ], + [ + 'errorCode' => 'BurstingEnabledForMultiAttachDiskUnsupported', + 'errorMessage' => 'The multi attach disk does not support bursting enabled.', + ], + [ + 'errorCode' => 'ProvisionedIopsForDiskCategoryRequired', + 'errorMessage' => 'The provisioned iops is required for this disk category.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.RegionId', + 'errorMessage' => 'The specified region does not support creating encrypted disks with native snapshot encrypt.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.ZoneId', + 'errorMessage' => 'The specified zone does not support creating encrypted disks with native snapshot encrypt.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.ShareImage', + 'errorMessage' => 'Shared snapshot creating encrypted disks with native snapshot encrypt is not supported.', + ], + [ + 'errorCode' => 'NotSupport.SnapshotEncryptedAlgorithmConflict', + 'errorMessage' => 'Changing encrypt algorithm with encrypted snapshot is not supported.', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'InsufficientBalance.AgentAccount', + 'errorMessage' => 'The account balance is insufficient. Please contact your channel partner to recharge in time.', + ], + [ + 'errorCode' => 'InvalidParam.EncryptedMismatch', + 'errorMessage' => 'Creating encrypted disks with shared encrypted snapshots requires replacing encryption keys.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance, please contact your partner to increase your account balance.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnable', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidZoneId.DiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support setting the ZoneId.', + ], + [ + 'errorCode' => 'InvalidStorageSetId.DiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support setting the StorageSetId.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.DiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support setting the StorageClusterId.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted', + 'errorMessage' => 'Creating non-encrypted disks with encrypted snapshots is not supported.', + ], + [ + 'errorCode' => 'EncryptedOption.Conflict', + 'errorMessage' => 'Disk encryption attributes conflict.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.NotSupported', + 'errorMessage' => 'Specified disk category is not supported.', + ], + [ + 'errorCode' => 'InvalidBurstingEnabled.DiskSizeTooSmall', + 'errorMessage' => 'The disk size must be greater than 3 GiB to enable burst.', + ], + [ + 'errorCode' => 'OperationDenied.RiskIssue', + 'errorMessage' => 'Your action is denied by risk issue, please contact customer service.', + ], + [ + 'errorCode' => 'InvalidDiskSize.ExceedsMultiAttachLimit', + 'errorMessage' => 'The specified disk size exceeds the maximum limit 65536 for enabling multi-attach.', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => 'The specified instance status is not supported for this operation, expect status is Running or Stopped.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDataDiskCategory.NotSupported', + 'errorMessage' => 'Specified disk category is not supported.', + ], + [ + 'errorCode' => 'InstanceDiskCategoryLimitExceed', + 'errorMessage' => 'The total size of specified disk category in an instance exceeds.', + ], + [ + 'errorCode' => 'InvalidSnapshot.NotReady', + 'errorMessage' => 'The specified snapshot creation is not completed yet.', + ], + [ + 'errorCode' => 'InvalidSnapshot.TooOld', + 'errorMessage' => 'This operation is forbidden because the specified snapshot is created before 2013-07-15.', + ], + [ + 'errorCode' => 'InvalidSnapshot.TooLarge', + 'errorMessage' => 'The capacity of snapshot exceeds 2000GB.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified snapshot is not allowed to create disk.', + ], + [ + 'errorCode' => 'QuotaExceed.PortableCloudDisk', + 'errorMessage' => 'The quota of portable cloud disk exceeds.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueUnauthorized', + 'errorMessage' => 'The disk category is not authorized.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotDataDiskSnapshot', + 'errorMessage' => 'The specified snapshot is system disk snapshot.', + ], + [ + 'errorCode' => 'InvalidDiskSize.TooSmall', + 'errorMessage' => 'Specified disk size is less than the size of snapshot.', + ], + [ + 'errorCode' => 'InvalidDiskSize.NotSupported', + 'errorMessage' => 'Disk size is not supported.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'InvalidPayMethod', + 'errorMessage' => 'The specified pay method is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not supported.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'QuotaExceed.PostPaidDisk', + 'errorMessage' => 'Living postPaid disks quota exceeded.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support byok.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'SecurityRisk.3DVerification', + 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', + ], + [ + 'errorCode' => 'InvalidParameter.AdvancedFeatures', + 'errorMessage' => 'The specified parameter AdvancedFeatures is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.ValueNotSupported', + 'errorMessage' => 'The InstanceChargeType does not support this action.', + ], + [ + 'errorCode' => 'InvalidStatus.Upgrading', + 'errorMessage' => 'The instance is upgrading; please try again later.', + ], + [ + 'errorCode' => 'InvalidParam.ZoneIdAndInstanceId.Conflict', + 'errorMessage' => 'The specified parameter \'ZoneId\' and \'InstanceId\' are not blank at the same time.', + ], + [ + 'errorCode' => 'OperationDenied.PerformanceLevelNotMatch', + 'errorMessage' => 'The specified PerformanceLevel and Size do not match.', + ], + [ + 'errorCode' => 'InvalidStorageSetName.Malformed', + 'errorMessage' => 'Specified parameter StorageSetName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidMaxPartitionNumber.Malformed', + 'errorMessage' => 'Specified parameter MaxPartitionNumber is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetPartitionNumber', + 'errorMessage' => 'Specified parameter StorageSetPartitionNumber is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetId', + 'errorMessage' => 'Specified parameter StorageSetId is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.StorageSetZoneId', + 'errorMessage' => 'Specified parameter StorageSetZoneId is not valid.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceeded.PostpaidDataDiskCapacity', + 'errorMessage' => 'The quota of postpaid data disk capacity exceeds.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportEncryptAlgorithm', + 'errorMessage' => 'The current region does not support creating encrypted disks with EncryptAlgorithm.', + ], + [ + 'errorCode' => 'OperationDenied.SnapshotNotAllowed', + 'errorMessage' => 'The specified snapshot is not allowed to create disk.', + ], + [ + 'errorCode' => 'LastTokenProcessing', + 'errorMessage' => 'The last token request is processing.', + ], + [ + 'errorCode' => 'InvalidParameter.MultiAttach', + 'errorMessage' => 'The specified param MultiAttach is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MultiAttachAndInstanceIdConflict', + 'errorMessage' => 'The parameter MultiAttach and InstanceId are conflict.', + ], + [ + 'errorCode' => 'InvalidParameter.DiskCategoryAndMultiAttachConflict', + 'errorMessage' => 'The specified disk category does not support multi attach set.', + ], + [ + 'errorCode' => 'InvalidParameter.DiskCategoryAndMultiAttachNotMatch', + 'errorMessage' => 'The specified disk category does not support multi attach enabled.', + ], + [ + 'errorCode' => 'OperationDenied.ZoneNotSupportMultiAttachDisk', + 'errorMessage' => 'The specified zone does support multi attach disk.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.CouponAmountNotEnough', + 'errorMessage' => 'Your coupon balance is insufficient or has expired.', + ], + [ + 'errorCode' => 'InvalidOperation.CreateFromSnapshotUnsupported', + 'errorMessage' => 'The elastic ephemeral disk cannot be created from snapshot.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.DiskCategory', + 'errorMessage' => 'The specified disk category does not support creating encrypted system disks or creating encrypted data disks from snapshots. Check the DiskCategory or Encrypted parameter, or check your account for default encryption settings.', + ], + [ + 'errorCode' => 'InvalidParameter.DataEncryptedKeyCreateFailed', + 'errorMessage' => 'Create kms data encrypted key fail. If you need further assistance, you can contact the KMS Technical Support.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The resource in the specified zone is no longer available for sale. Please try other regions and zones.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'You are not authorized to perform the operation in the specified region.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified Category of Data Disk is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedNotSupported', + 'errorMessage' => 'The current disk category does not support encryption. If encryption is required, please switch to a different disk category.', + ], + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified disk size is beyond the permitted range, or the snapshot capacity exceeds the size limit for the specified disk category.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter Encrypted must be set to true when creating disks with encrypted snapshots.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchDiskDefaultEncryption', + 'errorMessage' => 'Enabling disk default encryption prevents the creation of non-encrypted disks.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidDiskSize.NotSupportMultiAttachDisk', + 'errorMessage' => 'The specified disk size exceeds the maximum limit 65536 for enabling multi-attach.', + ], + [ + 'errorCode' => 'InstanceDiskLimitExceeded', + 'errorMessage' => 'The amount of the disk on instance reach its limits.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The specified zone does not exist.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified SnapshotId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.NotExist', + 'errorMessage' => 'The specified StorageClusterId does not exist in current region.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DiskId\\": \\"d-bp131n0q38u3a4zi****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"OrderId\\": \\"20413515388****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n d-bp131n0q38u3a4zi****\\n","errorExample":""}]', + 'title' => '创建数据盘', + 'description' => '- 创建磁盘时支持开启多重挂载特性(`MultiAttach`)。建议您先了解该特性及使用限制,更多信息,请参见[ESSD云盘支持NVMe](~~256487~~)以及[使用多重挂载功能](~~262105~~)。'."\n" + .'- 支持创建的磁盘类型:普通云盘、高效云盘、SSD云盘、ESSD云盘、ESSD Entry云盘、ESSD同城冗余、ESSD AutoPL云盘、弹性临时盘-标准版和弹性临时盘-高级版。'."\n" + .'- 创建磁盘需要通过实名认证。请前往会员信息[实名认证](https://account.console.aliyun.com/#/auth/home)。'."\n" + .'- 创建磁盘会涉及到资源计费,建议您提前了解云服务器ECS的计费方式。更多信息,请参见[计费概述](~~25398~~)。'."\n" + ."\n" + .'- 创建磁盘时,默认设置:'."\n" + ."\n" + .' - 删除磁盘时删除其自动快照,即`DeleteAutoSnapshot`取值为`true`。您可以调用[DescribeDisks](~~2679767~~)查询该参数配置,调用[ModifyDiskAttribute](~~25517~~)修改该参数。'."\n" + .' - 创建ESSD云盘时,如果您不设置磁盘性能等级,默认为PL1等级。您可以通过[ModifyDiskSpec](~~123780~~)修改磁盘性能等级。'."\n" + .' - 计费方式为按量付费,即默认`Portable`属性为`true`。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDisks' => [ + 'summary' => '查询一块或多块已创建的块存储(包括云盘、本地盘以及弹性临时盘)信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28923', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '块存储所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'DiskIds', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘、本地盘或弹性临时盘ID。一个带有格式的JSON数组,最多支持100个ID,用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["d-bp67acfmxazb4p****", "d-bp67acfmxazb4g****", … "d-bp67acfmxazb4d****"]', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘、本地盘或弹性临时盘挂载的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4q****', + ], + ], + [ + 'name' => 'DiskType', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的云盘、本地盘或弹性临时盘类型。取值范围: '."\n" + .' '."\n" + .'- all:同时查询系统盘与数据盘。'."\n" + .'- system:只查询系统盘。'."\n" + .'- data:只查询数据盘。'."\n" + ."\n" + .'默认值:all。'."\n" + .'>弹性临时盘不支持作为系统盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'all', + ], + ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘种类。取值范围: '."\n" + .' '."\n" + .'- all:所有云盘以及本地盘和弹性临时盘。'."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_regional_disk_auto:ESSD 同城冗余云盘。'."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .'- elastic_ephemeral_disk_standard:弹性临时盘-标准版。'."\n" + .'- elastic_ephemeral_disk_premium:弹性临时盘-高级版。'."\n" + .'- local_ssd_pro:I/O密集型本地盘。'."\n" + .'- local_hdd_pro:吞吐密集型本地盘。'."\n" + .'- ephemeral:(已停售)本地盘。'."\n" + .'- ephemeral_ssd:(已停售)本地SSD盘。'."\n" + ."\n" + .'默认值:all。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'all', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘状态。更多信息,请参见[云盘状态](~~25689~~)。取值范围:'."\n" + .'- In_use:使用中。'."\n" + .'- Available:待挂载。'."\n" + .'- Attaching:挂载中 。'."\n" + .'- Detaching:卸载中。'."\n" + .'- Creating:创建中。'."\n" + .'- ReIniting:初始化中。'."\n" + .'- All:所有状态。'."\n" + ."\n" + .'默认值:All。', + 'type' => 'string', + 'required' => false, + 'example' => 'All', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建云盘时使用的快照ID。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Portable', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘是否支持卸载。取值范围:'."\n" + ."\n" + .'- true:支持。可以独立存在,且可以在可用区内自由挂载和卸载。'."\n" + ."\n" + .'- false:不支持。不可以独立存在,且不可以在可用区内自由挂载和卸载。'."\n" + ."\n" + .'以下类型块存储的`Portable`属性都为`false`,生命周期与实例等同:'."\n" + ."\n" + .'- 本地盘。'."\n" + .'- 本地SSD盘。'."\n" + .'- 包年包月数据盘。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DeleteWithInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘是否设置了随实例释放。取值范围:'."\n" + ."\n" + .'- true:磁盘随实例一起释放。'."\n" + .'- false:磁盘保留不释放,转为按量付费数据盘而保留下来。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DeleteAutoSnapshot', + 'in' => 'query', + 'schema' => [ + 'description' => '释放云盘时,是否会同时释放自动快照。'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用参数 `NextToken `与 `MaxResults `完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数即将下线,推荐您使用参数 `NextToken `与 `MaxResults `完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次调用API返回的`NextToken`参数值。'."\n" + ."\n" + .'有关本接口查看返回数据的设置方式,请参见上文接口说明部分。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '返回的最大数。取值范围:10~500。'."\n" + ."\n" + .'默认值:'."\n" + .'- 当不设置值或者设置的值小于10,默认值为10。'."\n" + .'- 当设置的值大于500时,默认值为500。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'minimum' => '1', + 'example' => '50', + ], + ], + [ + 'name' => 'DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘的名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDiskName', + ], + ], + [ + 'name' => 'AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '根据自动快照策略ID查询云盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-m5e2w2jutw8bv31****', + ], + ], + [ + 'name' => 'EnableAutoSnapshot', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘是否启用自动快照策略功能。'."\n" + ."\n" + .'- true:启用。'."\n" + .'- false:未启用。'."\n" + ."\n" + .'> 该参数已弃用。创建后的云盘默认启用自动快照策略功能,您只需要为云盘绑定自动快照策略即可正常使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableAutomatedSnapshotPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘是否设置了自动快照策略。'."\n" + .'- true:已设置。'."\n" + .'- false:未设置。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DiskChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘的计费方式。取值范围:'."\n" + ."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘被锁定的原因。取值范围:'."\n" + ."\n" + .'- financial:因欠费被锁定。'."\n" + .'- security:因安全原因被锁定。', + 'type' => 'string', + 'required' => false, + 'example' => 'security', + ], + ], + [ + 'name' => 'Filter.1.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`CreationStartTime`。同时设置`Filter.1.Key`和`Filter.1.Value`可以查询在指定时间点后创建的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationStartTime', + ], + ], + [ + 'name' => 'Filter.2.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`CreationEndTime`。同时设置`Filter.2.Key`和`Filter.2.Value`可以查询在指定时间点前创建的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationEndTime', + ], + ], + [ + 'name' => 'Filter.1.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.1.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-05T22:40Z', + ], + ], + [ + 'name' => 'Filter.2.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.2.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-06T22:40Z', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘所在的企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'EnableShared', + 'in' => 'query', + 'schema' => [ + 'description' => '是否是共享块存储。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只筛选出加密云盘。'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后返回2XX HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘使用的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + [ + 'name' => 'MultiAttach', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启了多重挂载特性。取值范围:'."\n" + ."\n" + .'- Disabled:未开启。'."\n" + .'- Enabled:已开启。'."\n" + .'- LegacyShared:用于查询共享块存储。', + 'type' => 'string', + 'required' => false, + 'example' => 'Disabled', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '磁盘标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '磁盘标签。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '磁盘的标签键。'."\n" + ."\n" + .'>为提高代码兼容性,请尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Key' => [ + 'description' => '磁盘的标签键。N的取值范围:1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '磁盘的标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '磁盘的标签值。'."\n" + ."\n" + .'>为提高代码兼容性,请尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'AdditionalAttributes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '其他属性值列表。目前仅支持传入值为`Placement`,表示查询当前磁盘的数据存放地。'."\n" + ."\n" + .'> 目前仅同城冗余类型的磁盘有数据存放地。', + 'type' => 'array', + 'items' => [ + 'description' => '其他属性值。目前仅支持传入值为Placement,表示查询当前磁盘的数据存放地。', + 'type' => 'string', + 'required' => false, + 'example' => 'Placement', + ], + 'required' => false, + 'example' => 'IOPS', + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'PageSize' => [ + 'description' => '> 该参数即将下线,推荐您使用参数 `NextToken `与 `MaxResults `完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageNumber' => [ + 'description' => '> 该参数即将下线,推荐您使用参数 `NextToken `与 `MaxResults `完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '查询结果总条数。'."\n" + .'> 使用`MaxResults`和`NextToken`参数进行分页查询时,返回的`TotalCount`参数值无效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '15', + ], + 'Disks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Disk' => [ + 'description' => '磁盘信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '磁盘信息。', + 'type' => 'object', + 'properties' => [ + 'SerialNumber' => [ + 'description' => '磁盘的序列号。', + 'type' => 'string', + 'example' => 'bp18um4r4f2fve2****', + ], + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2021-06-07T06:08:54Z', + ], + 'Status' => [ + 'description' => '磁盘状态。可能值:'."\n" + ."\n" + .'- In_use:使用中。'."\n" + .'- Available:待挂载。'."\n" + .'- Attaching:挂载中 。'."\n" + .'- Detaching:卸载中。'."\n" + .'- Creating:创建中。'."\n" + .'- ReIniting:初始化中。', + 'type' => 'string', + 'example' => 'In_use', + ], + 'Type' => [ + 'description' => '磁盘类型。可能值:'."\n" + ."\n" + .'- system:系统盘。'."\n" + .'- data:数据盘。', + 'type' => 'string', + 'example' => 'system', + ], + 'PerformanceLevel' => [ + 'description' => 'ESSD云盘的性能等级。可能值:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。', + 'type' => 'string', + 'example' => 'PL0', + ], + 'BdfId' => [ + 'description' => '该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'EnableAutoSnapshot' => [ + 'description' => '云盘是否启用自动快照策略功能。'."\n" + ."\n\n" + .'> 该参数已弃用。创建后的云盘默认启用自动快照策略功能,您只需要为云盘绑定自动快照策略即可正常使用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'StorageSetId' => [ + 'description' => '存储集ID。', + 'type' => 'string', + 'example' => 'ss-i-bp1j4i2jdf3owlhe****', + ], + 'StorageSetPartitionNumber' => [ + 'description' => '存储集中的最大分区数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '11', + ], + 'DiskId' => [ + 'description' => '磁盘ID。', + 'type' => 'string', + 'example' => 'd-bp18um4r4f2fve24****', + ], + 'DeleteAutoSnapshot' => [ + 'description' => '是否同时删除自动快照。可能值:'."\n" + ."\n" + .'- true:删除云盘上的快照。'."\n" + .'- false:保留云盘上的快照。'."\n" + ."\n" + .'通过[CreateSnapshot](~~25524~~)或者在控制台创建的快照,不受这个参数的影响,会始终保留。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'StorageClusterId' => [ + 'description' => '云盘所属的专属块存储集群ID。如果您的云盘在公共云块存储集群中,则该返回值为空。', + 'type' => 'string', + 'example' => 'dbsc-j5e1sf2vaf5he8m2****', + ], + 'Encrypted' => [ + 'description' => '是否为加密云盘。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'IOPSRead' => [ + 'description' => '每秒读操作的次数上限,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2000', + ], + 'MountInstanceNum' => [ + 'description' => '共享存储挂载的实例数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => '磁盘描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'Device' => [ + 'description' => '磁盘挂载的实例的设备名,例如/dev/xvdb。您需要注意:'."\n" + ."\n" + .'- 该参数仅在`Status`参数值为`In_use`或`Detaching`时才有值,其他状态时为空。'."\n" + ."\n" + .'- 对于开启多重挂载特性的云盘,该值始终为空。您可以通过返回的`Attachment`对象组成的列表,查看云盘所涉及的所有挂载信息。'."\n" + ."\n" + .'> 该参数即将停止使用,为提高代码兼容性,建议您尽量不要使用该参数。', + 'type' => 'string', + 'example' => '/dev/xvdb', + ], + 'DiskName' => [ + 'description' => '磁盘名称。', + 'type' => 'string', + 'example' => 'testDiskName', + ], + 'Portable' => [ + 'description' => '磁盘是否可卸载。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ImageId' => [ + 'description' => '创建ECS实例时使用的镜像ID,只有通过镜像创建的云盘才有值,否则为空。当创建磁盘的镜像被删除后,该值为空。', + 'type' => 'string', + 'example' => 'm-bp13aqm171qynt3u***', + ], + 'KMSKeyId' => [ + 'description' => '云盘使用的KMS密钥ID。', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb408***', + ], + 'DeleteWithInstance' => [ + 'description' => '是否随实例释放。可能值:'."\n" + ."\n" + .'- true:释放实例时,这块磁盘随实例一起释放。'."\n" + .'- false:释放实例时,这块磁盘保留不释放。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'DetachedTime' => [ + 'description' => '该磁盘最后一次卸载时间。', + 'type' => 'string', + 'example' => '2021-06-07T21:01:22Z', + ], + 'SourceSnapshotId' => [ + 'description' => '创建云盘使用的快照ID。'."\n" + ."\n" + .'如果创建云盘时,没有指定快照,则该参数值为空。如果创建云盘的快照被删除,该参数值为空。', + 'type' => 'string', + 'example' => 's-bp67acfmxazb4p****', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '云盘采用的自动快照策略ID。'."\n" + .'> 该参数即将被弃用。如果云盘应用了多条自动快照策略,只会返回其中一条。建议您使用DescribeAutoSnapshotPolicyAssociations查询云盘应用的所有自动快照策略。', + 'type' => 'string', + 'example' => 'sp-bp67acfmxazb4p****', + ], + 'EnableAutomatedSnapshotPolicy' => [ + 'description' => '云盘是否设置了自动快照策略。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'IOPSWrite' => [ + 'description' => '每秒写操作的次数上限,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2000', + ], + 'InstanceId' => [ + 'description' => '磁盘挂载的实例ID。您需要注意:'."\n" + ."\n" + .'- 该参数值仅在`Status`参数值为`In_use`或`Detaching`时才有值,其他状态时为空。'."\n" + ."\n" + .'- 对于开启多重挂载特性的云盘,该值始终为空。您可以通过返回的`Attachment`对象组成的列表,查看云盘所涉及的所有挂载信息。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4q****', + ], + 'IOPS' => [ + 'description' => '每秒读写(I/O)操作的次数上限,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4000', + ], + 'RegionId' => [ + 'description' => '磁盘所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ExpiredTime' => [ + 'description' => '包年包月磁盘的过期时间。', + 'type' => 'string', + 'example' => '2021-07-07T16:00Z', + ], + 'Size' => [ + 'description' => '磁盘大小,单位GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'ResourceGroupId' => [ + 'description' => '磁盘所在的企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'DiskChargeType' => [ + 'description' => '磁盘的计费方式。可能值:'."\n" + ."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。', + 'type' => 'string', + 'example' => 'PrePaid', + ], + 'ZoneId' => [ + 'description' => '磁盘所属的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-i', + ], + 'AttachedTime' => [ + 'description' => '该磁盘最后一次挂载的时间。按照ISO8601标准表示,使用UTC+0时间。格式为:yyyy-MM-ddThh:mmZ。', + 'type' => 'string', + 'example' => '2021-06-07T06:08:56Z', + ], + 'Category' => [ + 'description' => '磁盘种类。可能值:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。 '."\n" + .'- cloud_ssd:SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- local_ssd_pro:I/O密集型本地盘。 '."\n" + .'- local_hdd_pro:吞吐密集型本地盘。'."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .'- elastic_ephemeral_disk_standard:弹性临时盘-标准版。'."\n" + .'- elastic_ephemeral_disk_premium:弹性临时盘-高级版。'."\n" + .'- ephemeral:(已停售)本地盘。'."\n" + .'- ephemeral_ssd:(已停售)本地SSD盘。', + 'type' => 'string', + 'example' => 'cloud_ssd', + ], + 'ProductCode' => [ + 'description' => '云市场的商品标识。', + 'type' => 'string', + 'example' => 'jxsc000204', + ], + 'MultiAttach' => [ + 'description' => '云盘是否开启了多重挂载特性。', + 'type' => 'string', + 'example' => 'Disabled', + ], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OperationLock' => [ + 'description' => '磁盘锁定原因列表。', + 'type' => 'array', + 'items' => [ + 'description' => '磁盘锁定原因。', + 'type' => 'object', + 'properties' => [ + 'LockReason' => [ + 'description' => '磁盘被安全锁定的原因。', + 'type' => 'string', + 'example' => 'security', + ], + ], + ], + ], + ], + ], + 'MountInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MountInstance' => [ + 'description' => '共享存储挂载到实例上的信息集合。', + 'type' => 'array', + 'items' => [ + 'description' => '共享存储挂载到实例上的信息。', + 'type' => 'object', + 'properties' => [ + 'AttachedTime' => [ + 'description' => '挂载时间。按照[ISO 8601](~~25696~~)标准表示,使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。 ', + 'type' => 'string', + 'example' => '2017-12-05T2340:00Z', + ], + 'InstanceId' => [ + 'description' => '磁盘挂载的实例ID。', + 'type' => 'string', + 'example' => 'i-bp1j4i2jdf3owlhe****', + ], + 'Device' => [ + 'description' => '磁盘的挂载点。', + 'type' => 'string', + 'example' => '/dev/xvda', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '磁盘的标签集合。', + 'type' => 'array', + 'items' => [ + 'description' => '磁盘的标签。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'Attachments' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Attachment' => [ + 'description' => '磁盘所涉及的挂载信息。由`Attachment`对象组成的列表,查询共享块存储时不返回该列表。', + 'type' => 'array', + 'items' => [ + 'description' => '磁盘所涉及的挂载信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '所挂载的实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4q****', + ], + 'Device' => [ + 'description' => '设备名称。', + 'type' => 'string', + 'example' => '/dev/xvda', + ], + 'AttachedTime' => [ + 'description' => '挂载的时间,以UTC +0时间为准。', + 'type' => 'string', + 'example' => '2021-06-07T06:08:56Z', + ], + ], + ], + ], + ], + ], + 'ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置的读写IOPS。可能值:0~min{50000, 1000*容量-基准性能}。'."\n" + .'基准性能=min{1,800+50*容量, 50,000}。'."\n" + ."\n" + .'当`DiskCategory`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '40000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。可能值:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'当`DiskCategory`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。'."\n" + ."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Throughput' => [ + 'description' => '单位时间内可以成功传输的数据数量,单位:MB/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'ThroughputRead' => [ + 'description' => '单位时间内系统可以成功读取的数据数量,单位:MB/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'ThroughputWrite' => [ + 'description' => '单位时间内系统可以成功写入的数据数量,单位:MB/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'Placement' => [ + 'description' => '数据存放地集合。'."\n" + ."\n" + .'只有入参指定 `AdditionalAttributes.N = Placement` 时,才会返回该字段。'."\n" + ."\n" + .'> 当前仅有ESSD 同城冗余类型(cloud_regional_disk_auto)磁盘具有有效值。', + 'type' => 'object', + 'properties' => [ + 'ZoneIds' => [ + 'description' => '实际数据存放的可用区列表。', + 'type' => 'string', + 'example' => '"["cn-hangzhou-b",'."\n" + .'"cn-hangzhou-j"]"', + ], + ], + ], + 'SourceDiskId' => [ + 'title' => '源磁盘 ID', + 'description' => '源磁盘 ID', + 'type' => 'string', + 'example' => 'd-123*********', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDiskType.ValueNotSupported', + 'errorMessage' => 'The specified disk type is not supported.', + ], + [ + 'errorCode' => 'InvalidCategory.ValueNotSupported', + 'errorMessage' => 'The specified disk category is not supported.', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => 'The specified disk status is not supported.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidRegion.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The zoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The regionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.DiskIds', + 'errorMessage' => 'The specified parameter diskIds is not valid.', + ], + [ + 'errorCode' => 'IncompleteParamter', + 'errorMessage' => 'Some fields can not be null in this request.', + ], + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => 'Some parameters are invalid in this request.', + ], + [ + 'errorCode' => 'InvalidSnapshot.NotFound', + 'errorMessage' => 'The specified parameter SnapshotId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDiskIds.Malformed', + 'errorMessage' => 'The amount of specified disk Ids exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidCategory.ValueNotSupported', + 'errorMessage' => 'The specified disk category is not supported.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in volume white list.', + ], + [ + 'errorCode' => 'InvalidParameter.MultiAttachAndEnableSharedNotMatch', + 'errorMessage' => 'The parameter MultiAttach and EnableShared are not match.', + ], + [ + 'errorCode' => 'InvalidParameter.MultiAttach', + 'errorMessage' => 'The specified param MultiAttach is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidFilterKey.NotFound', + 'errorMessage' => 'The filter key is not found.', + ], + [ + 'errorCode' => 'InvalidFilterValue', + 'errorMessage' => 'The filter value is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskIds.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskIds" is not supported.', + ], + [ + 'errorCode' => 'InvalidDiskChargeType.NotFound', + 'errorMessage' => 'The DiskChargeType does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidLockReason.NotFound', + 'errorMessage' => 'The specified LockReason is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 15,\\n \\"Disks\\": {\\n \\"Disk\\": [\\n {\\n \\"SerialNumber\\": \\"bp18um4r4f2fve2****\\",\\n \\"CreationTime\\": \\"2021-06-07T06:08:54Z\\",\\n \\"Status\\": \\"In_use\\",\\n \\"Type\\": \\"system\\",\\n \\"PerformanceLevel\\": \\"PL0\\",\\n \\"BdfId\\": \\"null\\",\\n \\"EnableAutoSnapshot\\": false,\\n \\"StorageSetId\\": \\"ss-i-bp1j4i2jdf3owlhe****\\",\\n \\"StorageSetPartitionNumber\\": 11,\\n \\"DiskId\\": \\"d-bp18um4r4f2fve24****\\",\\n \\"DeleteAutoSnapshot\\": false,\\n \\"StorageClusterId\\": \\"dbsc-j5e1sf2vaf5he8m2****\\",\\n \\"Encrypted\\": false,\\n \\"IOPSRead\\": 2000,\\n \\"MountInstanceNum\\": 1,\\n \\"Description\\": \\"testDescription\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"DiskName\\": \\"testDiskName\\",\\n \\"Portable\\": false,\\n \\"ImageId\\": \\"m-bp13aqm171qynt3u***\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb408***\\",\\n \\"DeleteWithInstance\\": true,\\n \\"DetachedTime\\": \\"2021-06-07T21:01:22Z\\",\\n \\"SourceSnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp67acfmxazb4p****\\",\\n \\"EnableAutomatedSnapshotPolicy\\": false,\\n \\"IOPSWrite\\": 2000,\\n \\"InstanceId\\": \\"i-bp67acfmxazb4q****\\",\\n \\"IOPS\\": 4000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ExpiredTime\\": \\"2021-07-07T16:00Z\\",\\n \\"Size\\": 60,\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"DiskChargeType\\": \\"PrePaid\\",\\n \\"ZoneId\\": \\"cn-hangzhou-i\\",\\n \\"AttachedTime\\": \\"2021-06-07T06:08:56Z\\",\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"ProductCode\\": \\"jxsc000204\\",\\n \\"MultiAttach\\": \\"Disabled\\",\\n \\"OperationLocks\\": {\\n \\"OperationLock\\": [\\n {\\n \\"LockReason\\": \\"security\\"\\n }\\n ]\\n },\\n \\"MountInstances\\": {\\n \\"MountInstance\\": [\\n {\\n \\"AttachedTime\\": \\"2017-12-05T2340:00Z\\",\\n \\"InstanceId\\": \\"i-bp1j4i2jdf3owlhe****\\",\\n \\"Device\\": \\"/dev/xvda\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"Attachments\\": {\\n \\"Attachment\\": [\\n {\\n \\"InstanceId\\": \\"i-bp67acfmxazb4q****\\",\\n \\"Device\\": \\"/dev/xvda\\",\\n \\"AttachedTime\\": \\"2021-06-07T06:08:56Z\\"\\n }\\n ]\\n },\\n \\"ProvisionedIops\\": 40000,\\n \\"BurstingEnabled\\": false,\\n \\"Throughput\\": 100,\\n \\"ThroughputRead\\": 100,\\n \\"ThroughputWrite\\": 100,\\n \\"Placement\\": {\\n \\"ZoneIds\\": \\"\\\\\\"[\\\\\\"cn-hangzhou-b\\\\\\",\\\\n\\\\\\"cn-hangzhou-j\\\\\\"]\\\\\\"\\"\\n },\\n \\"SourceDiskId\\": \\"d-123*********\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 15\\n AAAAAdDWBF2****\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n \\n \\n \\n cloud_ssd\\n testDescription\\n \\n \\n \\n false\\n 40\\n false\\n PrePaid\\n Disabled\\n \\n \\n 2021-06-07T06:08:56Z\\n i-bp67acfmxazb4q****\\n /dev/xvda\\n \\n \\n 2021-07-07T16:00Z\\n m-bp13aqm171qynt3u***\\n \\n \\n \\n In_use\\n 2021-06-07T06:08:56Z\\n dbsc-j5e1sf2vaf5he8m2****\\n cn-hangzhou-i\\n i-bp67acfmxazb4q****\\n \\n \\n PL0\\n /dev/xvdb\\n true\\n false\\n false\\n sp-bp67acfmxazb4p****\\n testDiskName\\n \\n \\n \\n false\\n system\\n bp18um4r4f2fve2****\\n 2021-06-07T06:08:54Z\\n cn-hangzhou\\n d-bp18um4r4f2fve24****\\n \\n \\n","errorExample":""}]', + 'title' => '查询块存储', + 'description' => '- 请求参数`RegionId`、`ZoneId`、`DiskIds`和`InstanceId`等都是过滤器的概念,参数间是逻辑与(AND)关系。'."\n" + .'- 请求参数`DiskIds`是一个JSON格式的数组(Array),如果参数为空,则过滤器不起作用,但是`DiskIds`如果是一个空数组,则视为该过滤器有效,且返回空。'."\n" + .'- 支持Token分页查询:通过`NextToken`设置查询凭证(Token),其取值是上一次调用DescribeDisks返回的`NextToken`参数值,再通过`MaxResults`设置单页查询的最大条目数。'."\n" + ."\n" + .'- 开启多重挂载特性的云盘可以挂载到多个实例上,您可以根据返回结果的`Attachment`列表查看云盘涉及的所有挂载信息。'."\n" + ."\n" + .'通过阿里云CLI调用API时,不同数据类型的请求参数取值必须遵循格式要求。更多信息,请参见[CLI参数格式说明](~~110340~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AttachDisk' => [ + 'summary' => '为一台ECS实例挂载一块按数据盘或系统盘。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28790', + 'abilityTreeNodes' => [ + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待挂载ECS实例的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp1dq5lozx5f4pmd****', + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '待挂载的磁盘ID。磁盘(`DiskId`)和实例(`InstanceId`)必须在同一个可用区。'."\n" + ."\n" + .'> 支持挂载数据盘和系统盘,相关约束条件请参见上文接口说明部分。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd-bp1j4l5axzdy6ftk****', + ], + ], + [ + 'name' => 'Device', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘设备名称。'."\n" + ."\n" + .'> 该参数即将被弃用,为提高兼容性,建议您尽量使用其他参数标识磁盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDeviceName', + ], + ], + [ + 'name' => 'DeleteWithInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '释放实例时,该磁盘是否随实例一起释放。取值范围:'."\n" + ."\n" + .'- true:释放。'."\n" + .'- false:不释放。磁盘会转换成按量付费数据盘而被保留下来。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'设置该参数时,您需要注意:'."\n" + ."\n" + .'- 将`DeleteWithInstance`置为`false`后,一旦ECS实例被安全控制,即`OperationLocks`中标记了`"LockReason" : "security"`,释放ECS实例时会忽略磁盘的该属性,被同时释放。'."\n" + ."\n" + .'- 若您需要挂载的目标磁盘为`弹性临时盘`,则必须将`DeleteWithInstance`参数设置为`true`。'."\n" + ."\n" + .'- 开启多重挂载特性的云盘,不支持设置该参数。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Bootable', + 'in' => 'query', + 'schema' => [ + 'description' => '是否作为系统盘挂载。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 设置为`Bootable=true`时,目标ECS实例必须处于无系统盘状态。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => [ + 'description' => '挂载系统盘时,设置实例的用户名密码,仅对administrator和root用户名生效,其他用户名不生效。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:'."\n" + ."\n" + .'```'."\n" + .'()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/'."\n" + .'```'."\n" + .'其中,Windows实例不能以斜线号(/)为密码首字符。'."\n" + ."\n" + .'> 如果传入`Password`参数,建议您使用HTTPS协议发送请求,避免密码泄露。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsV587!', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '挂载系统盘时,为Linux系统ECS实例绑定的SSH密钥对的名称。'."\n" + ."\n" + .'- Windows Server系统:不支持SSH密钥对。即使填写了该参数,只执行`Password`的配置。'."\n" + ."\n" + .'- Linux系统:密码登录方式会被初始化成禁止。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyPairTestName', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否是强制挂载请求。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n\n" + .'> 当前仅 ESSD 同城冗余类型(cloud_regional_disk_auto)支持设置该字段为 true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDevice.Malformed', + 'errorMessage' => 'The specified device is not valid.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The input parameter is mandatory for processing this request is empty.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupport', + 'errorMessage' => 'The instance type of the specified instance does not support hot attach disk.', + ], + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The operation is not supported to the specified disk due to its disk category.', + ], + [ + 'errorCode' => 'InvalidDisk.DiskNotBootable', + 'errorMessage' => 'The specified disk is not a bootable disk, can not be attached as system disk.', + ], + [ + 'errorCode' => 'InvalidInstance.NotOriginInstance', + 'errorMessage' => 'The specified disk can not attached to other instance as system disk.', + ], + [ + 'errorCode' => 'InvalidParameterForce.DiskCategoryNotSupported', + 'errorMessage' => 'The specified disk category does not support force attach operation.', + ], + [ + 'errorCode' => 'InvalidParameterForce.PrepaidDiskNotSupported', + 'errorMessage' => 'The prepaid disk does not support force attach operation.', + ], + [ + 'errorCode' => 'InvalidParameterForce.MultiAttachDiskNotSupported', + 'errorMessage' => 'The multi attach disk does not support force attach operation.', + ], + [ + 'errorCode' => 'InvalidParameterForce.RegionNotSupported', + 'errorMessage' => 'The specified region does not support force attach operation.', + ], + [ + 'errorCode' => 'OperationConflict.DisksAttachingParallellyExceed', + 'errorMessage' => 'The number of disks attaching parallelly exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified instanceType is not supported by the image architecture.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceDiskLimitExceeded', + 'errorMessage' => 'The amount of the disk on instance in question reach its limits.', + ], + [ + 'errorCode' => 'InvalidDevice.InUse', + 'errorMessage' => 'The specified device has been occupied.', + ], + [ + 'errorCode' => 'DiskNotPortable', + 'errorMessage' => 'The specified disk is not a portable disk.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked due to security.', + ], + [ + 'errorCode' => 'ResourcesNotInSameZone', + 'errorMessage' => 'The specified instance and disk are not in the same zone.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'DiskInArrears', + 'errorMessage' => 'The specified operation is denied as your disk owing fee.', + ], + [ + 'errorCode' => 'DiskError', + 'errorMessage' => 'IncorrectDiskStatus.', + ], + [ + 'errorCode' => 'DiskId.ValueNotSupported', + 'errorMessage' => 'The specified parameter diskid is not supported.', + ], + [ + 'errorCode' => 'DiskId.StatusNotSupported', + 'errorMessage' => 'The specified disk status is not supported.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus.NotSupportESSD', + 'errorMessage' => 'The operation is not supported in this status, please reboot the instance.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The operation is not supported in this status.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'DependencyViolation.WindowsInstance', + 'errorMessage' => 'The instance image is windows, cannot use ssh key pair to login.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportDiskCategory', + 'errorMessage' => 'The instanceType of the specified instance does not support this disk category.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportPL0', + 'errorMessage' => 'The instanceType of the specified instance does not support PL0 of cloud_essd.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NvmeRequired', + 'errorMessage' => 'The instanceType of the specified instance requires nvme protocol.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NvmeUnsupported', + 'errorMessage' => 'The instanceType of the specified instance does not support nvme protocol.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportMultiAttachDisk', + 'errorMessage' => 'The instanceType of the specified instance does not support multi attach disk.', + ], + [ + 'errorCode' => 'DiskAttachedNumberExceeded', + 'errorMessage' => 'The attaching times of the specified disk exceeded.', + ], + [ + 'errorCode' => 'InvalidOperation.CanNotAttachMultiAttachDiskAsSystemDisk', + 'errorMessage' => 'Multi attach disk can not be attached as system disk.', + ], + [ + 'errorCode' => 'DeleteWithInstance.Conflict', + 'errorMessage' => 'Multi attach disk cannot be set to DeleteWithInstance attribute.', + ], + [ + 'errorCode' => 'InvalidParameter.DeleteWithInstance', + 'errorMessage' => 'The DeleteWithInstance for the elastic ephemeral disk must be set to true.', + ], + [ + 'errorCode' => 'InvalidOperation.OtherInstanceUnsupported', + 'errorMessage' => 'The elastic ephemeral disk can only be attached to the instance it was last mounted on, please check the disk\'s system tag to get the last associated instance.', + ], + [ + 'errorCode' => 'InvalidInstance.ZoneConflict', + 'errorMessage' => 'The force attach operation is not supported when both the current and target instances are in the same zone.', + ], + [ + 'errorCode' => 'InvalidParameter.AllEmpty', + 'errorMessage' => 'The current operation requires either a password or a keyPairName to must be provided. Please ensure that at least one of them is not empty.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskQueueNumberNotEnough', + 'errorMessage' => 'The number of disk queues on the instance is not enough.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskAttachModeUnsupported', + 'errorMessage' => 'The instance type does not support the disk attach mode.', + ], + [ + 'errorCode' => 'OperationDenied.HpnZoneMismatch', + 'errorMessage' => 'Instance and disk must be in the same HPN zone for restricted HPN zones.', + ], + [ + 'errorCode' => 'OperationDenied.UnsupportedEncryptedDisk', + 'errorMessage' => 'The instance type does not support attaching encrypted disks.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidDisk.InUse', + 'errorMessage' => 'The specified disk has been occupied.', + ], + [ + 'errorCode' => 'DiskAttachedNumberExceeded', + 'errorMessage' => 'The attaching times of the specified disk exceeded.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotFound', + 'errorMessage' => 'The KMS key used by the disk does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n"}]', + 'title' => '为实例挂载磁盘', + 'description' => '调用该接口时,您需要注意:'."\n" + .'- 实例和磁盘必须在同一个可用区。'."\n" + .'- 磁盘的状态必须为**待挂载**(`Available`)。 '."\n" + .'- 挂载数据盘时:'."\n" + ."\n" + .' - 目标ECS实例必须处于**运行中**(`Running`)或者**已停止**(`Stopped`)状态。 '."\n" + .' - 如果是您单独购买的磁盘,计费方式必须是按量付费。'."\n" + .' - 从ECS实例上卸载的系统盘作为数据盘挂载时,不限制计费方式。 '."\n" + .' - 弹性临时盘一旦卸载,只能重新挂载至其原始实例。'."\n" + ."\n" + .'- 挂载系统盘时:'."\n" + ."\n" + .' - 目标ECS实例必须是卸载该系统盘时的源实例。'."\n" + .' - 目标ECS实例必须处于**已停止**(`Stopped`)状态。 '."\n" + .' - 您必须设置实例登录凭证。'."\n" + .' - 弹性临时盘不支持挂载为系统盘。'."\n" + .' - 更多关于挂载系统盘的信息,请参见[卸载或挂载系统盘](~~146752~~)。'."\n" + ."\n" + .'- 查询ECS实例信息时,如果返回数据中包含`{"OperationLocks": {"LockReason" : "security"}}`,则禁止一切操作。'."\n" + ."\n" + .''."\n" + .'- 开启多重挂载特性的云盘,只能挂载到支持NVMe协议的实例上。 '."\n" + .' 更多信息,请参见[ESSD云盘支持NVMe](~~256487~~)以及[使用多重挂载功能](~~262105~~)。'."\n" + .'', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachDisk' => [ + 'summary' => '从一台ECS实例上卸载一块按量付费的数据盘或者系统盘。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '29020', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待卸载的磁盘所绑定的ECS实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '待卸载的磁盘ID。'."\n" + ."\n" + .'- 磁盘必须已经挂载到实例上,状态为使用中(`In_use`)。'."\n" + ."\n" + .'- 卸载数据盘时,所挂载的实例必须处于运行中(`Running`)或者已停止(`Stopped`)状态。'."\n" + ."\n" + .'- 卸载系统盘时,所挂载的实例必须处于已停止(`Stopped`)状态。', + 'type' => 'string', + 'required' => true, + 'example' => 'd-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DeleteWithInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '卸载系统盘或数据盘时,设置自动释放属性。表示释放ECS实例时,是否同时释放该系统盘或数据盘。'."\n" + ."\n" + .'- true:释放。'."\n" + .'- false:不释放。云盘被转换为按量付费数据盘被保留下来。'."\n" + ."\n" + .'默认值:true'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 开启多重挂载特性的云盘,不支持设置该参数。'."\n" + .'- 如果卸载的是数据盘,默认值为`false`。'."\n" + .'- 若您需要卸载的目标磁盘为`弹性临时盘`,则必须将`DeleteWithInstance`参数设置为`true`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The input parameter is mandatory for processing this request is empty.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupport', + 'errorMessage' => 'The instance type of the specified instance does not support hot detach disk.', + ], + [ + 'errorCode' => 'DisksDetachingOnEcsExceeded', + 'errorMessage' => 'The number of disks detaching on the instance exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidInstanceId.Malformed', + 'errorMessage' => 'The specified parameter InstanceId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'DiskNotPortable', + 'errorMessage' => 'The specified disk is not a portable disk.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked due to security.', + ], + [ + 'errorCode' => 'DependencyViolation', + 'errorMessage' => 'The specified disk has not been attached on the specified instance.', + ], + [ + 'errorCode' => 'DiskTypeViolation', + 'errorMessage' => 'The specified disk is a system disk and cannot support the operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidInstance.ImageCategory', + 'errorMessage' => 'The image category of the specified instance does not support detaching system disk.', + ], + [ + 'errorCode' => 'DeleteWithInstance.Conflict', + 'errorMessage' => 'Multi attach disk cannot be set to DeleteWithInstance attribute.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskCategoryUnsupported', + 'errorMessage' => 'The DetachDisk operation is not supported for elastic ephemeral disk.', + ], + [ + 'errorCode' => 'InvalidParameter.DeleteWithInstance', + 'errorMessage' => 'The DeleteWithInstance for the elastic ephemeral disk must be set to true.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskDetachingFromThisEcs', + 'errorMessage' => 'The specified disk is detaching from this ecs.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidDisk.AlreadyDetached', + 'errorMessage' => 'The specified disk has been detached.', + ], + [ + 'errorCode' => 'InvalidDiskId.OperationNotSupported', + 'errorMessage' => 'The operation is not supported due to base image not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', + 'title' => '卸载按量付费数据盘或系统盘', + 'description' => '调用该接口时,请注意:'."\n" + ."\n" + .'- 该接口为异步操作,调用成功后等待一分钟左右才能完成卸载。'."\n" + .'- 所挂载的实例被安全控制后,`OperationLocks`中不能标记为`"LockReason" : "security"`的锁定状态。'."\n" + ."\n" + .'- 弹性临时盘一旦卸载,只能重新挂载至其原始实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ResizeDisk' => [ + 'summary' => '扩容一块磁盘,支持扩容系统盘和数据盘。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29165', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘ID。您可以调用[DescribeDisks](~~25514~~)查询磁盘ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '扩容磁盘的方式。取值范围:'."\n" + ."\n" + .'- offline(默认):离线扩容。扩容后,您必须在控制台[重启实例](~~25440~~)或者调用API [RebootInstance](~~25502~~)使操作生效。'."\n" + .' '."\n" + .'- online:在线扩容,无需重启实例即可完成扩容。磁盘类型支持高效云盘、SSD云盘、ESSD云盘和弹性临时盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'offline', + 'default' => 'offline', + ], + ], + [ + 'name' => 'NewSize', + 'in' => 'query', + 'schema' => [ + 'description' => '希望扩容到的磁盘容量大小。单位为GiB。取值范围:'."\n" + .'- 系统盘:'."\n" + .' - 普通云盘:20~500。'."\n" + .' - ESSD云盘:'."\n" + .' - PL0:1~2048。'."\n" + .' - PL1:20~2048。'."\n" + .' - PL2:461~2048。'."\n" + .' - PL3:1261~2048。'."\n" + .' - ESSD AutoPL 云盘:1~2048。'."\n" + .' - 其他云盘类型:20~2048。'."\n" + ."\n" + .'- 数据盘:'."\n" + .' - 高效云盘(cloud_efficiency):20~32768。'."\n" + .' - SSD云盘(cloud_ssd):20~32768。'."\n" + .' - ESSD云盘(cloud_essd):具体取值范围与`PerformanceLevel`的取值有关。可以调用[DescribeDisks](~~25514~~)查询云盘信息,再根据查询结果中的`PerformanceLevel`参数查看取值。'."\n" + .' - PL0:1~65536。'."\n" + .' - PL1:20~65536。'."\n" + .' - PL2:461~65536。'."\n" + .' - PL3:1261~65536。'."\n" + .' - 普通云盘(cloud):5~2000。'."\n" + .' - ESSD AutoPL云盘(cloud_auto):1~65536。'."\n" + .''."\n" + .' - ESSD Entry云盘(cloud_essd_entry):10~32768。'."\n" + .''."\n" + .' - 弹性临时盘-标准版(elastic_ephemeral_disk_standard):64~8,192。'."\n" + .' - 弹性临时盘-高级版(elastic_ephemeral_disk_premium):64~8,192。'."\n" + ."\n" + .'>指定的新磁盘容量必须比原磁盘容量大,否则调用接口将报错。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'maximum' => '262144', + 'minimum' => '1', + 'example' => '1900', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '生成的订单ID。'."\n" + ."\n" + .'> 仅在扩容包年包月云盘时会返回订单ID。', + 'type' => 'string', + 'example' => '20413515388****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F3CD6886-D8D0-4FEE-B93E-1B732396****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncompleteParamter', + 'errorMessage' => 'Some fields can not be null in this request.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Type', + 'errorMessage' => 'The specified type is not supported.', + ], + [ + 'errorCode' => 'LastOrderProcessing', + 'errorMessage' => 'The previous order is still processing, please try again later.', + ], + [ + 'errorCode' => 'InvalidStatus.Upgrading', + 'errorMessage' => 'The instance which the disk attachs is upgrading; please try again later.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ImageNotSupportResize', + 'errorMessage' => 'The image of the instance does not support resize.', + ], + [ + 'errorCode' => 'InvalidDisk.DetachedSystemDisk', + 'errorMessage' => 'The specified disk is a detached system disk, does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.NotEnoughCapacity', + 'errorMessage' => 'The capacity of the current dedicated block storage cluster is not enough to expand.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.ReplicationStatusNotFound', + 'errorMessage' => 'Disk replication status not found.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.InReplication', + 'errorMessage' => 'Disk already in replication.', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'NoPermission.Refund', + 'errorMessage' => 'The operation requires refund permission. Please apply for permission from your main account.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceRenewWithDowngradeInPlan', + 'errorMessage' => 'The operation is denied due to the specified instance has renew with downgrade record in plan.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified system disk size is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.UnfinishedOrder', + 'errorMessage' => 'The current instance has unfinished refundOrder, this operation is denied.', + ], + [ + 'errorCode' => 'AccountForbidden.CreateOrder', + 'errorMessage' => 'Order cannot be created due to abnormal account.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified DataDisk.n.Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The type of the disk does not support the operation.', + ], + [ + 'errorCode' => 'InvalidDiskSize.TooSmall', + 'errorMessage' => 'Specified new disk size is less than the original disk size.', + ], + [ + 'errorCode' => 'InvalidDiskSize.TooLarge', + 'errorMessage' => 'Specified new disk size is beyond the permitted range.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'DiskError', + 'errorMessage' => 'Incorrect disk status.', + ], + [ + 'errorCode' => 'DiskInArrears', + 'errorMessage' => 'The specified operation is denied as your disk owing fee.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'DiskCreatingSnapshot', + 'errorMessage' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', + ], + [ + 'errorCode' => 'InvalidDiskSize', + 'errorMessage' => 'Specified new disk size is less than or equal the original disk size.', + ], + [ + 'errorCode' => 'Operation.Conflict', + 'errorMessage' => 'The operation may conflicts with others.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked due to security.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not supported.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support resize online.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.NotRunning', + 'errorMessage' => 'The status of instance to which the disk attachs must be running when resizing online.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportOnlineResize', + 'errorMessage' => 'The instance type of the specified instance does not support resize online.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InstanceSpecModification.NotEffective', + 'errorMessage' => 'The instance which the disk attachs has been reserved for making a spec modification and not taken effective in the current contract period.', + ], + [ + 'errorCode' => 'InvalidDiskSize.NotSupportResizeOnline', + 'errorMessage' => 'The current size of the resource does not support resize online.', + ], + [ + 'errorCode' => 'SecurityRisk.3DVerification', + 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', + ], + [ + 'errorCode' => 'QuotaExceeded.PostpaidDataDiskCapacity', + 'errorMessage' => 'The quota of postpaid data disk capacity exceeds.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDiskNotSupportResizeOnline', + 'errorMessage' => 'Multi attach disk does not support resize online.', + ], + [ + 'errorCode' => 'InvalidDataDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified Category of Data Disk is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskSize.NotSupportMultiAttachDisk', + 'errorMessage' => 'The specified disk size exceeds the maximum limit 65536 for enabling multi-attach.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"20413515388****\\",\\n \\"RequestId\\": \\"F3CD6886-D8D0-4FEE-B93E-1B732396****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 20413515388****\\n F3CD6886-D8D0-4FEE-B93E-1B732396****\\n","errorExample":""}]', + 'title' => '扩容磁盘', + 'description' => '> 扩容前,请务必查询云盘采用的分区格式。如果是MBR格式,不支持扩容到2TiB以上,否则会造成数据丢失。对于MBR分区扩容,建议您重新创建并挂载一块数据盘,采用GPT分区格式后,再将已有数据拷贝至新的数据盘上。更多详情,请参见[扩容云盘容量](~~44986~~)。'."\n" + ."\n" + .'- 支持扩容的磁盘类型包括普通云盘(`cloud`)、高效云盘(`cloud_efficiency`)、SSD云盘(`cloud_ssd`)、ESSD云盘(`cloud_essd`)、ESSD Entry云盘(cloud_essd_entry)、ESSD AutoPL云盘(cloud_auto)、弹性临时盘-标准版(elastic_ephemeral_disk_standard)和弹性临时盘-高级版(elastic_ephemeral_disk_premium)、 ESSD 同城冗余云盘(cloud_regional_disk_auto)。'."\n" + .'- 正在创建快照的云盘不支持扩容。请您等待快照创建完成后,再开始执行扩容操作。'."\n" + .'- 该接口不能扩容分区和文件系统,您需要在扩容云盘容量后自行分配分区和文件系统,具体操作,请参见[扩容分区与文件系统(Linux)](~~2949817#bb3b1f02e51pj~~)和[扩容分区与文件系统(windows)](~~2932233#a9f9b78f3fujb~~)。'."\n" + ."\n" + .'- 开启多重挂载特性的云盘支持在线扩容和离线扩容,请确保磁盘挂载的实例满足以下条件:'."\n" + ."\n" + .' - 在线扩容时,实例状态为**运行中**(`Running`)。'."\n" + .' - 离线扩容时,实例状态为**运行中**(`Running`)或**已停止**(`Stopped`)。'."\n" + ."\n" + .'- 请确保云盘满足以下条件:'."\n" + ."\n" + .' - 云盘状态为使用中(`In Use`)或者待挂载(`Available`)。'."\n" + .' - (强烈建议)已为云盘创建快照,做好数据备份。具体操作,请参见[创建快照](~~25455~~)。'."\n" + .' - 如果您是全新购买的数据盘,请先完成初始化再执行扩容操作。更多信息,请参见[初始化概述](~~466323~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDiskAttribute' => [ + 'summary' => '修改一个或多个块存储设备的名称、描述、是否随实例释放、是否随磁盘删除其自动快照、是否启用自动快照策略、是否开启性能突发功能等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29056', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改属性的磁盘ID。'."\n" + .'> `DiskId`和`DiskIds.N`两个参数不能同时被调用,请您根据需求任选其一传值。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp1famypsnar20bv****', + ], + ], + [ + 'name' => 'DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'MyDiskName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘描述。 长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'TestDescription', + ], + ], + [ + 'name' => 'DeleteWithInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘是否随实例释放。默认值:无,无表示不改变当前的值。'."\n" + ."\n" + .'开启多重挂载特性的云盘,不支持设置该参数。'."\n" + ."\n" + .'在下列两种情况下,将参数`DeleteWithInstance`设置成`false`时会报错。 '."\n" + .' '."\n" + .'- 磁盘的种类(category)为本地盘(ephemeral)时。 '."\n" + .'- 磁盘的种类(category)为普通云盘(cloud),且不可以卸载(Portable=false)时。 '."\n" + ."\n" + .'>如果您设置了不随实例释放(DeleteWithInstance=false),一旦磁盘挂载的ECS实例被安全锁定且OperationLocks中标记了"LockReason" : "security"的锁定状态,释放实例时会忽略磁盘的DeleteWithInstance属性而被同时释放。>', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DeleteAutoSnapshot', + 'in' => 'query', + 'schema' => [ + 'description' => '删除磁盘时,是否同时删除其自动快照。取值范围:'."\n" + ."\n" + .'- true:启用。'."\n" + ."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:无,无表示不改变当前的值。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EnableAutoSnapshot', + 'in' => 'query', + 'schema' => [ + 'description' => '磁盘是否启用自动快照策略功能。取值范围:'."\n" + ."\n" + .'- true:启用。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:无,表示不改变当前的值。'."\n" + ."\n" + .'> 该参数已弃用。创建后的云盘默认启用自动快照策略功能,您只需要为云盘绑定自动快照策略即可正常使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DiskIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待修改多个磁盘的ID列表。N的取值范围为0 ~ 100。'."\n" + .'> `DiskId`和`DiskIds.N`两个参数不能同时被调用,请您根据需求任选其一传值。', + 'type' => 'array', + 'items' => [ + 'description' => '待修改多个磁盘的ID。N的取值范围为0 ~ 100。'."\n" + .'> `DiskId`和`DiskIds.N`两个参数不能同时被调用,请您根据需求任选其一传值。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp1famypsnar20bv****', + ], + 'required' => false, + 'example' => 'd-bp1famypsnar20bv****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'BurstingEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '针对支持Burst(性能突发)的磁盘是否开启此功能,取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'> 对于不支持Burst功能的磁盘,传入任意值将会报错。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDiskName.Malformed', + 'errorMessage' => 'The specified disk name is wrongly formed.', + ], + [ + 'errorCode' => 'NoAttributeToModify', + 'errorMessage' => 'No attribute to be modified in this request.', + ], + [ + 'errorCode' => 'IncompleteParamter', + 'errorMessage' => 'Some fields can not be null in this request.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.DiskIdOrDiskIds', + 'errorMessage' => 'Specified parameter DiskId or DiskIds is missing.', + ], + [ + 'errorCode' => 'ParameterConflict.DiskIdAndDiskIds', + 'errorMessage' => 'Specified parameter DiskId and DiskIds conflict, only one can be chosen.', + ], + [ + 'errorCode' => 'BurstingEnabledForDiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support bursting enabled.', + ], + [ + 'errorCode' => 'BurstingEnabledForMultiAttachDiskUnsupported', + 'errorMessage' => 'The multi attach disk does not support bursting enabled.', + ], + [ + 'errorCode' => 'BurstingEnabledForModifyingDiskUnsupported', + 'errorMessage' => 'The modifying disk does not support bursting enabled.', + ], + [ + 'errorCode' => 'InvalidBurstingEnabled.DiskSizeTooSmall', + 'errorMessage' => 'The disk size must be greater than 3 GiB to enable burst.', + ], + ], + 403 => [ + [ + 'errorCode' => 'QuotaExceed.Snapshot', + 'errorMessage' => 'The snapshot quota exceeds.', + ], + [ + 'errorCode' => 'DiskNotPortable', + 'errorMessage' => 'The specified disk is not a portable disk.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The operation is not supported in this status.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'DeleteWithInstance.Conflict', + 'errorMessage' => 'The specified image is from the image market, you cannot set DeleteWithInstance attribute to false.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'Specified attached instance does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n"}]', + 'title' => '修改块存储属性', + 'description' => '您可以调用`DiskId`参数修改一个块存储设备的名称、描述、是否随实例释放等属性,调用`DiskIds.N`参数批量修改多个块存储设备的属性。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDiskChargeType' => [ + 'summary' => '将包年包月ECS实例上挂载的数据盘的计费方式在按量付费和包年包月之间进行转换。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29057', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘挂载的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp1i778bq705cvx1****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DiskIds', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘ID列表,一个带有格式的JSON Array,最多支持16个ID,用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '["d-bp67acfmxazb4ph****", "d-bp67acfmxazb4pi****", … "d-bp67acfmxazb4pj****"]', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付。取值范围: '."\n" + .' '."\n" + .'- true(默认):自动支付。您需要确保账户余额充足,如果账户余额不足会生成异常订单,只能作废订单。 '."\n" + .'- false:只生成订单不扣费。如果您的账户余额不足,会生成正常的未支付订单,此订单可登录阿里云**费用与成本**后,在[我的订单](https://usercenter2.aliyun.com/order/list)[订单管理](https://usercenter2-intl.aliyun.com/order/list)页面支付。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DiskChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘计费方式。取值范围: '."\n" + .' '."\n" + .'- PrePaid(默认):按量付费数据盘转换为包年包月数据盘。 '."\n" + .'- PostPaid:包年包月数据盘转换为按量付费数据盘。'."\n" + ."\n" + .'> 转换按量付费云盘为包年包月时,其容量费用计费周期自动与关联的ECS实例同步。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '生成的订单ID。', + 'type' => 'string', + 'example' => '123456****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'RegionId should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceIdNotSupported', + 'errorMessage' => 'InstanceId should not be null.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + [ + 'errorCode' => 'InvalidInstanceId.Released', + 'errorMessage' => 'The specified Instance is not exist.', + ], + [ + 'errorCode' => 'InvalidInstance.PurchaseNotFound', + 'errorMessage' => 'The specified Instance has no purchase.', + ], + [ + 'errorCode' => 'InvalidInstance.UnPaidOrder', + 'errorMessage' => 'The specified Instance has unpaid order.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + [ + 'errorCode' => 'Idempotence.SignatureMismatch', + 'errorMessage' => 'There is a idempotence signature mismatch between this and last request.', + ], + [ + 'errorCode' => 'OrderCreationFailed', + 'errorMessage' => 'Create Order failed, please check your parameters and try it later.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, please try again after 5 minutes.', + ], + [ + 'errorCode' => 'InstanceDowngrade.QuotaExceed', + 'errorMessage' => 'Quota of instance downgrade is exceed.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidDisk.DetachedSystemDisk', + 'errorMessage' => 'The specified disk is a detached system disk, does not support this operation.', + ], + [ + 'errorCode' => 'LastOrderProcessing', + 'errorMessage' => 'The previous order is still processing, please try again later.', + ], + [ + 'errorCode' => 'InvalidAction.WithActiveElasticUpgrade', + 'errorMessage' => 'The instance has active Elastic Upgrade.', + ], + [ + 'errorCode' => 'DISK_IN_DEDICATED_BLOCK_STORAGE_CLUSTER', + 'errorMessage' => 'The disk in dedicated block storage cluster is not allowed to do this operation.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'NoPermission.Refund', + 'errorMessage' => 'The operation requires refund permission. Please apply for permission from your main account.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskMustAttachedToInstance', + 'errorMessage' => 'The specified data disks must have been attached to this instance.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'InvalidOrder.Overdue', + 'errorMessage' => 'The specified account has overdue orders.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType is not supported.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, please try again after 5 minutes.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotFound', + 'errorMessage' => 'The chargeType of the instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDisk', + 'errorMessage' => 'Multi attach disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid orders and does not support the current operation.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified InstanceType or Zone is not available or not authorized.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist.', + ], + [ + 'errorCode' => 'PaymentMethodNotFound', + 'errorMessage' => 'No billing method has been registered on the account.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRamRole.NotFound', + 'errorMessage' => 'The specified parameter "RAMRoleName" does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskIds.NotFound', + 'errorMessage' => 'Some of the specified data disks do not exist.', + ], + [ + 'errorCode' => 'InvalidDiskIds.NotPortable', + 'errorMessage' => 'The specified DiskId is not portable.', + ], + [ + 'errorCode' => 'InvalidDataDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Size" is not supported.', + ], + [ + 'errorCode' => 'InvalidAction.NotSupported', + 'errorMessage' => 'The specified action is not supported.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.NotSupported', + 'errorMessage' => 'The status of the specified instance is invalid.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NOT_FOUND', + 'errorMessage' => 'The specified instance is not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"123456****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 123456****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', + 'title' => '修改云盘的计费方式', + 'description' => '转换数据盘计费方式前,请仔细阅读[转换云盘计费方式](~~145018~~)。'."\n" + ."\n" + .'使用该接口时,请注意:'."\n" + ."\n" + .'- 不支持修改挂载在按量付费实例上数据盘的计费方式,按量付费实例仅支持挂载按量付费云盘。'."\n" + .'- 数据盘挂载的实例不能为到期停机状态。'."\n" + .'- 更换计费方式前后的价格差退款会退还到您的原付费方式中,已使用的代金券不退回。'."\n" + .'- 每块云盘成功修改计费方式一次,五分钟内不能再次修改。 '."\n" + .'- 开启多重挂载特性的云盘,仅支持按量付费的计费方式,不能转换为包年包月的计费方式。'."\n" + ."\n\n" + .'更换计费方式后,默认自动扣费。您需要确保账户余额充足,否则会生成异常订单,此时只能作废订单。如果您的账户余额不足,可以将参数AutoPay置为false,此时会生成正常的未支付订单,您可以登录阿里云**费用与成本**后,在[我的订单](https://usercenter2.aliyun.com/order/list)[订单管理](https://usercenter2-intl.aliyun.com/order/list)页面支付。', + ], + 'ModifyDiskSpec' => [ + 'summary' => '变更一块云盘类型,或者修改一块ESSD云盘的性能级别。ESSD同城冗余云盘、普通云盘、弹性临时盘和本地盘均不支持变更云盘类型。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29058', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘的ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd-bp131n0q38u3a4zi****', + ], + ], + [ + 'name' => 'PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '修改一块ESSD云盘的性能级别。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'默认值:PL1。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL2', + ], + ], + [ + 'name' => 'DiskCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '变更一块云盘的类型。取值范围:'."\n" + ."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .''."\n" + .'- cloud_essd_entry:ESSD Entry云盘。'."\n" + .''."\n" + .'- cloud_efficiency:高效云盘。'."\n" + ."\n" + .'默认值:空,表示不变配云盘。'."\n" + ."\n" + .'> - 以上有效取值按云盘性能降序排列。如果指定的云盘是包年包月云盘,则不允许降配云盘。'."\n" + ."\n" + .''."\n" + .'- ESSD Entry云盘仅支持变配到ESSD云盘和ESSD AutoPL云盘。更多信息,请参见[变更云盘类型](~~161980~~)。'."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_essd', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'* true:发送检查请求。检查项包括是否填写了必需参数、请求格式、业务限制和ECS库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + ."\n" + .'* false:发送正常请求,通过检查后返回2XX HTTP状态码并且直接变配云盘或修改ESSD性能等级。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ProvisionedIops', + 'in' => 'query', + 'schema' => [ + 'description' => '是否修改ESSD AutoPL云盘预配置读写IOPS。'."\n" + ."\n" + .'取值范围:0~min{50000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}。'."\n" + ."\n" + .'> 当`DiskCategory`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)和[修改ESSD AutoPL云盘预配置信息](~~413275~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'minimum' => '0', + 'example' => '50000', + ], + ], + [ + 'name' => 'PerformanceControlOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '磁盘性能控制参数集合。', + 'type' => 'object', + 'properties' => [ + 'IOPS' => [ + 'description' => '目标云盘IOPS。仅支持修改专属存储集群云盘IOPS。'."\n" + ."\n" + .'取值范围:900~单盘最大IOPS,步长100。'."\n" + ."\n\n" + .'更多信息,请参见[云盘性能](~~25382~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + 'Throughput' => [ + 'description' => '目标云盘吞吐量,仅支持修改专属存储集群云盘吞吐量,单位MB/s。'."\n" + ."\n" + .'取值范围:60~单盘最大吞吐量。'."\n" + ."\n" + .'更多信息,请参见[云盘性能](~~25382~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '200', + ], + 'Recover' => [ + 'description' => '重置云盘性能,仅支持专属存储集群云盘。'."\n" + ."\n" + .'设置该参数后,PerformanceControlOptions.IOPS和PerformanceControlOptions.Throughput参数不生效。'."\n" + ."\n\n" + .'目前仅支持设置为All(重置云盘IOPS和吞吐量到初始值)。', + 'type' => 'string', + 'required' => false, + 'example' => 'All', + 'enum' => [ + 'All', + ], + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'DestinationZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数正在邀测中,暂不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TaskId' => [ + 'description' => '变配云盘的任务ID。'."\n" + ."\n" + .'> 如果您只修改了一块ESSD云盘的性能级别,则不会返回该参数。', + 'type' => 'string', + 'example' => 't-bp67acfmxazb4p****', + ], + 'OrderId' => [ + 'description' => '生成的订单ID。'."\n" + ."\n" + .'> 仅在变更或修改包年包月云盘时会返回订单ID。', + 'type' => 'string', + 'example' => '20413515388****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPerformanceLevel.Malformed', + 'errorMessage' => 'The specified parameter PerformanceLevel is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskCategory" is not valid.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevelParam.Mismatch', + 'errorMessage' => 'The specified parameter PerformanceLevel should be null when DiskCategory is not cloud_essd.', + ], + [ + 'errorCode' => 'OperationDenied.DiskInDedicatedBlockStorageCluster', + 'errorMessage' => 'The disk in dedicated block storage cluster is not allowed to do this operation.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.ReplicationStatusNotFound', + 'errorMessage' => 'Disk replication status not found.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.InReplication', + 'errorMessage' => 'Disk already in replication.', + ], + [ + 'errorCode' => 'ProvisionedIopsForDiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not support provisioned iops.', + ], + [ + 'errorCode' => 'InvalidProvisionedIops.LimitExceed', + 'errorMessage' => 'The provisioned iops exceeds the limit.', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'MalformedParameter.PerformanceControlOptions', + 'errorMessage' => 'Parameter invalid, %s.', + ], + [ + 'errorCode' => 'InvalidPerformanceControlOptions.ModifyOperationUnsupported', + 'errorMessage' => 'The specified performance control options are conflicts with disk category or performance level or ProvisionIOPS.', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'NoPermission.Refund', + 'errorMessage' => 'The operation requires refund permission. Please apply for permission from your main account.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceRenewWithDowngradeInPlan', + 'errorMessage' => 'The operation is denied due to the specified instance has renew with downgrade record in plan.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceStatusUnsupported', + 'errorMessage' => 'The specified instance status is not supported for this operation, expect status is Running or Stopped.', + ], + [ + 'errorCode' => 'MissingParameter.DestinationZoneId', + 'errorMessage' => 'The parameter DestinationZoneId must be specified when modifying the disk specification from a regional disk to a zone disk.', + ], + [ + 'errorCode' => 'InvalidDestinationZoneId.Mismatch', + 'errorMessage' => 'The specified DestinationZoneId of the regional disk with \'In-use\' status should remain consistent with the ZoneId of instance.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachRegionalDiskUnsupported', + 'errorMessage' => 'The multi-attach regional disk with \'In-use\' status attached to more than one instance is not allowed to modify disk spec.', + ], + [ + 'errorCode' => 'InvalidDestinationZoneId.DiskCategoryUnsupported', + 'errorMessage' => 'The specified disk category does not allow the DestinationZoneId parameter for this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + ], + 403 => [ + [ + 'errorCode' => 'DiskInArrears', + 'errorMessage' => 'The specified operation is denied as your disk owing fee.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'DiskCreatingSnapshot', + 'errorMessage' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The type of the disk does not support the operation.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.TooLow', + 'errorMessage' => 'Specified new performance level is lower than the original performance level.', + ], + [ + 'errorCode' => 'OperationDenied.PerformanceLevelNotMatch', + 'errorMessage' => 'The specified PerformanceLevel and disk size do not match.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in modify disk category white list.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support modify disk category.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The current disk category of the resource does not support this operation.', + ], + [ + 'errorCode' => 'Downgrade.NotSupported', + 'errorMessage' => 'Downgrade operation for prepay resource is not supported.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportDiskCategory', + 'errorMessage' => 'The instanceType of the specified instance does not support this disk category.', + ], + [ + 'errorCode' => 'ModifyingDiskCategoryLimitExceed', + 'errorMessage' => 'The amount of modifying disk category exceeds the limit.', + ], + [ + 'errorCode' => 'DiskInCoolingPeriod', + 'errorMessage' => 'There is a cooling period after the disk is successfully modified.', + ], + [ + 'errorCode' => 'DiskHasFlashSnapshot', + 'errorMessage' => 'The specified disk with flash snapshots do not support modify disk category.', + ], + [ + 'errorCode' => 'NoChangeInDiskCategoryAndPerformanceLevel', + 'errorMessage' => 'There is no change between the parameters transmitted and the current.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDisk', + 'errorMessage' => 'Multi attach disk does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.DiskExpansionUnfinished', + 'errorMessage' => 'The instance has not been restarted after a previous disk expansion.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.NotSupported', + 'errorMessage' => 'The specified disk category is not supported.', + ], + [ + 'errorCode' => 'InvalidPerformanceParameter.DiskNotInDedicatedStorageCluster', + 'errorMessage' => 'The specified disk not in dedicated storage cluster, can not modify performance control options.', + ], + [ + 'errorCode' => 'InvalidStatus.DiskUnderPerformanceControl', + 'errorMessage' => 'The specified disk is under performance control, any modifications to the category or performance level of the specified disk are unsupported..', + ], + [ + 'errorCode' => 'InvalidStatus.DiskNotReady', + 'errorMessage' => 'This specified disk is not ready, status needs to be either In_use or Available.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskInReplicaPairsUnsupported', + 'errorMessage' => 'The disk in replication pairs does not support this operation.', + ], + [ + 'errorCode' => 'InvalidDisk.DetachedSystemDisk', + 'errorMessage' => 'The specified resource is/has a detached system disk %s , not support current operation.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.InstanceTypeUnsupported', + 'errorMessage' => 'The current instance type does not support the specified disk category. Please check the list of disk category supported by the instance type and select an appropriate disk category for configuration.', + ], + [ + 'errorCode' => 'InvalidOperation.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidOperation.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked for security reasons. Please contact Security Technical Support for assistance.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueUnauthorized', + 'errorMessage' => 'The specified DiskCategory is not authorized.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified InstanceType or Zone is not available or not authorized.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-bp67acfmxazb4p****\\",\\n \\"OrderId\\": \\"20413515388****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n t-bp67acfmxazb4p****\\n 5B38289D-88AB-42BD-B021-12FC6942F099\\n 20413515388****\\n","errorExample":""}]', + 'title' => '变更云盘类型或性能级别', + 'description' => '请确保在使用该接口前,您已充分了解云盘的计费方式和[价格](https://www.aliyun.com/price/product#/disk/detail)。'."\n" + ."\n" + .'为了减少变配操作对您业务带来的影响,请您在业务低峰期进行变配。'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 修改ESSD云盘性能级别:'."\n" + ."\n" + .' - 包年包月ESSD云盘仅支持升级性能级别。'."\n" + ."\n" + .' - 按量付费ESSD云盘支持升级和降低性能级别,但不支持降配到PL0。'."\n" + ."\n" + .' - ESSD云盘的状态必须是**使用中**(In_use)状态或者**待挂载**(Available)状态。'."\n" + ."\n" + .' - 若ESSD云盘已挂载到ECS实例上,实例必须处于**运行中**(Running)状态或者**已停止**(Stopped)状态,不能处于过期或者账号欠费状态。'."\n" + ."\n" + .' - 由于ESSD云盘性能级别受容量限制,如果您无法升级性能级别,可以扩容([ResizeDisk](~~25522~~))后重新操作。更多信息,请参见[ESSD云盘](~~122389~~)。'."\n" + .'- 变更一块云盘类型的注意事项,请参见[变更云盘类型](~~161980#section_s4a_to0_1jx~~)。'."\n" + .'- 不同类型的云盘支持变配的情况,请参见[云盘支持变配情况](~~161980#eb8bb54032nho~~)。'."\n" + .'* 开启多重挂载特性的云盘不支持云盘变配。'."\n" + ."\n" + .'云盘变配后,计费变化情况如下:'."\n" + ."\n" + .'- 按量付费云盘:按照新的云盘类型计费。'."\n" + ."\n" + .'- 包年包月云盘:在计费周期内,会根据新旧配置的价格差和剩余天数(从次日0点到有效期结束)来计算应补缴的费用。'."\n" + ."\n" + .'关于云盘的计费信息,请参见[块存储计费](~~179022~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReplaceSystemDisk' => [ + 'summary' => '通过更换ECS实例系统盘的方式更换操作系统。更换后系统盘的云盘ID将发生变化,原云盘会被释放。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29160', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定实例的ID。'."\n" + ."\n" + .'>发起请求之前请确保目标实例状态为`已停止`(`Stopped`)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '重置系统时使用的镜像ID。该参数为必填参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'm-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '新的系统盘容量,单位为GiB。取值范围:'."\n" + ."\n" + .'- 普通云盘:Max{20, 参数ImageId对应的镜像大小}~500。'."\n" + .'- ESSD云盘:'."\n" + .' - PL0:Max{1, 参数 ImageId 对应的镜像大小}~2048。'."\n" + .' - PL1:Max{20, 参数 ImageId 对应的镜像大小}~2048。'."\n" + .' - PL2:Max{461, 参数 ImageId 对应的镜像大小}~2048。'."\n" + .' - PL3:Max{1261, 参数 ImageId 对应的镜像大小}~2048。'."\n" + .'- ESSD AutoPL 云盘:Max{1, 参数 ImageId 对应的镜像大小}~2048。'."\n" + .'- 其他云盘:Max{20, 参数ImageId对应的镜像大小}~2048。'."\n" + ."\n" + .'默认值:Max{40, 参数ImageId对应的镜像大小}。'."\n" + ."\n" + .'> 超过`Max{20, 更换前的系统盘容量}`的云盘容量部分,将收取额外费用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'UseAdditionalService', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用阿里云提供的虚拟机系统配置(Windows:NTP、KMS;Linux:NTP、YUM)。'."\n" + ."\n" + .'> 挂载系统盘时(即设备名为/dev/xvda)有效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => [ + 'description' => '是否重置ECS实例的用户名密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:'."\n" + ."\n" + .'```'."\n" + .'()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/'."\n" + .'```'."\n" + ."\n" + .'其中,Windows实例不能以斜线号(/)为密码首字符。'."\n" + ."\n" + .'默认值:保持不变。'."\n" + ."\n" + .'> 如果传入`Password`参数,建议您使用HTTPS协议发送请求,避免密码泄露。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsV587!', + ], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用镜像预设的密码。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 使用该参数时,Password参数必须为空。同时您需要确保使用的镜像已经设置了密码。 '."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。 '."\n" + ."\n" + .'> 该参数仅对Linux系统ECS实例生效。您可以为ECS实例绑定一个SSH密钥对,作为登录凭证。使用了SSH密钥对后,用户名密码的登录凭证方式将被禁用。', + 'type' => 'string', + 'required' => false, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数已废弃,为提高兼容性,建议您使用 `ImageId`。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '> 已弃用。', + 'type' => 'string', + 'required' => false, + 'example' => 'CentOS', + ], + ], + [ + 'name' => 'Architecture', + 'in' => 'query', + 'schema' => [ + 'description' => '> 已弃用。', + 'type' => 'string', + 'required' => false, + 'example' => 'i386', + ], + ], + [ + 'name' => 'SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '更换系统盘后,是否免费使用云安全中心服务。取值范围: '."\n" + ."\n" + .'- Active:使用。该值仅支持公共镜像。'."\n" + ."\n" + .'- Deactive:不使用。该值支持所有镜像。'."\n" + ."\n" + .'默认值:Deactive。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '是否加密云盘。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n\n" + .'默认值:false。'."\n" + ."\n" + .'>当使用共享加密镜像,创建基于加密快照的云盘时,必须指定该云盘的请求参数Encrypted=true,以确保创建出的云盘使用的是被共享方自己的密钥。>', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘对应的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'e522b26d-abf6-4e0d-b5da-04b7******3c', + 'maxLength' => 64, + ], + ], + [ + 'name' => 'EncryptAlgorithm', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + [ + 'name' => 'Arn', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RoleType' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Rolearn' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'AssumeRoleFor' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DiskId' => [ + 'description' => '新系统盘的云盘ID。', + 'type' => 'string', + 'example' => 'd-bp67acfmxazb4ph****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'LoginAsNonRoot.ImageNotSupport', + 'errorMessage' => 'The specified image does not support login as non-root.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ValueNotSupported', + 'errorMessage' => 'The specified parameter SystemDisk.Size is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified image does not support the specified instance type.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.ImageNotSupportResize', + 'errorMessage' => 'The specified image does not support resize.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is invalid.', + ], + [ + 'errorCode' => 'InvalidPassword.Malformed', + 'errorMessage' => 'The specified parameter "Password" is not valid.', + ], + [ + 'errorCode' => 'InvalidPasswordParam.Mismatch', + 'errorMessage' => 'The input password should be null when passwdInherit is true.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified image contains the snapshot of the data disk,does not support this operation.', + ], + [ + 'errorCode' => 'InvalidDiskCategory.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DiskCategory" is not valid.', + ], + [ + 'errorCode' => 'InvalidKeyPairName.NotFound', + 'errorMessage' => 'The specified KeyPairName does not exist.', + ], + [ + 'errorCode' => 'DependencyViolation.IoOptimize', + 'errorMessage' => 'The specified parameter InstanceId is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.Architecture', + 'errorMessage' => 'Architecture should not be null.', + ], + [ + 'errorCode' => 'InvalidArchitecture.Malformed', + 'errorMessage' => 'Architecture is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.Platform', + 'errorMessage' => 'Platform should not be null.', + ], + [ + 'errorCode' => 'InvalidPlatform.Malformed', + 'errorMessage' => 'Platform is not valid.', + ], + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk do not exist.', + ], + [ + 'errorCode' => 'InvalidDatadisk.DiskStatusViolation', + 'errorMessage' => 'The operation is not permitted due to status of the Datadisk.', + ], + [ + 'errorCode' => 'InvalidDatadisk.DiskCategoryViolation', + 'errorMessage' => 'The operation is not permitted due to category of the Datadisk.', + ], + [ + 'errorCode' => 'InvalidDatadisk.ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the Datadisk.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "ImageId" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFoundSystemDisk', + 'errorMessage' => 'The specified instance has no system disk.', + ], + [ + 'errorCode' => 'InvalidParameter.DiskType', + 'errorMessage' => 'The specified disk type which has kms key can\'t convert to system disk.', + ], + [ + 'errorCode' => 'DISK_IN_DEDICATED_BLOCK_STORAGE_CLUSTER', + 'errorMessage' => 'The disk in dedicated block storage cluster is not allowed to do this operation.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.ReplicationStatusNotFound', + 'errorMessage' => 'Disk replication status not found.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.InReplication', + 'errorMessage' => 'Disk already in replication.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified instanceType is not supported by the image architecture.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportReplaceEncryptedSystemDisk', + 'errorMessage' => 'The specified region not support replace encrypted system disk.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.CapacityNotEnough', + 'errorMessage' => 'The remaining capacity of the current dedicated storage cluster is less than the size of disk.', + ], + [ + 'errorCode' => 'QuotaExceed.DiskCapacity', + 'errorMessage' => 'The used capacity of disk type has exceeded the quota in the zone, %s.', + ], + [ + 'errorCode' => 'AccountForbidden.ProductCreationLimited', + 'errorMessage' => 'The commodity must be officially operated by Aliyun and in pay-as-you-go billing method.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The requested services is not available now. Please try again later.', + ], + [ + 'errorCode' => 'InvalidDiskName.Malformed', + 'errorMessage' => 'The specified parameter "SyatemDisk.DiskName or DataDisk.n.DiskName" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted', + 'errorMessage' => 'Creating non-encrypted disks with encrypted snapshots is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'LoginAsNonRoot.RegionNotSupport', + 'errorMessage' => 'The specified region does not support login as non-root.', + ], + [ + 'errorCode' => 'InvalidSystemDiskStatus.IsTransfering', + 'errorMessage' => 'The current status of the resource does not support this operation, system disk is transfering.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked due to security.', + ], + [ + 'errorCode' => 'ImageNotSubscribed', + 'errorMessage' => 'The specified image has not be subscribed.', + ], + [ + 'errorCode' => 'ImageRemovedInMarket', + 'errorMessage' => 'The specified market image is not available, Or the specified user defined image includes product code because it is based on an image subscribed from marketplace, and that image in marketplace includeing exact the same product code has been removed.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + [ + 'errorCode' => 'DiskCreatingSnapshot', + 'errorMessage' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', + ], + [ + 'errorCode' => 'IoOptimized.NotSupported', + 'errorMessage' => 'The specified image is not support IoOptimized Instance.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified image don not support the InstanceType instance.', + ], + [ + 'errorCode' => 'QuotaExceed.BuyImage', + 'errorMessage' => 'The specified image is from the image market,You have not bought it or your quota has been exceeded.', + ], + [ + 'errorCode' => 'INST_HAS_UNPAID_ORDER', + 'errorMessage' => 'The instance has unpaid order.', + ], + [ + 'errorCode' => 'OperationDenied.InstanceCreating', + 'errorMessage' => 'The specified instance is creating.', + ], + [ + 'errorCode' => 'DependencyViolation.WindowsInstance', + 'errorMessage' => 'The instance creating is windows, cannot use ssh key pair to login.', + ], + [ + 'errorCode' => 'InvalidParameter.NotMatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ResourcesNotInSameZone', + 'errorMessage' => 'The specified instance and disk are not in the same zone.', + ], + [ + 'errorCode' => 'OperationDenied.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'InvalidHostname.MismatchImage', + 'errorMessage' => 'The hostname of the current instance can not be applied to the image you choose.', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDisk', + 'errorMessage' => 'Multi attach disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportEncryptAlgorithm', + 'errorMessage' => 'The current region does not support creating encrypted disks with EncryptAlgorithm.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotExists', + 'errorMessage' => 'The region not exists.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchKmsKeyId', + 'errorMessage' => 'The specified parameter Encrypted must be true when KmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchEncryptAlgorithm', + 'errorMessage' => 'The specified parameter Encrypted must be true when EncryptAlgorithm is not empty.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'The specified operation need enable KMS.', + ], + [ + 'errorCode' => 'InvalidParameter.DataEncryptedKeyCreateFailed', + 'errorMessage' => 'Create kms data encrypted key fail. If you need further assistance, you can contact the KMS Technical Support.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotSymmetric', + 'errorMessage' => 'The specified parameter KmsKeyId must be symmetric.', + ], + [ + 'errorCode' => 'InvalidDiskId.NotSupportReplaceEncryptedSystemDisk', + 'errorMessage' => 'The specified diskId not support replace encrypted system disk.', + ], + [ + 'errorCode' => 'NotSupportSnapshotEncrypted.DiskCategory', + 'errorMessage' => 'The specified disk category does not support creating encrypted system disks or creating encrypted data disks from snapshots. Check the DiskCategory or Encrypted parameter, or check your account for default encryption settings.', + ], + [ + 'errorCode' => 'InvalidParameter.AllEmpty', + 'errorMessage' => 'The current operation does not allow both diskId and imageId to be empty. Make sure that either diskId or imageId is not empty.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The current operation does not allow both diskId and imageId to be set. Make sure that either diskId or imageId is not empty.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The current region does not support changing the image type.', + ], + [ + 'errorCode' => 'OperationDenied.ImageNotValid', + 'errorMessage' => 'The specified Image is disabled or deleted, please check the status of the image.', + ], + [ + 'errorCode' => 'OperationDenied.DiskNoStock', + 'errorMessage' => 'The requested disk category is sold out in the specified zone. Please try a different disk category or another zone.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchSnapshot', + 'errorMessage' => 'The specified parameter Encrypted must be set to true when creating disks with encrypted snapshots.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchDiskDefaultEncryption', + 'errorMessage' => 'Enabling disk default encryption prevents the creation of non-encrypted disks.', + ], + [ + 'errorCode' => 'InvalidPayMethod.SyncPaymentNotSupport', + 'errorMessage' => 'Synchronous payment is not supported. Use another payment method.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.MoreThanMaxSize', + 'errorMessage' => 'The specified SystemDisk.Size parameter exceeds the maximum size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanImageSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the image size.', + ], + [ + 'errorCode' => 'InvalidSystemDiskSize.LessThanMinSize', + 'errorMessage' => 'The specified parameter SystemDisk.Size is less than the min size.', + ], + [ + 'errorCode' => 'NoSuchResource', + 'errorMessage' => 'The specified resource is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Internal Error.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DiskId\\": \\"d-bp67acfmxazb4ph****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"337568C5-64F3-4B76-8CDD-D3D8C57B5B8C\\",\\n \\"DiskId\\":\\"d-j6cam2z21u4ks3dj6flb\\"\\n}"},{"type":"xml","example":"\\n d-bp67acfmxazb4ph****\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n","errorExample":"\\n d-23jbf2v5m\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n"}]', + 'title' => '更换系统盘(更换操作系统)', + 'description' => '调用该接口前请您仔细阅读[更换系统盘(更换操作系统)](~~50134~~)。'."\n" + ."\n" + .'更换系统盘时,您需要注意:'."\n" + ."\n" + .'- 不支持变更系统盘计费方式。'."\n" + .'- 不支持更换系统盘的云盘类型。'."\n" + ."\n" + .'- 系统盘挂载的ECS实例不能有未支付的订单。 '."\n" + .' '."\n" + .'- 实例的状态必须为已停止(`Stopped`)状态。'."\n" + ."\n" + .' > 仅适用于专有网络VPC类型实例。如果ECS实例为按量付费计费模式,且开启默认启用节省停机模式,为防止地域范围内的ECS实例库存不足,引起的更换系统盘后无法重启实例。您需要在停止该实例时设置为普通停机模式。具体操作,请参见[StopInstance](~~25501~~)。 '."\n" + ."\n" + .'- 您可以通过参数`SystemDisk.Size`重新指定系统盘的容量大小(不能低于原系统盘容量)。'."\n" + ."\n" + .'- ECS实例被安全锁定,即实例的`OperationLocks`参数值包含`"LockReason": "security"`,不支持更换系统盘。更多信息,请参见[安全锁定时的API行为](~~25695~~)。'."\n" + ."\n" + .'更换系统盘后,可通过[DescribeInstances](~~25506~~)接口查询更换系统盘的实例的状态验证是否更换成功。如果返回值`OperationLocks`为空,则表示更换系统盘的操作已完成。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ResetDisk' => [ + 'summary' => '使用云盘快照,将云盘回滚到之前某一特定的历史状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '29163', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '待回滚的云盘ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'd-bp199lyny9b3****', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要回滚的云盘某一阶段的历史快照ID。', + 'type' => 'string', + 'required' => true, + 'example' => 's-bp199lyny9b3****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否预检本次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会直接回滚云盘。检查项包括是否填写了必选参数、请求格式和资源状态限制。如果检查不通过,则返回对应错误信息。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后直接发起云盘回滚操作。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F3CD6886-D8D0-4FEE-B93E-1B732396****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The operation is not supported to the specified disk due to its disk category.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The requested services is not available now. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked due to security.', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'The specified snapshot is not created from the specified disk.', + ], + [ + 'errorCode' => 'InvalidSnapshot.TooOld', + 'errorMessage' => 'The snapshotId is created before 2013-07-15, it cannot be restored since the first time the disk detached.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified snapshot dees not support ResetDisk.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'Operation.Conflict', + 'errorMessage' => 'The operation may conflicts with others.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.HasUnfinishedSnapshot', + 'errorMessage' => 'The current disk has unfinished snapshot.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskResetInProgress', + 'errorMessage' => 'The operation cannot be performed because the disk has an ongoing reset task, please try again later.', + ], + ], + [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'Disk.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified SnapshotId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F3CD6886-D8D0-4FEE-B93E-1B732396****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B732396****\\n","errorExample":""}]', + 'title' => '使用快照回滚云盘', + 'description' => '调用该接口前,请您仔细阅读[使用快照回滚云盘](~~25450~~)。'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 云盘的状态必须为使用中(`In_use`)或空闲(`Available`)的状态。 '."\n" + .'- 云盘挂载的实例的状态必须为已停止(`Stopped`)。您可以调用[StopInstances](~~155372~~)停止实例。 '."\n" + .'- 指定的参数`SnapshotId`必须是由`DiskId`创建的历史快照。 '."\n" + .'- 通过[DescribeInstances](~~25506~~)查询ECS实例信息时,如果返回数据中包含`{"OperationLocks": {"LockReason" : "security"}}`,则禁止一切操作。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ResetDisks' => [ + 'summary' => '通过实例快照回滚一个或多个云盘。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29164', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否预检本次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会直接回滚云盘。检查项包括是否填写了必选参数、请求格式和资源状态限制。如果检查不通过,则返回对应错误信息。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后直接发起云盘回滚操作。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Disk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '云盘列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SnapshotId' => [ + 'description' => '实例快照中,指定云盘对应的快照ID。N的取值范围为1~10。', + 'type' => 'string', + 'required' => false, + 'example' => 's-j6cdofbycydvg7ey****', + ], + 'DiskId' => [ + 'description' => '指定待回滚的云盘ID。N的取值范围为1~10。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-j6cf7l0ewidb78lq****', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 16, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '3D66C85C-AA97-4A00-B0ED-2D9A80FE782C', + ], + 'OperationProgressSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OperationProgress' => [ + 'description' => '回滚一个或多个云盘时的操作状态信息合集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ErrorMsg' => [ + 'description' => '错误信息。回滚成功时返回空值。'."\n" + ."\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.alibabacloud.com/status/product/Ecs)。'."\n" + ."\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.aliyun.com/status/product/Ecs)。'."\n", + 'type' => 'string', + 'example' => 'testErrorMsg', + ], + 'ErrorCode' => [ + 'description' => '错误码。回滚成功时返回空值。'."\n" + ."\n\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.alibabacloud.com/status/product/Ecs)。'."\n" + ."\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.aliyun.com/status/product/Ecs)。'."\n", + 'type' => 'string', + 'example' => '400', + ], + 'OperationStatus' => [ + 'description' => '操作是否成功。'."\n" + .'成功返回Success,失败返回ErrorCode和ErrorMsg信息。', + 'type' => 'string', + 'example' => 'Success', + ], + 'RelatedItemSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RelatedItem' => [ + 'description' => '资源信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '资源名称。', + 'type' => 'string', + 'example' => 'SnapshotId', + ], + 'Value' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 's-j6cdofbycydvg7ey****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The operation is not supported to the specified disk due to its disk category.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked due to security.', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'The specified snapshot is not created from the specified disk.', + ], + [ + 'errorCode' => 'InvalidSnapshot.TooOld', + 'errorMessage' => 'The snapshotId is created before 2013-07-15, it cannot be restored since the first time the disk detached.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified snapshot dees not support ResetDisk.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'Operation.Conflict', + 'errorMessage' => 'The operation may conflicts with others.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.HasUnfinishedSnapshot', + 'errorMessage' => 'The current disk has unfinished snapshot.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support resetting disks.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDisk', + 'errorMessage' => 'Multi attach disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidDisk.ShareVolume', + 'errorMessage' => 'The specified diskId is invalid. The shared volume does not support creating a snapshot group.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'Disk.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified SnapshotId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSnapshot.NotFound', + 'errorMessage' => 'The SnapshotId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3D66C85C-AA97-4A00-B0ED-2D9A80FE782C\\",\\n \\"OperationProgressSet\\": {\\n \\"OperationProgress\\": [\\n {\\n \\"ErrorMsg\\": \\"testErrorMsg\\",\\n \\"ErrorCode\\": \\"400\\",\\n \\"OperationStatus\\": \\"Success\\",\\n \\"RelatedItemSet\\": {\\n \\"RelatedItem\\": [\\n {\\n \\"Name\\": \\"SnapshotId\\",\\n \\"Value\\": \\"s-j6cdofbycydvg7ey****\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 5C4160C1-C77D-4FD0-9C47-DB9FFA3D1220\\n \\n \\n Success\\n \\n \\n \\n s-j6cdofbycydvg7ey****\\n SnapshotId\\n \\n \\n d-j6cf7l0ewidb78lq****\\n DiskId\\n \\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '批量重置磁盘', + 'description' => '该接口即将废弃,建议您使用[ResetDisk](~~25520~~)回滚云盘。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReInitDisk' => [ + 'summary' => '重新初始化一块磁盘至创建时的初始状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29142', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '待初始化的磁盘ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'd-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => [ + 'description' => '重新初始化系统盘时,是否重置ECS实例的用户名密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:'."\n" + ."\n" + .'```'."\n" + .'()`~!@#$%^&*-_+=|{}[]:;\'<>,.?/'."\n" + .'```'."\n" + ."\n" + .'其中,Windows实例不能以斜线号(/)为密码首字符。'."\n" + ."\n" + .'> 如果传入`Password`参数,建议您使用HTTPS协议发送请求,避免密码泄露。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsV587!', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。'."\n" + ."\n" + .'> 该参数仅适用于Linux实例。重新初始化系统盘时,您可以为ECS实例绑定一个SSH密钥对,作为登录凭证。使用了SSH密钥对后,用户名密码的登录凭证方式将被禁用。', + 'type' => 'string', + 'required' => false, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'AutoStartInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '重新初始化磁盘后,是否自动启动实例。取值范围:'."\n" + ."\n" + .'- true:是,自动启动实例。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + ], + ], + [ + 'name' => 'SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '当指定的云盘为系统盘时,重新初始化云盘后是否免费使用云安全中心服务。取值范围: '."\n" + .' '."\n" + .'- Active:使用。该值仅支持公共镜像。 '."\n" + ."\n" + .'- Deactive:不使用。该值支持所有镜像。 '."\n" + ."\n" + .'默认值:Deactive。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'LoginAsNonRoot.ImageNotSupport', + 'errorMessage' => 'The specified image does not support login as non-root.', + ], + [ + 'errorCode' => 'DiskHasSnapshotsWithInstantAccessEnabled.OperationNotSupported', + 'errorMessage' => 'The operation is not supported to the specified disk that have snapshots with InstantAccess enabled.', + ], + [ + 'errorCode' => 'InvalidPassword.Malformed', + 'errorMessage' => 'The specified parameter "Password" is not valid.', + ], + [ + 'errorCode' => 'InvalidKeyPairName.NotFound', + 'errorMessage' => 'The specified KeyPairName does not exist.', + ], + [ + 'errorCode' => 'DependencyViolation.IoOptimize', + 'errorMessage' => 'The specified parameter InstanceId is not valid.', + ], + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The operation is not supported to the specified disk due to its disk category.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'LoginAsNonRoot.RegionNotSupport', + 'errorMessage' => 'The specified region does not support login as non-root.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The instance is locked due to security.', + ], + [ + 'errorCode' => 'InvalidSnapshot.TooOld', + 'errorMessage' => 'The disk is created from a snapshotId made before 2013-07-15, it cannot be re-initiated the specified disk any more since the detached first time.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The snapshot which is used to create the specified disk has been deleted.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'DiskCreatingSnapshot', + 'errorMessage' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', + ], + [ + 'errorCode' => 'SharedImageDeleted', + 'errorMessage' => 'The specified image by others shared is deleted.', + ], + [ + 'errorCode' => 'DependencyViolation.WindowsInstance', + 'errorMessage' => 'The instance creating is windows, cannot use ssh key pair to login.', + ], + [ + 'errorCode' => 'InvalidDisk.DiskFromClonedNotSupport', + 'errorMessage' => 'The specified disk %s is cloned from source disk %s, so not support reinit', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in volume white list.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDisk', + 'errorMessage' => 'Multi attach disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidSourceSnapshot', + 'errorMessage' => 'The source snapshot of the disk has been deleted and cannot support the current operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidImageId.NotFound', + 'errorMessage' => 'The specified ImageId does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskId.OperationNotSupported', + 'errorMessage' => 'The operation is not supported due to image not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\"\\n}"},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n","errorExample":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n"}]', + 'title' => '初始化磁盘至创建时的初始状态', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 磁盘的状态必须为**使用中**(`In_use`),云盘挂载的ECS实例的状态必须为**已停止**(`Stopped`)。'."\n" + .'- 实例首次启动前,不能重新初始化挂载在其上的磁盘。'."\n" + .'- 已存在本地快照的云盘,不能重新初始化。'."\n" + .'- 开启多重挂载特性的云盘,不能重新初始化。'."\n" + .'- 对于系统盘,初始化到镜像的最初状态。若创建云盘的源镜像被删除,则无法初始化。'."\n" + .'- 对于直接创建的数据盘,初始化到空盘状态;对于通过快照创建的数据盘,初始化到快照状态。若源快照已被删除,则无法初始化并返回错误。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDiskDeployment' => [ + 'summary' => '将云盘迁入、迁出专属块存储集群,或将云盘在不同专属块存储集群之间迁移。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '172533', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'd-bp131n0q38u3a4zi****', + ], + ], + [ + 'name' => 'DiskCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '变更云盘类型,仅在不同专属块存储集群之间迁移时有效。当前仅支持cloud_essd(ESSD云盘)。'."\n" + ."\n" + .'默认值:空,表示不变配云盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_essd', + ], + ], + [ + 'name' => 'PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '修改ESSD云盘的性能级别,仅在不同专属块存储集群之间迁移时有效。取值范围:'."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + ."\n" + .'默认值:空,表示不修改性能级别。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'StorageClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专属块存储集群ID。'."\n" + .'- 迁移至专属块存储集群时,必须指定`StorageClusterId`。'."\n" + .'- 迁移至公共云块存储集群时,`StorageClusterId`必须为空。'."\n" + ."\n" + .'默认值:空,表示迁移至公共云块存储集群。', + 'type' => 'string', + 'required' => false, + 'example' => 'dbsc-cn-c4d2uea****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + .'- true:发送检查请求。检查项包括是否填写了必需参数、请求格式、业务限制和ECS库存。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。'."\n" + .'- false:发送正常请求,通过检查后返回2XX HTTP状态码并且直接迁移云盘。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D69846D9-F17F-51C0-8AC6-B4B71777****', + ], + 'TaskId' => [ + 'description' => '云盘迁移的任务ID。', + 'type' => 'string', + 'example' => 't-bp67acfmxazb4p****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDiskSpec.Malformed', + 'errorMessage' => 'The specified parameter DiskCategory or PerformanceLevel is not supported.', + ], + [ + 'errorCode' => 'AccountInArrears', + 'errorMessage' => 'The account is in arrears.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.DiskAlreadyInDestination', + 'errorMessage' => 'The specified disk is already in destination.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'DiskCreatingSnapshot', + 'errorMessage' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', + ], + [ + 'errorCode' => 'InvalidOperation.DiskTypeUnsupported', + 'errorMessage' => 'The type of the disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.ChargeTypeUnsupported', + 'errorMessage' => 'The charge type of the disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidPerformanceLevel.DiskSizeUnsupported', + 'errorMessage' => 'The specified parameter PerformanceLevel does not match the disk size.', + ], + [ + 'errorCode' => 'DiskLimitExceeded', + 'errorMessage' => 'The number of migrated disks at the same time exceeds the limit.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDisk', + 'errorMessage' => 'Multi attach disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidDisk.DetachedSystemDisk', + 'errorMessage' => 'The specified resource is/has a detached system disk %s , not support current operation.', + ], + [ + 'errorCode' => 'InvalidOperation.NoPermission', + 'errorMessage' => 'You are not authorized to do this action.', + ], + [ + 'errorCode' => 'InvalidOperation.LimitQosUnsupported', + 'errorMessage' => 'The specified disk has limited bps or iops, can not do this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.AcrossRegionsOrZonesUnsupported', + 'errorMessage' => 'Migration across regions or available zones is not supported.', + ], + [ + 'errorCode' => 'InvalidOperation.AttachedShareDisk', + 'errorMessage' => 'Attached share disk does not support this operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + [ + 'errorCode' => 'InvalidStorageClusterId.NotFound', + 'errorMessage' => 'The specified dedicated block storage cluster does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::DescribeTasks', + 'callbackInterval' => 300000, + 'maxCallbackTimes' => 900, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D69846D9-F17F-51C0-8AC6-B4B71777****\\",\\n \\"TaskId\\": \\"t-bp67acfmxazb4p****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n D69846D9-F17F-51C0-8AC6-B4B71777****\\n t-bp67acfmxazb4p****\\n","errorExample":""}]', + 'title' => '迁移云盘', + 'description' => '> 专属块存储集群功能目前支持华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、印度尼西亚(雅加达)、德国(法兰克福)以及华南1 金融云地域。'."\n" + ."\n" + .'请确保在使用该接口前,您已充分了解云盘和专属块存储集群的计费方式和价格,并且专属块存储集群未到期,账号未处于欠费状态。更多信息,请参见[专属块存储计费](~~208883~~)和[块存储计费](~~179022~~)。'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + .'- 云盘和专属块存储集群必须在同一个可用区。'."\n" + .'- 仅支持按量付费云盘,包年包月云盘需要先转成按量付费。具体操作,请参见[转换云盘计费方式](~~145018~~)。'."\n" + .'- 迁移时云盘规格需要和目标集群支持的云盘规格保持一致,当在不同专属块存储集群之间迁移时允许变更云盘规格,使其和目标集群支持的云盘规格保持一致。'."\n" + .'- 云盘的状态必须是**使用中**(In_use)状态或者**待挂载**(Available)状态。'."\n" + .'- 若云盘已挂载到ECS实例上,实例必须处于**运行中**(Running)状态或者**已停止**(Stopped)状态,ECS实例不能处于已过期状态。'."\n" + .'- 由于ESSD云盘性能级别受容量限制,如果您无法升级性能级别,可以扩容后重新操作。更多信息,请参见[ResizeDisk](~~25522~~)和[ESSD云盘](~~122389~~)。'."\n" + .'- 一个账号在同一地域内最多同时进行5个云盘迁移任务。'."\n" + .'- 迁移过程中不允许取消迁移、创建快照、变配、扩容、挂载、卸载、重新初始化云盘等操作。'."\n" + ."\n" + .'> 云盘迁移后遵循目标集群对应的计费方式、云盘规格和能力,调用接口后立即生效,阿里云按照新的云盘类型及云盘性能级别进行计费。更多信息,请参见[专属块存储计费](~~208883~~)和[块存储计费](~~179022~~)。', + ], + 'DeleteDisk' => [ + 'summary' => '释放一块按量付费数据盘。磁盘类型包括普通云盘、高效云盘、SSD云盘和ESSD云盘。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28863', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要释放的云盘设备ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'd-bp14k9cxvr5uzy5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'DiskNotPortable', + 'errorMessage' => 'The specified disk is not a portable disk.', + ], + [ + 'errorCode' => 'DiskTypeViolation', + 'errorMessage' => 'The specified disk is a system disk and cannot support the operation.', + ], + [ + 'errorCode' => 'DiskCreatingSnapshot', + 'errorMessage' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.Initializing', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'DiskStillAttached', + 'errorMessage' => 'The disk is still attached to the disk.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidDiskStatus.DeleteProtection', + 'errorMessage' => 'The specified disk is under delete protection, can not be deleted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}"},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n"}]', + 'title' => '释放按量付费数据盘', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 您的磁盘手动快照会被保留。'."\n" + .'- 您可以通过[ModifyDiskAttribute](~~25517~~)设置是否保留或者同时释放自动快照。建议您及时删除不必要的快照,以保持足够的快照额度完成周期性的自动快照策略。'."\n" + .'- 释放磁盘时,云盘的状态必须为待挂载(Available)。'."\n" + .'- 如果指定ID的磁盘不存在,请求将被忽略。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'EnableDiskEncryptionByDefault' => [ + 'summary' => '开启指定地域块存储账号级默认加密。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '201495', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Schema of Response。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', + 'errorMessage' => 'KMS must be enabled for encrypted disks.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Abs.InvalidAction.RegionNotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'InvalidOperation.DefaultEncryptionAlreadyEnabled', + 'errorMessage' => 'The specified region is already default encryption settings.', + ], + [ + 'errorCode' => 'InvalidParameter.RegionIdNotExists', + 'errorMessage' => 'The specified region does not exists.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSKeyIdNotFound', + 'errorMessage' => 'The specified KMSKeyId not found, %s.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSServiceNotOpen', + 'errorMessage' => 'KMS service is currently not open.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '开启块存储账号级默认加密', + 'description' => ''."\n" + ."\n" + .'> EBS账号级默认加密功能当前仅对部分地域和用户开放,若您有使用需求,请[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'> EBS账号级默认加密功能当前仅对部分地域和用户开放,若您有使用需求,请[提交工单](https://smartservice.console.aliyun.com/service/create-ticket-intl)。'."\n" + ."\n" + .''."\n" + ."\n" + .'- **使用须知**'."\n" + .' - RAM用户(子账号)需要`AliyunECSFullAccess`权限,具体授权操作,请参见[为RAM用户授权](~~116146~~)。'."\n" + .' - 开启块存储账号级默认加密前,您需要先[开通KMS产品服务](~~480156~~)。'."\n" + .' - 开启块存储账号级默认加密后,限制只能新购加密云盘,详情见[加密云盘_使用限制](~~59643#50de175230erj~~)。'."\n" + ."\n" + .'- **注意事项**'."\n" + .' - 开启块存储账号级默认加密后,新购的按量付费或包年包月云盘都必须是加密云盘,您可以使用块存储账号级默认加密配置的KMS密钥ID,也可以修改成其他任意的KMS密钥ID。'."\n" + ."\n" + .' - 首次启用块存储账号级默认加密时,默认使用服务密钥。'."\n" + ."\n" + .'- **使用建议**'."\n" + .' - 您可以通过 [DescribeDiskEncryptionByDefaultStatus](~~2851493~~) 和 [DescribeDiskDefaultKMSKeyId](~~2851490~~) 查询指定地域块存储账号级默认加密功能是否开启以及使用的KMS密钥ID。'."\n" + .' - 您可以通过 [ModifyDiskDefaultKMSKeyId](~~2851492~~) 或 [ResetDiskDefaultKMSKeyId](~~2851539~~) 修改或重置块存储账号级默认加密的KMS密钥。'."\n" + .' - 您可以通过 [DisableDiskEncryptionByDefault](~~2851491~~) 关闭指定地域块存储账号级默认加密功能。', + ], + 'DescribeDiskEncryptionByDefaultStatus' => [ + 'summary' => '查询指定地域块存储账号级默认加密的服务状态。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '201499', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Encrypted' => [ + 'description' => '是否开启块存储账号级默认加密'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值false。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter.RegionIdNotExists', + 'errorMessage' => 'The specified region does not exists.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Encrypted\\": false\\n}","type":"json"}]', + 'title' => '查询块存储账号级默认加密的服务状态', + ], + 'DescribeDiskDefaultKMSKeyId' => [ + 'summary' => '查询块存储账号级默认加密使用的密钥。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '201500', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'KMSKeyId' => [ + 'description' => 'KMS密钥ID。', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter.RegionIdNotExists', + 'errorMessage' => 'The specified region does not exists.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\"\\n}","type":"json"}]', + 'title' => '查询块存储账号级默认加密使用的密钥', + ], + 'ModifyDiskDefaultKMSKeyId' => [ + 'summary' => '修改指定地域块存储账号级默认加密使用的KMS密钥ID。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '201497', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'KMS密钥ID。', + 'type' => 'string', + 'required' => true, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回信息合集。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', + 'errorMessage' => 'KMS must be enabled for encrypted disks.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Abs.InvalidAction.RegionNotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'InvalidParameter.RegionIdNotExists', + 'errorMessage' => 'The specified region does not exists.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSKeyIdNotFound', + 'errorMessage' => 'The specified KMSKeyId not found, %s.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSServiceNotOpen', + 'errorMessage' => 'KMS service is currently not open.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidDefaultEncryption.NotFound', + 'errorMessage' => 'You have not configured default encryption setting in this region.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '修改块存储账号级默认加密使用的密钥', + 'description' => '- RAM用户(子账号)需要`AliyunECSFullAccess`权限,具体授权操作,请参见[为RAM用户授权](~~116146~~)。'."\n" + .'- 指定地域需要开启块存储账号级默认加密功能。'."\n" + .'- 首次使用主密钥,需要先为ECS授权`AliyunECSDiskEncryptDefaultRole`角色,允许ECS访问KMS资源,详情见[通过RAM角色授予访问KMS密钥的权限](~~2838993~~)。', + ], + 'ResetDiskDefaultKMSKeyId' => [ + 'summary' => '将指定地域块存储账号级默认加密使用的 KMS 密钥 ID 重置为服务密钥的接口。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '201498', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', + 'errorMessage' => 'KMS must be enabled for encrypted disks.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Abs.InvalidAction.RegionNotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'InvalidParameter.RegionIdNotExists', + 'errorMessage' => 'The specified region does not exists.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSKeyIdNotFound', + 'errorMessage' => 'The specified KMSKeyId not found, %s.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSServiceNotOpen', + 'errorMessage' => 'KMS service is currently not open.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidDefaultEncryption.NotFound', + 'errorMessage' => 'You have not configured default encryption setting in this region.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '重置块存储账号级默认加密使用的密钥', + 'description' => '- RAM用户(子账号)需要`AliyunECSFullAccess`权限,具体授权操作,请参见[为RAM用户授权](~~116146~~)。'."\n" + .'- 指定地域需要开启**块存储账号级默认加密**功能。', + ], + 'DisableDiskEncryptionByDefault' => [ + 'summary' => '关闭指定地域块存储账号级默认加密。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '201496', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Abs.InvalidAction.RegionNotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'InvalidParameter.RegionIdNotExists', + 'errorMessage' => 'The specified region does not exists.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in disk white list.', + ], + [ + 'errorCode' => 'InvalidDefaultEncryption.NotFound', + 'errorMessage' => 'You have not configured default encryption setting in this region.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '关闭块存储账号级默认加密', + 'description' => '- **使用须知**'."\n" + .' - RAM用户(子账号)需要`AliyunECSFullAccess`权限,具体授权操作,请参见[为RAM用户授权](~~116146~~)。'."\n" + ."\n" + .'- **注意事项**'."\n" + .' - 关闭块存储账号级默认加密后,已创建的云盘加密状态不受影响。'."\n" + .' - 关闭块存储账号级默认加密后,您依旧可以在新购云盘时手动选择加密云盘。', + ], + 'OpenSnapshotService' => [ + 'summary' => '开通快照服务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29031', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C36234E8-4C67-5F6C-8C07-F51B2EE2C560', + ], + ], + ], + ], + ], + 'errorCodes' => [], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C36234E8-4C67-5F6C-8C07-F51B2EE2C560\\"\\n}","type":"json"}]', + 'title' => '开通快照服务', + ], + 'CreateSnapshot' => [ + 'summary' => '为一块云盘创建一份快照。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28846', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'd-bp1s5fnvk4gn2tws0****', + ], + ], + [ + 'name' => 'SnapshotName', + 'in' => 'query', + 'schema' => [ + 'description' => '快照的名称。长度为2~128个字符,必须以大小写字母或中文开头,支持Unicode中letter分类下的字符(其中包括英文、中文等),ASCII数字(0-9)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'> 不能以http://和https:// 开头。为防止和自动快照的名称冲突,不能以`auto`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testSnapshotName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '快照的描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '设置快照的保留时间,单位为天。取值范围:1~65536。保留时间到期后快照会被自动释放。'."\n" + ."\n" + .'默认值:空,表示快照不会被自动释放。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => [ + 'description' => '快照类型。取值范围:'."\n" + ."\n" + .'- Standard:标准快照。'."\n" + .'- Flash:本地快照。'."\n" + ."\n" + .'>该参数即将被弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InstantAccess', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启快照极速可用功能。取值范围:'."\n" + .'- true:开启。仅ESSD云盘支持开启该功能。'."\n" + .'- false:关闭。即创建标准快照。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'InstantAccessRetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '设置快照极速可用功能的保留时间,保留时间到期后快照将自动释放。该参数在`InstantAccess=true`时生效。单位:天。取值范围:1~65535。'."\n" + ."\n" + .'默认与参数`RetentionDays`的值一致。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '快照的标签键。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Key' => [ + 'description' => '快照的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '快照的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '快照的标签值。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'StorageLocationArn', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'SnapshotId' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'example' => 's-bp17441ohwka0yuh****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidSnapshotName.Malformed', + 'errorMessage' => 'The specified SnapshotName is wrongly formed.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The type of the specified disk does not support creating a snapshot.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidRetentionDays.Malformed', + 'errorMessage' => 'The specified RetentionDays is not valid.', + ], + [ + 'errorCode' => 'CreateSnapshot.Failed', + 'errorMessage' => 'The process of creating snapshot is failed.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to user flow control.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.CreatingSnapshot', + 'errorMessage' => 'A previous snapshot creation is in process.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The disk attached instance is locked due to security.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.NeverAttached', + 'errorMessage' => 'The specified disk has never been attached to any instance.', + ], + [ + 'errorCode' => 'QuotaExceed.Snapshot', + 'errorMessage' => 'The snapshot quota exceeds.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.NeverUsed', + 'errorMessage' => 'The specified disk has never been used after creating.', + ], + [ + 'errorCode' => 'CreateSnapshot.Failed', + 'errorMessage' => 'The process of creating snapshot is failed.', + ], + [ + 'errorCode' => 'DiskInArrears', + 'errorMessage' => 'The specified operation is denied as your disk has expired.', + ], + [ + 'errorCode' => 'DiskId.ValueNotSupported', + 'errorMessage' => 'The specified parameter diskid is not supported.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectVolumeStatus', + 'errorMessage' => 'The current volume status does not support this operation.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified clientToken is used.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.Invalid', + 'errorMessage' => 'The specified disk status invalid, restart instance and try again.', + ], + [ + 'errorCode' => 'IncorrectDiskType.NotSupport', + 'errorMessage' => 'The specified device type is not supported.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.Transferring', + 'errorMessage' => 'The specified device is transferring, you can retry after the process is finished.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'ECS tags must be added to the CMK.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + [ + 'errorCode' => 'InvalidSnapshotCategory.Malformed', + 'errorMessage' => 'The specified Category is not valid.', + ], + [ + 'errorCode' => 'InvalidAction.Unauthorized', + 'errorMessage' => 'The specified action is not valid.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupportSnapshotInstantAccessRegion', + 'errorMessage' => 'The snapshot InstantAccess is not supported for this region.', + ], + [ + 'errorCode' => 'InvalidCategoryAndInstantAccess.Malformed', + 'errorMessage' => 'The snapshot Category and InstantAccess can\'t be used together.', + ], + [ + 'errorCode' => 'DISK_HAS_CREATING_SNAPSHOT', + 'errorMessage' => 'The operation cannot be performed while a snapshot is being created for the disk.', + ], + [ + 'errorCode' => 'HibernationConfigured.InstanceOperationForbidden', + 'errorMessage' => 'The operation is not permitted due to limit of the hibernation configured instance.', + ], + [ + 'errorCode' => 'QuotaExceed.SnapshotQuota', + 'errorMessage' => 'The quota is insufficient, please contact your channel partner to increase the quota.', + ], + [ + 'errorCode' => 'InvalidInstantAccessRetentionDays.Malformed', + 'errorMessage' => 'The specified InstantAccessRetentionDays is not valid.', + ], + [ + 'errorCode' => 'CloudBoxNotSupportSnapshotWithInstantAccess', + 'errorMessage' => 'The specified disk in CloudBox does not support to create a snapshot with InstantAccess.', + ], + [ + 'errorCode' => 'InvalidOperation.UnfinishedEncryptedSnapshotCopy', + 'errorMessage' => 'This disk has unfinished encrypted copy snapshots in the target region.', + ], + [ + 'errorCode' => 'QuotaExceed.ConcurrentSnapshotQuota', + 'errorMessage' => 'The number of snapshots being created for the disk %s has exceeded the concurrent quota (%s). Please wait for the previous snapshots to complete before trying again.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified clientToken is improperly formatted. It must contain only ASCII characters and must not exceed 64 characters in length.', + ], + [ + 'errorCode' => 'InvalidParameter.UnauthorizedStorageLocationArn', + 'errorMessage' => 'The operation has failed due to lack of permission for the specified "StorageLocationArn". Please use a resource with appropriate permission for the operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified DiskId does not exist.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidVolumeId.NotFound', + 'errorMessage' => 'The specified volume does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SnapshotId\\": \\"s-bp17441ohwka0yuh****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C8B26B44-0189-443E-9816-D951F59623A9\\r\\n s-bp17441ohwka0yuh****\\r\\n","errorExample":""}]', + 'title' => '创建快照', + 'description' => '原本地快照更替为快照极速可用能力。参数说明如下:'."\n" + .'- 如果您在 2020 年 12 月 14 日之前使用过本地快照,您可以正常使用参数`Category`。'."\n" + .'- 如果您在 2020 年 12 月 14 日之前未使用过本地快照,无需额外进行配置,ESSD系列云盘(ESSD、ESSD AutoPL、ESSD Entry和ESSD同城冗余)新建的快照将默认为创建后极速可用,且同时支持手动快照和自动快照。API接口中的“InstantAccess”、“InstantAccessRetentionDays”、“DisableInstantAccess”三个极速可用功能相关参数不再生效,“DescribeSnapshots”、“DescribeSnapshotGroups”这两个API接口将新增出参Available来描述快照可用的状态。'."\n" + ."\n" + .'前提条件:'."\n" + ."\n" + .'- 已开通快照。具体操作,请参见[开通快照](~~108381~~)。'."\n" + ."\n" + .'- 云盘必须处于**使用中**或**待挂载**状态。不同状态下的注意事项如下:'."\n" + .' - 如果云盘处于**使用中**的状态,则实例必须处于**运行中**或**已停止**状态。'."\n" + .' - 如果云盘处于**待挂载**的状态,则需要保证云盘有过挂载到ECS实例的历史操作。从未挂载过ECS实例的云盘不支持创建快照。'."\n" + .' - 当云盘被用作创建动态扩展卷或者RAID阵列时,建议您使用快照一致性组并开启应用一致性快照备份数据。快照一致性组能够保证在业务系统跨多块云盘的场景下,数据写入云盘的时序一致性,并保证其崩溃一致性。更多信息,请参见[创建快照一致性组](~~199625~~)和[创建应用一致性快照](~~208589~~)。'."\n" + ."\n" + .'创建快照时,您需要注意:'."\n" + ."\n" + .'- 创建快照应避开业务高峰期。创建快照时,云盘I/O性能降低10%以内,读写性能出现短暂瞬间变慢。'."\n" + .'- 如果创建快照还未完成,这份快照无法用于创建自定义镜像([CreateImage](~~25535~~))。'."\n" + .'- 创建快照期间,操作云盘产生的增量数据不会备份到快照中。'."\n" + .'- 如果云盘已挂载到ECS实例上,创建快照期间请勿变更实例状态,如停止或重启ECS实例,否则会导致快照创建失败。'."\n" + .'- 正在创建快照的云盘不支持扩容。请您等待快照创建完成后,再开始执行扩容操作。'."\n" + ."\n" + .'- 支持对处于**已过期**(`Expired`)状态的云盘创建快照。若创建快照时云盘正好达到过期释放时间,云盘被释放的同时也会删除**创建中**(`Creating`)的快照。'."\n" + ."\n" + .'- 创建快照后,系统根据快照容量大小,按每个地域单独结算费用。更多信息,请参见[快照计费](~~56159~~)'."\n" + ."\n" + .'- 以下场景中,您无法为指定的云盘创建快照:'."\n" + ."\n" + .' - 云盘保留的手动快照数达到上限。更多信息,请参见[快照使用限制](~~25412#SnapshotQuota1~~)。'."\n" + ."\n" + .' - 创建快照存在并发限制,超过限制会导致创建失败。更多信息,请参见[快照使用限制](~~25412#SnapshotQuota1~~)。'."\n" + ."\n" + .' - 查询ECS实例信息时,如果返回数据中包含`{"OperationLocks": {"LockReason" : "security"}}`,则禁止一切操作。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSnapshots' => [ + 'summary' => '查询云盘的快照列表信息。例如快照状态、正在创建的快照剩余完成时间、自动快照保留天数等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28999', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的实例ID,即需要查询实例下云盘的快照信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的云盘设备ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SnapshotLinkId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照链ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sl-bp1grgphbcc9brb5****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘所属于的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnapshotIds', + 'in' => 'query', + 'schema' => [ + 'description' => '快照标识编码。取值可以由多个快照ID组成一个JSON数组,最多支持100个ID,ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["s-bp67acfmxazb4p****", "s-bp67acfmxazb5p****", … "s-bp67acfmxazb6p****"]', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用参数 NextToken 与 MaxResults 完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用 NextToken 与 MaxResults 完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询起始标志。由上一次的请求结果中获取。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'SnapshotName', + 'in' => 'query', + 'schema' => [ + 'description' => '快照名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'testSnapshotName', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '快照状态。取值范围: '."\n" + .' '."\n" + .'- progressing:正在创建的快照。'."\n" + .'- accomplished:创建成功的快照。'."\n" + .'- failed:创建失败的快照。'."\n" + .'- all(默认):所有快照状态。', + 'type' => 'string', + 'required' => false, + 'example' => 'all', + ], + ], + [ + 'name' => 'SnapshotType', + 'in' => 'query', + 'schema' => [ + 'description' => '快照创建类型。取值范围: '."\n" + .' '."\n" + .'- auto:自动创建快照。'."\n" + .'- user:手动创建快照。'."\n" + .'- all(默认):所有的快照创建类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'all', + ], + ], + [ + 'name' => 'Filter.1.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`CreationStartTime`。同时设置`Filter.1.Key`和`Filter.1.Value`可以查询在指定时间点后创建的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationStartTime', + ], + ], + [ + 'name' => 'Filter.2.Key', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选键,取值必须为`CreationEndTime`。同时设置`Filter.2.Key`和`Filter.2.Value`可以查询在指定时间点前创建的资源信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationEndTime', + ], + ], + [ + 'name' => 'Filter.1.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.1.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-12-13T17:00Z', + ], + ], + [ + 'name' => 'Filter.2.Value', + 'in' => 'query', + 'schema' => [ + 'description' => '查询资源时的筛选值。指定该参数时必须同时指定`Filter.2.Key`参数,格式为:`yyyy-MM-ddTHH:mmZ`,采用UTC +0时区。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-12-13T22:00Z', + ], + ], + [ + 'name' => 'Usage', + 'in' => 'query', + 'schema' => [ + 'description' => '快照是否被用作创建镜像或云盘。取值范围: '."\n" + ."\n" + .'- image:使用快照创建了自定义镜像。'."\n" + .'- disk:使用快照创建了云盘。'."\n" + .'- image_disk:使用快照创建了数据盘和自定义镜像。'."\n" + .'- none:暂未使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'none', + ], + ], + [ + 'name' => 'SourceDiskType', + 'in' => 'query', + 'schema' => [ + 'description' => '快照源云盘的云盘类型。取值范围: '."\n" + .' '."\n" + .'- system:系统盘。'."\n" + .'- data:数据盘。'."\n" + ."\n" + .'> 取值不区分大小写。', + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + ], + [ + 'name' => 'Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '是否过滤加密快照。默认值:false 。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。'."\n" + .'- false(默认):发送正常请求,通过检查后返回2XX HTTP状态码并直接查询资源状况。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '数据盘对应的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => [ + 'description' => '快照类型。取值范围:'."\n" + .'- Standard:标准快照。'."\n" + .'- Flash:本地快照。该参数取值即将被弃用,原本地快照更替为快照极速可用功能。该参数说明如下:'."\n" + .' - 如果您在2020年12月14日之前使用过本地快照。您可以正常使用该参数。'."\n" + .' - 如果您在2020年12月14日之前未使用过本地快照。您不能使用该参数。'."\n" + .'- archive:归档快照。'."\n" + ."\n\n" + ."\n" + .'更多信息,请参见[12月14日阿里云快照服务升级与新增计费项通知](https://help.aliyun.com/noticelist/articleid/1060755542.html)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'SnapshotTest', + ], + 'Key' => [ + 'description' => '快照的标签键。N的取值范围:1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '快照的标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'SnapshotTest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '下一个查询起始标志。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'PageSize' => [ + 'description' => '> 该参数即将下线,推荐您使用 NextToken 与 MaxResults 完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '> 该参数即将下线,推荐您使用 NextToken 与 MaxResults 完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '快照总个数。'."\n" + ."\n" + .'> 使用`MaxResults`和`NextToken`参数进行分页查询时,返回的`TotalCount`参数值无效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Snapshots' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Snapshot' => [ + 'description' => '快照详情集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '快照状态。可能值:'."\n" + ."\n" + .'- progressing:正在创建。'."\n" + .'- accomplished:创建成功。'."\n" + .'- failed:创建失败。', + 'type' => 'string', + 'example' => 'accomplished', + ], + 'CreationTime' => [ + 'description' => '创建时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2020-08-20T14:52:28Z', + ], + 'Progress' => [ + 'description' => '快照创建进度,单位为百分比。', + 'type' => 'string', + 'example' => '100%', + ], + 'InstantAccess' => [ + 'description' => '是否开启了快照极速可用能力。可能值:'."\n" + ."\n" + .'- true:开启。ESSD云盘、ESSD Entry云盘默认开启该能力。'."\n" + .'- false:关闭。即快照为未开启极速可用能力的标准快照。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Available' => [ + 'description' => '快照是否可用于创建云盘、回滚云盘、共享快照。可能值:'."\n" + ."\n" + .'- true:可用。'."\n" + .'- false:不可用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'RemainTime' => [ + 'description' => '正在创建的快照剩余完成时间,单位为秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '38', + ], + 'SourceDiskSize' => [ + 'description' => '源云盘容量,单位:GiB。', + 'type' => 'string', + 'example' => '40', + ], + 'RetentionDays' => [ + 'description' => '自动快照保留天数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'SourceDiskType' => [ + 'description' => '源云盘属性。可能值:'."\n" + ."\n" + .'- system'."\n" + .'- data', + 'type' => 'string', + 'example' => 'system', + ], + 'SourceStorageType' => [ + 'description' => '原云盘类型。'."\n" + ."\n" + .'>该参数即将被弃用,为提高兼容性,建议您尽量使用其他参数。', + 'type' => 'string', + 'example' => 'disk', + ], + 'Usage' => [ + 'description' => '快照是否被用作创建镜像或云盘。可能值:'."\n" + ."\n" + .'- image:自定义镜像。'."\n" + .'- disk:云盘。'."\n" + .'- image_disk:自定义镜像和数据盘。'."\n" + .'- none:暂未使用。', + 'type' => 'string', + 'example' => 'image', + ], + 'LastModifiedTime' => [ + 'description' => '快照的最后变更时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2020-08-25T14:18:09Z', + ], + 'Encrypted' => [ + 'description' => '该快照是否加密。可能值:'."\n" + .' '."\n" + .'- true:是。'."\n" + .'- false: 否。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'SnapshotType' => [ + 'description' => '快照创建类型。可能值:'."\n" + ."\n" + .'- auto或者timer:自动创建快照。'."\n" + .'- user:手动创建快照。'."\n" + .'- all:所有的快照创建类型。', + 'type' => 'string', + 'example' => 'all', + ], + 'SourceDiskId' => [ + 'description' => '源云盘ID。如果快照的源云盘已经被释放,该字段仍旧保留。', + 'type' => 'string', + 'example' => 'd-bp67acfmxazb4ph****', + ], + 'SnapshotName' => [ + 'description' => '快照显示名称。如果创建时指定了快照显示名称,则返回。', + 'type' => 'string', + 'example' => 'testSnapshotName', + ], + 'InstantAccessRetentionDays' => [ + 'description' => '设置快照极速可用功能的保留时间,保留时间到期后自动关闭快照极速可用功能。'."\n" + ."\n" + .'默认与参数`RetentionDays`的值一致。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'Description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'SnapshotId' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'example' => 's-bp67acfmxazb4p****', + ], + 'RegionId' => [ + 'description' => '快照所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'Category' => [ + 'description' => '快照类型。可能值:'."\n" + .'- Standard:标准快照。'."\n" + .'- Flash:本地快照。该参数取值即将被弃用,原本地快照更替为快照极速可用功能。'."\n" + .'- archive:归档快照。', + 'type' => 'string', + 'example' => 'standard', + ], + 'KMSKeyId' => [ + 'description' => '数据盘对应的KMS密钥ID。', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'SnapshotSN' => [ + 'description' => '快照序列号。', + 'type' => 'string', + 'example' => '64472-116742336-61976****', + ], + 'ProductCode' => [ + 'description' => '从云市场镜像继承的产品编号。', + 'type' => 'string', + 'example' => 'jxsc000****', + ], + 'SourceSnapshotId' => [ + 'title' => '源快照', + 'description' => '源快照。', + 'type' => 'string', + 'example' => 's-bp67acfmxazb4p****', + ], + 'SourceRegionId' => [ + 'title' => '源快照地域', + 'description' => '源快照地域。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'SnapshotLinkId' => [ + 'title' => '快照关联的快照链Id', + 'description' => '快照关联的快照链ID。', + 'type' => 'string', + 'example' => 'sl-bp1grgphbcc9brb5****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '快照的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '快照的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidSnapshotIds.Malformed', + 'errorMessage' => 'The amount of specified specified snapshot Ids exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidSnapshotCategory.Malformed', + 'errorMessage' => 'The specified Category is not valid.', + ], + [ + 'errorCode' => 'InvalidCategory.SnapshotLinkMismatch', + 'errorMessage' => 'The specified category does not match the actual category of the snapshot link.', + ], + ], + [ + [ + 'errorCode' => 'InvalidFilterKey.NotFound', + 'errorMessage' => 'The specified FilterKey is not found.', + ], + [ + 'errorCode' => 'InvalidFilterValue', + 'errorMessage' => 'The specified FilterValue exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidUsage', + 'errorMessage' => 'The specifed Usage is not valid.', + ], + [ + 'errorCode' => 'InvalidSourceDiskType', + 'errorMessage' => 'The specifed SourceDiskType is not valid.', + ], + [ + 'errorCode' => 'InvalidStatus.NotFound', + 'errorMessage' => 'The specified Status is not found.', + ], + [ + 'errorCode' => 'InvalidSnapshotType.NotFound', + 'errorMessage' => 'The specfied SnapshotType is not found.', + ], + [ + 'errorCode' => 'InvalidSnapshotLinkId.NotFound', + 'errorMessage' => 'The specified snapshot link is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n {\\n \\"Status\\": \\"accomplished\\",\\n \\"CreationTime\\": \\"2020-08-20T14:52:28Z\\",\\n \\"Progress\\": \\"100%\\",\\n \\"InstantAccess\\": false,\\n \\"Available\\": false,\\n \\"RemainTime\\": 38,\\n \\"SourceDiskSize\\": \\"40\\",\\n \\"RetentionDays\\": 30,\\n \\"SourceDiskType\\": \\"system\\",\\n \\"SourceStorageType\\": \\"disk\\",\\n \\"Usage\\": \\"image\\",\\n \\"LastModifiedTime\\": \\"2020-08-25T14:18:09Z\\",\\n \\"Encrypted\\": false,\\n \\"SnapshotType\\": \\"all\\",\\n \\"SourceDiskId\\": \\"d-bp67acfmxazb4ph****\\",\\n \\"SnapshotName\\": \\"testSnapshotName\\",\\n \\"InstantAccessRetentionDays\\": 30,\\n \\"Description\\": \\"testDescription\\",\\n \\"SnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"Category\\": \\"standard\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"SnapshotSN\\": \\"64472-116742336-61976****\\",\\n \\"ProductCode\\": \\"jxsc000****\\",\\n \\"SourceSnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"SourceRegionId\\": \\"cn-hangzhou\\",\\n \\"SnapshotLinkId\\": \\"sl-bp1grgphbcc9brb5****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 10\\n caeba0bbb2be03f84eb48b699f0a4883\\n 1\\n \\n \\n accomplished\\n false\\n 100%\\n false\\n image\\n testDescription\\n standard\\n 0e478b7a-4262-4802-b8cb-00d3fb40****\\n jxsc000****\\n false\\n testSnapshotName\\n d-bp67acfmxazb4ph****\\n disk\\n s-bp67acfmxazb4p****\\n 64472-116742336-61976****\\n 40\\n 2020-08-20T14:52:28Z\\n 2020-08-25T14:18:09Z\\n all\\n system\\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询云盘快照列表', + 'description' => '`InstanceId`、`DiskId`和`SnapshotIds`不是必需的请求参数,但是可以构建过滤器逻辑,参数之间为逻辑与(And)关系。'."\n" + ."\n" + .'通过阿里云CLI调用API时,不同数据类型的请求参数取值必须遵循一定的格式要求,详情请参见[CLI参数格式说明](~~110340~~)。'."\n" + ."\n" + .'请求示例:'."\n" + .'
'."\n" + .'查询杭州地域下ECS实例所有云盘的快照信息列表'."\n" + ."\n" + .'```'."\n" + .'RegionId: cn-hangzhou, //设置华东 1(杭州)地域。'."\n" + .'InstanceId: i-bp1fh7by6d9mw7zr**** //设置待查询的实例ID。'."\n" + ."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'查询杭州地域下某一云盘的快照信息'."\n" + ."\n" + .'```'."\n" + .'RegionId: cn-hangzhou, //设置华东 1(杭州)地域。'."\n" + .'DiskId: d-bp10e7ej8z743dmu**** //设置待查询的云盘ID。'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'根据快照ID查询杭州地域下两个快照的信息'."\n" + ."\n" + .'```'."\n" + .'RegionId: cn-hangzhou, //设置华东 1(杭州)地域。'."\n" + .'SnapshotIds: ["d-bp10e7ej8z743dmu****", "s-bp19vd1lorzgzt2s****"] //设置待查询的快照ID数组。'."\n" + ."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'查询杭州地域下某一时间节点后创建的快照信息'."\n" + ."\n" + .'```'."\n" + .'RegionId: cn-hangzhou, //设置华东 1(杭州)地域。'."\n" + .'Filter.1.Key: CreationStartTime, //设置待查询的快照ID数组。'."\n" + .'Filter.1.Value: 2024-11-27T00:00Z'."\n" + ."\n" + .'```'."\n" + .'
', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSnapshotsUsage' => [ + 'summary' => '查询您在一个地域下的快照数量以及快照容量。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29293', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'SnapshotSize' => [ + 'description' => '当前地域下已产生的快照容量,单位Byte。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '122', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'SnapshotCount' => [ + 'description' => '当前地域下的快照总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParam.RegionId', + 'errorMessage' => 'The specified region is not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SnapshotSize\\": 122,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"SnapshotCount\\": 5\\n}","errorExample":"{\\n\\t\\"SnapshotCount\\": \\"5\\",\\n\\t\\"SnapshotSize\\": \\"122\\",\\n\\t\\"RequestId\\": \\"ACD9BBB0-A9D1-46D7-9630-B7A69889E110\\"\\n}"},{"type":"xml","example":"\\n\\t5\\n\\t122 \\n ED5CF6DD-71CA-462C-9C94-A61A78A01479\\n","errorExample":"\\n\\t5\\n\\t122\\n \\n ED5CF6DD-71CA-462C-9C94-A61A78A01479\\n"}]', + 'title' => '查询快照数量和容量', + 'description' => '## 接口说明'."\n" + ."\n" + .'如果您想知道当前地域下每块磁盘的快照使用情况,推荐使用[DescribeSnapshotLinks](~~55837~~)查询快照链。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySnapshotAttribute' => [ + 'summary' => '修改一份快照的名称、描述或保留天数。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29104', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'required' => true, + 'example' => 's-bp199lyny9bb47pa****', + ], + ], + [ + 'name' => 'SnapshotName', + 'in' => 'query', + 'schema' => [ + 'description' => '快照的显示名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。'."\n" + ."\n" + .'为防止和自动快照的名称冲突,不能以auto开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testSnapshotName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '快照的描述。可为空,长度为最大256 个英文或中文字符,不能以http://和https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'DisableInstantAccess', + 'in' => 'query', + 'schema' => [ + 'description' => '关闭快照极速可用功能。取值范围:'."\n" + ."\n" + .'- true:关闭快照极速可用。'."\n" + .'- false:不关闭快照极速可用。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '快照保留天数。设置该值时,快照保留时间会从快照**创建时间**(按照ISO 8601标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ)开始计算。取值范围:1~65536。'."\n" + ."\n" + .'>快照保留时间仅支持延长,不支持缩短快照已有保留时间。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSnapshotName.Malformed', + 'errorMessage' => 'The specified SnapshotName is wrongly formed.', + ], + [ + 'errorCode' => 'NoAttributeToModify', + 'errorMessage' => 'No attribute to be modified in this request.', + ], + [ + 'errorCode' => 'InvalidRetentionDays.Malformed', + 'errorMessage' => 'The specified RetentionDays is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.DecreaseRetentionDaysUnsupported', + 'errorMessage' => 'The requested operation to decrease retention days for the snapshot is not supported.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.CreatingSnapshot', + 'errorMessage' => 'A previous snapshot creation is in process.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => 'The current operation is not supported because the resource is managed by a cloud product. Please contact the relevant cloud product to confirm the reason.', + ], + [ + 'errorCode' => 'InvalidOperation.DefaultFreeSnapshotNotSupport', + 'errorMessage' => 'The specified snapshot is a default free snapshot and does not support this operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified SnapshotId does not exist.', + ], + [ + 'errorCode' => 'InvalidSnapshotDisableInstantAccess.Malformed', + 'errorMessage' => 'The specified DisableInstantAccess is not valid!', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C8B26B44-0189-443E-9816-D951F59623A9\\r\\n","errorExample":""}]', + 'title' => '修改快照属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySnapshotCategory' => [ + 'summary' => '修改快照类型,可以通过该接口将标准快照转换为归档快照。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221991', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'required' => true, + 'example' => 's-123**sd', + ], + ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => [ + 'description' => '快照类型。'."\n" + ."\n" + .'- Archive:归档快照', + 'type' => 'string', + 'required' => false, + 'example' => 'Archive', + 'enum' => [ + 'Archive', + ], + ], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '快照保留天数。起始时间为快照资源创建时间CreationTime。标准快照创建完成之后,必须至少已保留 14 天,才能进行归档。'."\n" + ."\n" + .'归档类型快照有保留时间限制,需要在归档类型中至少保留60天。计算归档快照保留时间时,需扣除标准快照已保留时间。不足60天删除归档快照会收取60天的归档存储费用,请参见[快照计费](~~56159~~)。'."\n" + ."\n" + .'取值范围[74,65536]'."\n" + ."\n" + .'>不填写该参数则表示永久保留。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '65536', + 'minimum' => '61', + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B48A12CD-1295-4A38-A8F0-0E92C937****', + ], + 'TaskId' => [ + 'description' => '归档任务ID。您可以通过DescribeTasks接口查询任务的状态、进度。', + 'type' => 'string', + 'example' => 't-dxh34xds**d', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRetentionDays.Malformed', + 'errorMessage' => 'The specified RetentionDays is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.DecreaseRetentionDaysUnsupported', + 'errorMessage' => 'The requested operation to decrease retention days for the snapshot is not supported.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'InvalidOperation.ArchiveSharedSnapshotUnsupported', + 'errorMessage' => 'The specified shared snapshot is not support archive.', + ], + [ + 'errorCode' => 'InvalidOperation.ArchiveCloudBoxSnapshotUnsupported', + 'errorMessage' => 'The specified snapshot in CloudBox is not support archive.', + ], + [ + 'errorCode' => 'InvalidStatus.SnapshotUnfinished', + 'errorMessage' => 'The specified unfinished snapshot is not support archive.', + ], + [ + 'errorCode' => 'InvalidStatus.SnapshotAgeLimit', + 'errorMessage' => 'The specified snapshot created within 14 days is not support archive.', + ], + [ + 'errorCode' => 'InvalidStatus.SnapshotInArchive', + 'errorMessage' => 'The specified snapshot is currently being archived.', + ], + [ + 'errorCode' => 'InvalidParameter.SnapshotCategory', + 'errorMessage' => 'The specified parameter category is invalid.', + ], + [ + 'errorCode' => 'InvalidRetentionDays.LessThanLockExpiredTime', + 'errorMessage' => 'The specified parameter RetentionDays is invalid. The RetentionDays should be greater than the snapshot LockExpiredTime.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => 'The current operation is not supported because the resource is managed by a cloud product. Please contact the relevant cloud product to confirm the reason.', + ], + [ + 'errorCode' => 'InvalidOperation.InstantAccessEnabledUnsupport', + 'errorMessage' => 'The specified snapshot with legacy Instant Access enabled does not support archive.', + ], + [ + 'errorCode' => 'InvalidOperation.EncryptedSnapshotUnsupport', + 'errorMessage' => 'Archiving encrypted snapshots is not currently supported.', + ], + [ + 'errorCode' => 'QuotaExceed.ConcurrentArchiveSnapshotQuota', + 'errorMessage' => 'The number of concurrent archiving tasks associated with the disk of the current snapshot has exceeded the quota limit. Please try again later.', + ], + [ + 'errorCode' => 'InvalidOperation.DefaultFreeSnapshotNotSupport', + 'errorMessage' => 'The specified snapshot is a default free snapshot and does not support this operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified SnapshotId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B48A12CD-1295-4A38-A8F0-0E92C937****\\",\\n \\"TaskId\\": \\"t-dxh34xds**d\\"\\n}","type":"json"}]', + 'title' => '修改快照类型', + 'description' => ''."\n" + .'**请确保在使用该接口前,已充分了解归档快照产品的收费方式和[价格](https://www.aliyun.com/price/product?#/disk/detail/disk)。**'."\n" + .''."\n" + ."\n" + .'- 归档快照不支持还原为标准快照。'."\n" + ."\n" + .'- 标准快照创建完成之后,必须至少已保留14天,才能进行归档。'."\n" + ."\n" + .'- 共享来的快照、云产品托管的快照、云盒内的快照不支持归档。', + ], + 'CopySnapshot' => [ + 'summary' => '将一份标准快照或加密快照从一个地域复制到另一个地域。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '28812', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '新快照的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '新快照的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '新快照的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '新快照的标签值。一旦传入该值,允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源快照所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'DestinationRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '新快照的目标地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'us-east-1', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '源快照ID。', + 'type' => 'string', + 'required' => true, + 'example' => 's-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DestinationSnapshotName', + 'in' => 'query', + 'schema' => [ + 'description' => '新快照的名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以http://和https:// 开头。支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => true, + 'example' => 'CopySnapshotDemo', + ], + ], + [ + 'name' => 'DestinationSnapshotDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '新快照的描述信息。长度为2~256个英文或中文字符,不能以http://或https://开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => true, + 'example' => 'CopySnapshotDemo', + ], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '新快照的保留时长,单位为天,到期后快照会被自动释放。取值范围:1~65536。'."\n" + ."\n" + .'默认值:空,表示快照不会被自动释放。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '是否加密云盘。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标地域的KMS用户主密钥。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + 'maxLength' => 64, + ], + ], + [ + 'name' => 'Arn', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RoleType' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Rolearn' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'AssumeRoleFor' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'DestinationStorageLocationArn', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'SnapshotId' => [ + 'description' => '新快照的ID。', + 'type' => 'string', + 'example' => 's-bp17441ohwka0yui****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C8B26B44-0189-443E-9816-D951F596****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Arns', + 'errorMessage' => 'The specified Arns is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidSnapshotId.EncryptedNotSupport', + 'errorMessage' => 'The specified snapshot with encrypted does not support copy.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified snapshot is not exists.', + ], + [ + 'errorCode' => 'InvalidSnapshotCategory.NotSupportCopy', + 'errorMessage' => 'The specified snapshot\'s category does not support copy.', + ], + [ + 'errorCode' => 'InvalidUser.NotInWhiteList', + 'errorMessage' => 'The user is not in the white list of copying snapshot.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotReady', + 'errorMessage' => 'The specified snapshot has not completed yet.', + ], + [ + 'errorCode' => 'InvalidOperation.Unauthorized', + 'errorMessage' => 'The specified operation is unauthorized.', + ], + [ + 'errorCode' => 'InvalidOperation.UnfinishedCrossRegionCopy', + 'errorMessage' => 'This disk has unfinished cross-region copy snapshots in the target region.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupportCopyInSameRegion', + 'errorMessage' => 'Copying snapshot in the same region is not supported.', + ], + [ + 'errorCode' => 'InvalidSnapshotName.Malformed', + 'errorMessage' => 'The specified SnapshotName is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidRetentionDays.Malformed', + 'errorMessage' => 'The specified RetentionDays is not valid.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportedEncryptedSnapshotCopy', + 'errorMessage' => 'The specified region not support copy encrypted snapshot.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support byok.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupportEncryptAlgorithm', + 'errorMessage' => 'The current region does not support creating encrypted disks with EncryptAlgorithm.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotExists', + 'errorMessage' => 'Region not exists.', + ], + [ + 'errorCode' => 'InvalidEncryptAlgorithm', + 'errorMessage' => 'The specified parameter EncryptAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchKmsKeyId', + 'errorMessage' => 'The specified parameter Encrypted must be true when KmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotMatchEncryptAlgorithm', + 'errorMessage' => 'The specified parameter Encrypted must be true when EncryptAlgorithm is not empty.', + ], + [ + 'errorCode' => 'InvalidEncrypted.NotSupportDecrypt', + 'errorMessage' => 'Encrypted snapshot not support copy to decrypt snapshot.', + ], + [ + 'errorCode' => 'InvalidSnapshotCategory.NotSupportCrossRegionCopy', + 'errorMessage' => 'The specified snapshot is not support cross region copy.', + ], + [ + 'errorCode' => 'InvalidSnapshotCategory.NotSupportEncryptedCopy', + 'errorMessage' => 'The specified snapshot is not support encrypted copy.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'The specified operation need enable KMS.', + ], + [ + 'errorCode' => 'InvalidParameter.DataEncryptedKeyCreateFailed', + 'errorMessage' => 'Create kms data encrypted key fail. If you need further assistance, you can contact the KMS Technical Support.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotSymmetric', + 'errorMessage' => 'The specified parameter KmsKeyId must be symmetric.', + ], + [ + 'errorCode' => 'QuotaExceed.SnapshotQuota', + 'errorMessage' => 'The quota is insufficient, please contact your channel partner to increase the quota.', + ], + [ + 'errorCode' => 'InvalidOperation.UnfinishedEncryptedSnapshotCopy', + 'errorMessage' => 'This disk has unfinished encrypted copy snapshots in the target region.', + ], + [ + 'errorCode' => 'InvalidParameterDestinationStorageLocationArn.Unauthorized', + 'errorMessage' => 'The operation has failed due to lack of permission for the specified "DestinationStorageLocationArn". Please use a resource with appropriate permission for the operation.', + ], + [ + 'errorCode' => 'InvalidParameterDestinationStorageLocationArn.RegionNotMatch', + 'errorMessage' => 'The region information in the specified parameter "DestinationStorageLocationArn" is inconsistent with "DestinationRegionId". Please use the correct information for the operation.', + ], + [ + 'errorCode' => 'InvalidSnapshot.StorageLocationNotSupported', + 'errorMessage' => 'The storage location of the current snapshot does not support this operation.', + ], + [ + 'errorCode' => 'InvalidSnapshot.EncryptedNotSupported', + 'errorMessage' => 'The current operation does not support the use of encrypted snapshots.', + ], + [ + 'errorCode' => 'InvalidParameterDestinationStorageLocationArn.Malformed', + 'errorMessage' => 'The specified DestinationStorageLocationArn is wrongly formed.', + ], + [ + 'errorCode' => 'OperationDenied.NonCompliantDestinationRegion', + 'errorMessage' => 'The copy operation to the destination region is not in compliance with regulations.', + ], + [ + 'errorCode' => 'OperationDenied.SnapshotCategoryNotSupportCopy', + 'errorMessage' => 'The specified category of snapshot not support copy.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + ], + 409 => [ + [ + 'errorCode' => 'InvalidOperation.Conflict', + 'errorMessage' => 'Request was denied due to conflict with a previous request, please try again later.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SnapshotId\\": \\"s-bp17441ohwka0yui****\\",\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F596****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F596****\\n s-bp17441ohwka0yui****\\n","errorExample":""}]', + 'title' => '复制快照', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 复制后的新快照不能回滚源快照对应的云盘。'."\n" + .'- 不支持复制本地快照。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteSnapshot' => [ + 'summary' => '删除一份指定的快照。如果需要取消正在创建的快照,也可以调用该接口删除快照,即取消创建快照任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28887', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 's-bp1c0doj0taqyzzl****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制删除已经被用于创建云盘的快照。取值范围:'."\n" + ."\n" + .'- true:强制删除。强制删除后该磁盘无法重新初始化。'."\n" + ."\n" + .'- false:不强制删除。'."\n" + ."\n" + .'默认值:false', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + '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' => 'IncorrectDiskStatus.CreatingSnapshot', + 'errorMessage' => 'A previous snapshot creation is in process.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SnapshotCreatedImage', + 'errorMessage' => 'The snapshot has been used to create user defined image(s).', + ], + [ + 'errorCode' => 'SnapshotCreatedDisk', + 'errorMessage' => 'The snapshot has been used to create disk(s).', + ], + [ + 'errorCode' => 'Operation.Conflict', + 'errorMessage' => 'The operation may conflicts with others, please retry later.', + ], + [ + 'errorCode' => 'InvalidOperation.RelatedSnapshotNotFinished', + 'errorMessage' => 'The related standard snapshot is not finished.', + ], + [ + 'errorCode' => 'InvalidOperation.DeleteSharedSnapshotUnsupported', + 'errorMessage' => 'The current snapshot shares authorization with other users. Please revoke the shared authorization through resource management first.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => 'The current operation is not supported because the resource is managed by a cloud product. Please contact the relevant cloud product to confirm the reason.', + ], + [ + 'errorCode' => 'InvalidOperation.SnapshotIsLocked', + 'errorMessage' => 'The current operation is not supported because the snapshot is locked. Please wait for the lock to expire before retrying.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified snapshot is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}"},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n"}]', + 'title' => '删除快照', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 如果指定的快照ID不存在,请求将被忽略。 '."\n" + .'- 如果快照已经被用于创建自定义镜像,将不能执行删除操作。您需要先删除已创建的自定义镜像([DeleteImage](~~25537~~)),才能继续删除快照。'."\n" + .'- 如果快照已经被用于创建云盘,且未设置`Force`参数或`Force=false`时,不能直接删除快照。如果您确定要删除快照,请设置`Force=true`进行强制删除,快照被强制删除后对应的云盘将不能执行重新初始化。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSnapshotLinks' => [ + 'summary' => '查询云盘快照链。快照链是一块云盘所有快照组成的关系链,一块云盘对应一条快照链。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28996', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘所属于的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1h6jmbefj2cyqs****', + ], + ], + [ + 'name' => 'DiskIds', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘ID。一次最多指定100个云盘ID。DiskIds参数取值格式为JSON数组,ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["d-bp1d6tsvznfghy7y****", "d-bp1ippxbaql9zet7****", … "d-bp1ib7bcz07lcxa9****"]', + ], + ], + [ + 'name' => 'SnapshotLinkIds', + 'in' => 'query', + 'schema' => [ + 'description' => '快照链ID。一次最多指定100个快照ID。SnapshotLinkIds参数取值格式为JSON数组,ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["sl-bp1grgphbcc9brb5****", "sl-bp1c4izumvq0i5bs****", … "sl-bp1akk7isz866dds****"]', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘状态列表的页码。起始值:1。'."\n" + ."\n" + .'默认值:1 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。取值范围:1~100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '50', + 'default' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次 API 调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值为 100。'."\n" + .'默认值:'."\n" + .'- 当不设置值或设置的值小于 10 时,默认值为 10。'."\n" + .'- 当设置的值大于 100 时,默认值为 100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '快照链列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '快照链总个数。'."\n" + .'> 使用`MaxResults`和`NextToken`参数进行分页查询时,返回的`TotalCount`参数值无效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '9', + ], + 'SnapshotLinks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SnapshotLink' => [ + 'description' => '快照链信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstantAccess' => [ + 'description' => '是否开启了快照极速可用功能。可能值:'."\n" + ."\n" + .'- true:开启。仅ESSD云盘支持开启该功能。'."\n" + .'- false:关闭。即快照为未开启快照极速可用功能的标准快照。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'TotalSize' => [ + 'description' => '快照链中所有快照的大小,单位:Byte。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2097152', + ], + 'SourceDiskName' => [ + 'description' => '源云盘的名称。', + 'type' => 'string', + 'example' => 'testSourceDiskName', + ], + 'SourceDiskSize' => [ + 'description' => '源云盘容量,单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40', + ], + 'SourceDiskType' => [ + 'description' => '源云盘的云盘类型。可能值:'."\n" + ."\n" + .'- system:系统盘。'."\n" + .'- data:数据盘。', + 'type' => 'string', + 'example' => 'data', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1h6jmbefj2cyqs****', + ], + 'SnapshotLinkId' => [ + 'description' => '快照链ID。', + 'type' => 'string', + 'example' => 'sl-2ze0y1jwzpb1geqx****', + ], + 'TotalCount' => [ + 'description' => '快照总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => '快照链源云盘所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'SourceDiskId' => [ + 'description' => '源云盘ID,如果快照的源云盘已经被删除,该字段仍旧保留。', + 'type' => 'string', + 'example' => 'd-bp1d6tsvznfghy7y****', + ], + 'InstanceName' => [ + 'description' => '实例名称。', + 'type' => 'string', + 'example' => 'testInstanceName', + ], + 'Category' => [ + 'description' => '快照链类型。可能值:'."\n" + ."\n" + .'- standard: 标准快照链。'."\n" + .'- archive: 归档快照链。'."\n" + .'- flash: 极速可用快照链。', + 'type' => 'string', + 'example' => 'standard', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instanceId is not exists. ', + ], + [ + 'errorCode' => 'InvalidRegionId', + 'errorMessage' => 'The specified regionId is invalid.', + ], + [ + 'errorCode' => 'InvalidSnapshotLinkIds', + 'errorMessage' => 'The specified snapshotLinkIds is invalid.', + ], + [ + 'errorCode' => 'InvalidDiskIds', + 'errorMessage' => 'The specified diskIds is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 9,\\n \\"SnapshotLinks\\": {\\n \\"SnapshotLink\\": [\\n {\\n \\"InstantAccess\\": false,\\n \\"TotalSize\\": 2097152,\\n \\"SourceDiskName\\": \\"testSourceDiskName\\",\\n \\"SourceDiskSize\\": 40,\\n \\"SourceDiskType\\": \\"data\\",\\n \\"InstanceId\\": \\"i-bp1h6jmbefj2cyqs****\\",\\n \\"SnapshotLinkId\\": \\"sl-2ze0y1jwzpb1geqx****\\",\\n \\"TotalCount\\": 1,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"SourceDiskId\\": \\"d-bp1d6tsvznfghy7y****\\",\\n \\"InstanceName\\": \\"testInstanceName\\",\\n \\"Category\\": \\"standard\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"SnapshotLinks\\": {\\n \\"SnapshotLink\\": [\\n {\\n \\"SourceDiskSize\\": 20,\\n \\"TotalSize\\": 2097152,\\n \\"SourceDiskType\\": \\"data\\",\\n \\"RegionId\\": \\"cn-beijing-btc-a01\\",\\n \\"SnapshotLinkId\\": \\"d-25okbh2pj\\",\\n \\"SourceDiskId\\": \\"d-25okbh2pj\\",\\n \\"TotalCount\\": 1\\n },\\n {\\n \\"SourceDiskSize\\": 40,\\n \\"TotalSize\\": 2097152,\\n \\"SourceDiskType\\": \\"data\\",\\n \\"RegionId\\": \\"cn-beijing-btc-a01\\",\\n \\"SnapshotLinkId\\": \\"d-2ze0y1jwzpb1geqxkroq\\",\\n \\"SourceDiskId\\": \\"d-2ze0y1jwzpb1geqxkroq\\",\\n \\"TotalCount\\": 1\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 2,\\n \\"RequestId\\": \\"ACD9BBB0-A9D1-46D7-9630-B7A69889E110\\",\\n \\"TotalCount\\": 9\\n}"},{"type":"xml","example":"\\n \\n \\n testInstanceName1\\n 1\\n standard\\n 40\\n i-bp1dh0xo8nucqe1o****\\n sl-bp1hgvjgqo3wn8u7****\\n testSourceDiskName1\\n \\n system\\n 3806330880\\n d-bp149tb0mqn0boy6****\\n \\n \\n testInstanceName2\\n 1\\n standard\\n i-bp1c84ts5f4b6t6z****\\n sl-bp163h35n7endbpv****\\n testSourceDiskName2\\n \\n 2709520384\\n data\\n d-bp1cl4hqnh0i2u5h****\\n \\n \\n 1\\n 2\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 9\\n","errorExample":"\\n \\n \\n d-25okbh2pj\\n d-25okbh2pj\\n data\\n 20\\n cn-beijing-btc-a01\\n 1\\n 2097152\\n \\n \\n d-2ze0y1jwzpb1geqxkroq\\n d-2ze0y1jwzpb1geqxkroq\\n system\\n 40\\n cn-beijing-btc-a01\\n 1\\n 2097152\\n \\n \\n 1\\n 2\\n 9\\n ED5CF6DD-71CA-462C-9C94-A61A78A01479\\n"}]', + 'title' => '查询云盘快照链', + 'description' => '## 接口说明'."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 请求参数`RegionId`、`DiskIds`和`InstanceId`等充当过滤器功能,参数间是逻辑与关系。 '."\n" + ."\n" + .'- 如果不指定任何参数,则过滤器不起作用。当`DiskIds`和`SnapshotLinkIds`都为空数组时,同样视该过滤器有效,但是返回结果为空。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateSnapshotGroup' => [ + 'summary' => '为指定ECS实例中的云盘创建快照一致性组。快照一致性组包含一个或多个云盘对应的快照。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28847', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-j6ca469urv8ei629****', + ], + ], + [ + 'name' => 'InstantAccess', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启快照极速可用。取值范围:'."\n" + ."\n" + .'- true:开启。'."\n" + .'- false:关闭。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'InstantAccessRetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '设置快照极速可用的使用时间。单位:天,取值范围:1~65535。'."\n" + ."\n" + .'仅当`InstantAccess=true`时,该参数生效。到期后自动关闭快照极速使用功能。'."\n" + ."\n" + .'默认值:空,表示和快照释放时间一致。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头,可以包含数字、半角句号(.)、下划线(_)、短划线(-)或者半角冒号(:)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '描述。长度为2~256个字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'StorageLocationArn', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开发使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'ExcludeDiskId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例中不需要创建快照的云盘ID。指定云盘ID后,创建的快照一致性组将不包含该云盘对应的快照。N的取值范围为1~16。'."\n" + ."\n" + .'默认值:空,表示为实例中的所有云盘创建快照。'."\n" + ."\n" + .'> 该参数不可与`DiskId.N`同时设置。', + 'type' => 'array', + 'items' => [ + 'description' => '实例中不需要创建快照的云盘ID。指定云盘ID后,创建的快照一致性组将不包含该云盘对应的快照。N的取值范围为1~16。'."\n" + ."\n" + .'默认值:空,表示为实例中的所有云盘创建快照。'."\n" + ."\n" + .'> 该参数不可与`DiskId.N`同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-j6cf7l0ewidb78lq****', + ], + 'required' => false, + 'example' => 'd-j6cf7l0ewidb78lq****', + 'maxItems' => 128, + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定创建快照一致性组的云盘ID。在同可用区内支持跨实例设置多个云盘ID。N的取值范围为1~16,即一个快照一致性组内最多支持设置16块总大小不超过32 TiB的云盘。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 该参数不可与`ExcludeDiskId.N`同时设置。'."\n" + .'- 如果您设置了`InstanceId`,则该参数只能设置指定实例内已挂载的云盘,不再支持设置多个跨实例的云盘ID。', + 'type' => 'array', + 'items' => [ + 'description' => '指定创建快照一致性组的云盘ID。在同可用区内支持跨实例设置多个云盘ID。N的取值范围为1~16,即一个快照一致性组内最多支持设置16块总大小不超过32 TiB的云盘。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 该参数不可与`ExcludeDiskId.N`同时设置。'."\n" + .'- 如果您设置了`InstanceId`,则该参数只能设置指定实例内已挂载的云盘,不再支持设置多个跨实例的云盘ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp1bcpqxahucdrcn****', + ], + 'required' => false, + 'maxItems' => 128, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '快照一致性组的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '快照一致性组的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'SnapshotGroupId' => [ + 'description' => '快照一致性组ID。', + 'type' => 'string', + 'example' => 'ssg-j6ciyh3k52qp7ovm****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '01ABBD93-1ABB-4D92-B496-1A3D20EC0697', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDiskIds.NotInSameZone', + 'errorMessage' => 'The specified disks are not in the same availability zone.', + ], + [ + 'errorCode' => 'MissingParamter.InstanceId', + 'errorMessage' => 'The specified InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParam.ExcludeDiskIdsAndDiskIds.Conflict', + 'errorMessage' => 'The use of parameter \'ExcludeDiskIds\' and \'DiskIds\' at the same time is not supported.', + ], + [ + 'errorCode' => 'InvalidSnapshotName.Malformed', + 'errorMessage' => 'The specified SnapshotName is wrongly formed.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidRetentionDays.Malformed', + 'errorMessage' => 'The specified RetentionDays is not valid.', + ], + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The special disk is encrypted, not support this operate.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description', + 'errorMessage' => 'The specified Description is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectDiskStatus.CreatingSnapshot', + 'errorMessage' => 'A previous snapshot creation is in process.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The disk attached instance is locked due to security.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.NeverAttached', + 'errorMessage' => 'The specified disk has never been attached to any instance.', + ], + [ + 'errorCode' => 'QuotaExceed.Snapshot', + 'errorMessage' => 'The snapshot quota exceeds.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.NeverUsed', + 'errorMessage' => 'The specified disk has never been used after creating.', + ], + [ + 'errorCode' => 'CreateSnapshot.Failed', + 'errorMessage' => 'The process of creating snapshot is failed.', + ], + [ + 'errorCode' => 'DiskInArrears', + 'errorMessage' => 'The specified operation is denied as your disk has expired.', + ], + [ + 'errorCode' => 'DiskId.ValueNotSupported', + 'errorMessage' => 'The specified parameter diskid is not supported.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus', + 'errorMessage' => 'The current disk status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectVolumeStatus', + 'errorMessage' => 'The current volume status does not support this operation.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified clientToken is used.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.Invalid', + 'errorMessage' => 'The specified device status invalid, restart instance and try again.', + ], + [ + 'errorCode' => 'IncorrectDiskType.NotSupport', + 'errorMessage' => 'The specified device type is not supported.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.Transferring', + 'errorMessage' => 'The specified device is transferring, you can retry after the process is finished.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK needs to be enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + [ + 'errorCode' => 'InvalidSnapshotCategory.Malformed', + 'errorMessage' => 'The specified Category is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.Unauthorized', + 'errorMessage' => 'The specified operation is unauthorized.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupportSnapshotInstantAccessRegion', + 'errorMessage' => 'The snapshot InstantAccess is not supported for this region.', + ], + [ + 'errorCode' => 'InvalidCategoryAndInstantAccess.Malformed', + 'errorMessage' => 'The snapshot Category and InstantAccess can\'t be used together.', + ], + [ + 'errorCode' => 'IncorrectDiskStatus.TooManyCreatingSnapshots', + 'errorMessage' => 'The specified disk has too many unfinished snapshots.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support creating snapshot group.', + ], + [ + 'errorCode' => 'UserNotInTheWhiteList', + 'errorMessage' => 'The user is not in the white list of creating snapshot group.', + ], + [ + 'errorCode' => 'InvalidInstance.NoDisk', + 'errorMessage' => 'There is no disk mounted on the instance.', + ], + [ + 'errorCode' => 'NumberExceed.TooManyDisks', + 'errorMessage' => 'The number of all disks in the request exceeds.', + ], + [ + 'errorCode' => 'CapacityExceed.TooManyDisks', + 'errorMessage' => 'The capacity of all disks in the request exceeds.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiAttachDisk', + 'errorMessage' => 'Multi attach disk does not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK needs to be added ECS tag.', + ], + [ + 'errorCode' => 'InvalidDisk.DiskCategoryInconsistent', + 'errorMessage' => 'If any specified disk is of a regional disk category, then all disks must also be of that regional disk category.', + ], + [ + 'errorCode' => 'QuotaExceed.ConcurrentSnapshotQuota', + 'errorMessage' => 'The number of snapshots being created for the disk %s has exceeded the concurrent quota (%s). Please wait for the previous snapshots to complete before trying again.', + ], + [ + 'errorCode' => 'InvalidDisk.ShareVolume', + 'errorMessage' => 'The specified diskId is invalid. The shared volume does not support creating a snapshot group.', + ], + [ + 'errorCode' => 'InvalidParameter.UnauthorizedStorageLocationArn', + 'errorMessage' => 'The operation has failed due to lack of permission for the specified "StorageLocationArn". Please use a resource with appropriate permission for the operation.', + ], + [ + 'errorCode' => 'InvalidOperation.SnapshotStorageLocationUnsupported', + 'errorMessage' => 'Snapshots with storage location in CloudBox do not support the current operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified DiskId does not exist.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidVolumeId.NotFound', + 'errorMessage' => 'The specified volume does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidKMSKeyId.NotFound', + 'errorMessage' => 'The KMS key used by the disk does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SnapshotGroupId\\": \\"ssg-j6ciyh3k52qp7ovm****\\",\\n \\"RequestId\\": \\"01ABBD93-1ABB-4D92-B496-1A3D20EC0697\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 01ABBD93-1ABB-4D92-B496-1A3D20EC0697\\n ssg-j6ciyh3k52qp7ovm****\\n","errorExample":""}]', + 'title' => '创建快照一致性组', + 'description' => '您可以设置`InstanceId`为实例内的指定云盘创建快照一致性组;也可以只使用`DiskId.N`为同可用区内多台ECS实例挂载的多块云盘创建快照一致性组。'."\n" + ."\n" + .'> `DiskId.N`不可与`ExcludeDiskId.N`同时设置。此外,如果设置了`InstanceId`,则`DiskId.N`只能设置指定实例内已挂载的云盘,不再支持设置多个跨实例的云盘ID。'."\n" + ."\n" + .'创建快照一致性组时,请注意:'."\n" + ."\n" + .'- 待创建快照的云盘必须处于**使用中**(`In_use`)或**待挂载**(`Available`)的状态。'."\n" + ."\n" + .' - 如果云盘处于**使用中**(`In_use`)的状态,则ECS实例状态为**运行中**(`Running`)或者**已停止**(`Stopped`)。'."\n" + .' - 如果云盘处于**待挂载**(`Available`)的状态,则需要保证云盘有过挂载到ECS实例的历史操作。从未挂载过ECS实例的云盘不支持创建快照。'."\n" + ."\n" + .'- 目前快照一致性组只支持ESSD系列云盘(ESSD、ESSD AutoPL、ESSD Entry)。'."\n" + .'- 单个快照一致性组最多包括16块云盘(包括系统盘和数据盘),且总容量不超过32 TiB。'."\n" + .'- 您自行创建的快照会一直保留,请定期删除不再需要的快照,避免快照容量持续扣费。'."\n" + .'- 开启多重挂载特性的云盘不支持创建快照一致性组。如果实例挂载了开启多重挂载特性的云盘,您需要设置`ExcludeDiskId.N`参数排除该云盘。'."\n" + ."\n" + .'关于快照一致性组的功能、计费等信息,请参见[快照一致性组](~~199625~~)。', + ], + 'DescribeSnapshotGroups' => [ + 'summary' => '查询一个或多个快照一致性组的信息。例如状态、所属的实例ID、快照创建进度等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28995', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-j6ca469urv8ei629****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'testName', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'最大值为100。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'SnapshotGroupId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '指定的快照一致性组ID。N的取值范围为1~10。', + 'type' => 'array', + 'items' => [ + 'description' => '指定的快照一致性组ID。N的取值范围为1~10。', + 'type' => 'string', + 'required' => false, + 'example' => 'ssg-j6ciyh3k52qp7ovm****', + ], + 'required' => false, + 'example' => 'ssg-j6ciyh3k52qp7ovm****', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '快照一致性组的状态。N的取值范围为1~3。取值如下:'."\n" + ."\n" + .'- progressing:创建中。'."\n" + ."\n" + .'- accomplished:创建成功。'."\n" + ."\n" + .'- failed:创建失败。', + 'type' => 'array', + 'items' => [ + 'description' => '快照一致性组的状态。N的取值范围:1~3。取值如下:'."\n" + ."\n" + .'- progressing:创建中。'."\n" + ."\n" + .'- accomplished:创建成功。'."\n" + ."\n" + .'- failed:创建失败。', + 'type' => 'string', + 'required' => false, + 'example' => 'accomplished', + ], + 'required' => false, + 'example' => 'accomplished', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'AdditionalAttributes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'required' => false, + 'example' => 'hide', + 'maxItems' => 5, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '快照一致性组的标签键值对。', + 'type' => 'array', + 'items' => [ + 'description' => '快照一致性组的标签键值对。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '快照一致性组的标签键。N的取值范围为1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '快照一致性组的标签值。N的取值范围为1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '下一个查询起始标志。'."\n" + ."\n" + .'> 该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '3F9A4CC4-362F-469A-B9EF-B3204EF8AA3A', + ], + 'SnapshotGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SnapshotGroup' => [ + 'description' => '快照一致性组的信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '快照一致性组的状态。可能值:'."\n" + ."\n" + .'- progressing:创建中。'."\n" + ."\n" + .'- accomplished:创建成功。'."\n" + ."\n" + .'- failed:创建失败。', + 'type' => 'string', + 'example' => 'accomplished', + ], + 'CreationTime' => [ + 'description' => '创建时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2021-03-23T10:58:48Z', + ], + 'Description' => [ + 'description' => '描述。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'ProgressStatus' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'SnapshotGroupId' => [ + 'description' => '快照一致性组ID。', + 'type' => 'string', + 'example' => 'ssg-j6ciyh3k52qp7ovm****', + ], + 'InstanceId' => [ + 'description' => '快照一致性组所属的实例ID。该参数仅当快照一致性组内的所有云盘快照属于同一实例时有返回值。如果您的快照一致性组内的多个云盘快照分别属于不同的ECS实例,则您可以通过返回结果中的`Snapshots.Snapshot.Tags.*`参数,查看组内单个快照所属的实例ID。', + 'type' => 'string', + 'example' => 'i-j6ca469urv8ei629****', + ], + 'Name' => [ + 'description' => '快照一致性组的名称。', + 'type' => 'string', + 'example' => 'testName', + ], + 'ResourceGroupId' => [ + 'description' => '快照一致性组所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '快照一致性组的标签键值对。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '快照一致性组的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '快照一致性组的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + ], + ], + 'Snapshots' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Snapshot' => [ + 'description' => '快照一致性组中包含的快照信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SourceDiskId' => [ + 'description' => '源云盘ID。如果快照的源云盘已经被释放,该字段仍旧保留。', + 'type' => 'string', + 'example' => 'd-j6c3ogynmvpi6wy7****', + ], + 'Progress' => [ + 'description' => '快照创建进度,单位为百分比。', + 'type' => 'string', + 'example' => '100%', + ], + 'Available' => [ + 'description' => '快照是否可用于创建云盘、回滚云盘、共享快照。可能值:'."\n" + ."\n" + .'- true:可用。'."\n" + .'- false:不可用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'InstantAccessRetentionDays' => [ + 'description' => '快照极速可用功能的保留时间,保留时间到期后快照将自动释放。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'SnapshotId' => [ + 'description' => '快照ID。', + 'type' => 'string', + 'example' => 's-j6cbzmrlbf09w72q****', + ], + 'InstantAccess' => [ + 'description' => '是否开启了快照极速可用能力。可能值:'."\n" + ."\n" + .'- true:开启。ESSD云盘默认开启该能力。'."\n" + .'- false:关闭。即快照为未开启极速可用能力的标准快照。'."\n" + ."\n" + .'>该参数已弃用。ESSD云盘标准快照已升级为[默认极速可用](~~193667~~),您无需额外配置,且不产生额外花销。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'SourceDiskType' => [ + 'description' => '源云盘类型。可能值:'."\n" + ."\n" + .'- system:系统盘。'."\n" + .'- data:数据盘。', + 'type' => 'string', + 'example' => 'system', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '快照一致性组内各个快照的标签键值对。默认包含了快照来源的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '快照一致性组内各个快照的标签键。Key和Value的默认值中提供了快照来源信息。', + 'type' => 'string', + 'example' => 'acs:ecs:createFrom', + ], + 'Value' => [ + 'description' => '快照一致性组内各个快照的标签值。Key和Value的默认值中提供了快照来源信息。', + 'type' => 'string', + 'example' => 'i-bp11qm0o3dk4iuc****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidSnapshotGroupId.MustBeOne', + 'errorMessage' => 'The size of SnapshotGroupIds must be one when AdditionalAttributes has SNAPSHOT_GROUP_PROGRESS_STATUS.', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => 'The specified parameter status is not valid. The expected status is progressing, accomplished or failed.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"3F9A4CC4-362F-469A-B9EF-B3204EF8AA3A\\",\\n \\"SnapshotGroups\\": {\\n \\"SnapshotGroup\\": [\\n {\\n \\"Status\\": \\"accomplished\\",\\n \\"CreationTime\\": \\"2021-03-23T10:58:48Z\\",\\n \\"Description\\": \\"This is description.\\",\\n \\"ProgressStatus\\": \\"null\\",\\n \\"SnapshotGroupId\\": \\"ssg-j6ciyh3k52qp7ovm****\\",\\n \\"InstanceId\\": \\"i-j6ca469urv8ei629****\\",\\n \\"Name\\": \\"testName\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n {\\n \\"SourceDiskId\\": \\"d-j6c3ogynmvpi6wy7****\\",\\n \\"Progress\\": \\"100%\\",\\n \\"Available\\": false,\\n \\"InstantAccessRetentionDays\\": 3,\\n \\"SnapshotId\\": \\"s-j6cbzmrlbf09w72q****\\",\\n \\"InstantAccess\\": true,\\n \\"SourceDiskType\\": \\"system\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"acs:ecs:createFrom\\",\\n \\"Value\\": \\"i-bp11qm0o3dk4iuc****\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a4883\\n 3F9A4CC4-362F-469A-B9EF-B3204EF8AA3A\\n \\n \\n accomplished\\n This is description.\\n \\n 2021-03-23T10:58:48Z\\n ssg-j6ciyh3k52qp7ovm****\\n rg-bp67acfmxazb4p****\\n testName\\n \\n \\n TestValue\\n TestKey\\n \\n \\n \\n \\n s-j6cbzmrlbf09w72q****\\n 100%\\n false\\n 3\\n system\\n d-j6c3ogynmvpi6wy7****\\n \\n \\n i-bp11qm0o3dk4iuc****\\n acs:ecs:createFrom\\n \\n \\n \\n \\n s-bp1fgrjucs8wr31****\\n 100%\\n system\\n d-bp1bcsu5leotddp****\\n \\n \\n i-bp1emqgxsg88zdl****\\n acs:ecs:createFrom\\n \\n \\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询快照一致性组', + 'description' => '`InstanceId`、`SnapshotGroupId.N`和`Status.N`不是必需的请求参数,但是可以构建过滤器逻辑,参数之间为逻辑与(And)关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySnapshotGroup' => [ + 'summary' => '修改快照一致性组的名称与描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29105', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnapshotGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组ID。您可以调用[DescribeSnapshotGroups](~~210940~~)查询快照一致性组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ssg-j6ciyh3k52qp7ovm****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '修改后的快照一致性组名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头,可以包含数字、英文句号(.)、下划线(_)、短划线(-)或者半角冒号(:)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testName02', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '修改后的描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is new description', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A00B5E55-76B7-42C8-8A80-AF10E980DCC7', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description', + 'errorMessage' => 'The specified Description is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSnapshotGroup.NotFound', + 'errorMessage' => 'The SnapshotGroupId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A00B5E55-76B7-42C8-8A80-AF10E980DCC7\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n A00B5E55-76B7-42C8-8A80-AF10E980DCC7\\r\\n","errorExample":""}]', + 'title' => '修改快照一致性组', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteSnapshotGroup' => [ + 'summary' => '删除快照一致性组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28888', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnapshotGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照一致性组ID。您可以调用[DescribeSnapshotGroups](~~210940~~)查询快照一致性组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ssg-j6c9lpuyxo2uxxny****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6EDE885A-FDC1-4FAE-BC44-6EACAEA6CC6E', + ], + 'OperationProgressSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OperationProgress' => [ + 'description' => '删除快照一致性组时操作状态信息合集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ErrorMsg' => [ + 'description' => '错误信息。删除成功时返回空值。'."\n" + ."\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.alibabacloud.com/status/product/Ecs)。'."\n" + ."\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.aliyun.com/status/product/Ecs)。', + 'type' => 'string', + 'example' => 'testErrorMsg', + ], + 'ErrorCode' => [ + 'description' => '错误码。删除成功时返回空值。'."\n" + ."\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.alibabacloud.com/status/product/Ecs)。'."\n" + ."\n" + .'错误码和错误信息,请参见[错误中心](https://error-center.aliyun.com/status/product/Ecs)。', + 'type' => 'string', + 'example' => '400', + ], + 'OperationStatus' => [ + 'description' => '操作是否成功。成功返回Success,失败返回ErrorCode和ErrorMsg信息。', + 'type' => 'string', + 'example' => 'Success', + ], + 'RelatedItemSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RelatedItem' => [ + 'description' => '资源信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '资源名称。', + 'type' => 'string', + 'example' => 'SnapshotId', + ], + 'Value' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 's-j6c9lpuyxo2uxxnx****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'SnapshotCreatedImage', + 'errorMessage' => 'The snapshot has been used to create user defined image(s).', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'SnapshotCreatedDisk', + 'errorMessage' => 'The snapshot that you are trying to delete is in use by one or more Disks.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => 'The current operation is not supported because the resource is managed by a cloud product. Please contact the relevant cloud product to confirm the reason.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSnapshotGroup.NotFound', + 'errorMessage' => 'The SnapshotGroupId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6EDE885A-FDC1-4FAE-BC44-6EACAEA6CC6E\\",\\n \\"OperationProgressSet\\": {\\n \\"OperationProgress\\": [\\n {\\n \\"ErrorMsg\\": \\"testErrorMsg\\",\\n \\"ErrorCode\\": \\"400\\",\\n \\"OperationStatus\\": \\"Success\\",\\n \\"RelatedItemSet\\": {\\n \\"RelatedItem\\": [\\n {\\n \\"Name\\": \\"SnapshotId\\",\\n \\"Value\\": \\"s-j6c9lpuyxo2uxxnx****\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 6EDE885A-FDC1-4FAE-BC44-6EACAEA6CC6E\\n \\n \\n Success\\n \\n \\n \\n s-j6c9lpuyxo2uxxnx****\\n SnapshotId\\n \\n \\n \\n \\n \\n Success\\n \\n \\n \\n s-j6c9lpuyxo2uxxnx****\\n SnapshotId\\n \\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '删除快照一致性组', + 'description' => '如果快照一致性组中的云盘快照已经用于创建自定义镜像,则快照一致性组删除时相关的云盘快照不会被删除。您如果需要删除相关的云盘快照,请先删除已创建的自定义镜像([DeleteImage](~~25537~~)),再删除相关的云盘快照([DeleteSnapshot](~~25525~~))。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateAutoSnapshotPolicy' => [ + 'summary' => '在指定地域下创建一条自动快照策略。可以指定自动快照的重复周期、保留时间以及跨地域备份等策略,为系统盘或数据盘创建快照备份数据。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'abilityTreeCode' => '28815', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'regionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略所属的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'autoSnapshotPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略的名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://或https://开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。'."\n" + ."\n" + .'默认值:空', + 'type' => 'string', + 'required' => false, + 'example' => 'TestName', + ], + ], + [ + 'name' => 'timePoints', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照的创建时间点。使用UTC +8时间,单位为小时。取值范围:0~23,代表00:00至23:00共24个时间点,例如1表示01:00。格式说明:'."\n" + ."\n" + .'- 传入的参数需要保持JSON数组格式。例如,\\["1"\\]表示01:00创建自动快照。'."\n" + .'- 当一天内需要创建多次自动快照时,可以传入多个时间点,时间点之间用半角逗号(,)隔开,最多传入24个时间点。例如,\\["1","3","5"\\]表示01:00、03:00、05:00时创建自动快照。'."\n" + ."\n" + .'>如果云盘数据较多,单次创建自动快照的时长超过两个时间点之间的间隔,则自动跳过下一时间点。例如:您分别设置了09:00、10:00、11:00和12:00为自动快照时间点。由于云盘数据较多,09:00开始创建,10:20完成创建,实际耗时80分钟。系统会跳过时间点10:00,等到11:00继续为您创建自动快照。', + 'type' => 'string', + 'required' => true, + 'example' => '["0", "1", … "23"]', + ], + ], + [ + 'name' => 'repeatWeekdays', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照的重复日期,单位为天,周期为星期。取值范围:1~7,例如1表示周一。格式说明:'."\n" + ."\n" + .'- 传入的参数需要保持JSON数组格式。例如,\\["1"\\]表示每周一重复创建自动快照。'."\n" + .'- 当一星期内需要创建多次自动快照时,可以传入多个时间点,时间点之间用半角逗号(,)隔开,最多传入7个时间点。例如,\\["1","3","5"\\]表示每周一、周三、周五重复创建自动快照。', + 'type' => 'string', + 'required' => true, + 'example' => '["1","2"]', + ], + ], + [ + 'name' => 'retentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照的保留时间,单位为天。取值范围:'."\n" + ."\n" + .'- -1:永久保存'."\n" + .'- 1~65535:指定保存天数'."\n" + ."\n" + .'默认值:-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '30', + ], + ], + [ + 'name' => 'EnableCrossRegionCopy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许自动跨地域复制。'."\n" + ."\n" + .'- true:允许。'."\n" + .'- false:不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TargetCopyRegions', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域复制快照的目标地域。目前支持设置一个目标地域。', + 'type' => 'string', + 'required' => false, + 'example' => '["cn-hangzhou"]', + ], + ], + [ + 'name' => 'StorageLocationArn', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'CopiedSnapshotsRetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域复制快照的保留时间,单位为天。取值范围:'."\n" + ."\n" + .'- -1:永久保存'."\n" + .'- 1~65535:指定保存天数'."\n" + ."\n" + .'默认值:-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '自动快照策略标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '自动快照策略的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun或acs:开头,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '自动快照策略的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2kkmhmhs****', + ], + ], + [ + 'name' => 'CopyEncryptionConfiguration', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '快照异地备份加密参数对象', + 'type' => 'object', + 'properties' => [ + 'Encrypted' => [ + 'description' => '是否开启快照异地加密备份。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'KMSKeyId' => [ + 'description' => '快照异地加密备份使用的 KMS 密钥 ID', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', + ], + 'Arn' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RoleType' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + 'Rolearn' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + 'AssumeRoleFor' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000000000', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AutoSnapshotPolicyId' => [ + 'description' => '自动快照策略ID。', + 'type' => 'string', + 'example' => 'sp-bp12m37ccmxvbmi5****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The type of the specified disk does not support creating a snapshot.', + ], + [ + 'errorCode' => 'InvalidSnapshotPolicyName.Malformed', + 'errorMessage' => 'The specified autoSnapshotPolicyName is wrongly formed.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptedIllegal', + 'errorMessage' => 'The specified parameter Encrypted must be true when kmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnable', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParam.EncryptedMismatch', + 'errorMessage' => 'Creating encrypted disks with shared encrypted image requires replacing encryption keys.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'The specified RegionId parameter is invalid.', + ], + [ + 'errorCode' => 'AutoSnapshotPolicy.QuotaExceed', + 'errorMessage' => 'The maximum number of automatic snapshot policy has been reached.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetCopyRegions', + 'errorMessage' => 'The specified TargetCopyRegions is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CopiedSnapshotsRetentionDays', + 'errorMessage' => 'The specified CopiedSnapshotsRetentionDays is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'InvalidOperation.KMSKeyIdNotFound', + 'errorMessage' => 'The specified KMSKeyId not found, %s.', + ], + [ + 'errorCode' => 'Abs.InvalidAction.RegionNotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp12m37ccmxvbmi5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\"\\n \\"AutoSnapshotPolicyId\\":\\"p-233e6ylv0\\"\\n}"},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n sp-bp12m37ccmxvbmi5****\\n","errorExample":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n p-233e6ylv0\\n"}]', + 'title' => '创建自动快照策略', + 'description' => '调用该接口之前,请认真阅读[创建自动快照策略](~~127767~~)。'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 一个阿里云账户在一个地域最多能创建100条自动快照策略。 当某块云盘的自动快照数量达到额度上限,系统在创建新的快照任务时,会删除由自动快照策略所生成的时间最早的自动快照点。'."\n" + ."\n\n" + .'- 当ECS实例存在停止或者重启任务时,系统不会执行自动快照策略。'."\n" + .'- 已启用快照跨地域复制且在未配置加密参数场景下,加密快照默认使用目的端服务密钥进行加密拷贝。跨地域复制快照的注意事项,请参见[复制快照](~~159441~~)。'."\n" + ."\n" + .'创建自动快照策略后,需要调用[ApplyAutoSnapshotPolicy](~~25531~~)将策略应用到目标云盘。如果您需要调整自动快照策略的内容,请调用[ModifyAutoSnapshotPolicyEx](~~25529~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAutoSnapshotPolicyEx' => [ + 'summary' => '本接口用于查询指定地域下已创建的自动快照策略详细信息列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28902', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要查询的自动快照策略所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'AutoSnapshotPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略的名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestName', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略返回结果分多页展示。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页展示返回的自动快照策略时的每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '自动快照策略的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '自动快照策略的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2kkmhmhs****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页展示返回的自动快照策略时的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '自动快照策略列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '自动快照策略的总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'AutoSnapshotPolicies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AutoSnapshotPolicy' => [ + 'description' => '自动快照策略详情集合。', + 'type' => 'array', + 'items' => [ + 'description' => '自动快照策略详情。', + 'type' => 'object', + 'properties' => [ + 'TimePoints' => [ + 'description' => '指定自动快照的创建时间点。'."\n" + ."\n" + .'使用UTC +8时间,单位为小时。从00:00~23:00共24个时间点可选,参数为0~23的数字,如:1代表在01:00时间点。可以选定多个时间点。'."\n" + ."\n" + .'传递参数为JSON数组格式:`["0", "1", ... "23"]`,最多24个时间点,用半角逗号字符(,)隔开。', + 'type' => 'string', + 'example' => '["1"]', + ], + 'CreationTime' => [ + 'description' => '创建时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2019-12-10T16:00Z', + ], + 'Status' => [ + 'description' => '自动快照策略状态。可能值:'."\n" + ."\n" + .'- Normal:正常。'."\n" + .'- Expire:由于账号欠费无法使用该策略。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'AutoSnapshotPolicyName' => [ + 'description' => '自动快照策略的名称。', + 'type' => 'string', + 'example' => 'testAutoSnapshotPolicyName', + ], + 'TargetCopyRegions' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'test', + ], + 'CopiedSnapshotsRetentionDays' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '自动快照策略ID。', + 'type' => 'string', + 'example' => 'sp-bp67acfmxazb4ph****', + ], + 'RetentionDays' => [ + 'description' => '指定自动快照的保留时间,单位为天。可能值:'."\n" + ."\n" + .'- -1:永久保存。'."\n" + .'- 1~65536:指定保存天数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '7', + ], + 'RegionId' => [ + 'description' => '自动快照策略所属的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'DiskNums' => [ + 'description' => '启用该策略的云盘数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'EnableCrossRegionCopy' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'RepeatWeekdays' => [ + 'description' => '指定自动快照的重复日期。选定周一到周日中需要创建快照的日期,参数为1~7的数字,如1表示周一。允许选择多个日期。', + 'type' => 'string', + 'example' => '["6"]', + ], + 'VolumeNums' => [ + 'description' => '启用该策略的拓展卷数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-aek2kkmhmhs****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '自动快照策略的标签键值集合。', + 'type' => 'array', + 'items' => [ + 'description' => '自动快照策略的标签键值集合。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '自动快照策略的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '自动快照策略的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'CopyEncryptionConfiguration' => [ + 'description' => '快照跨地域复制加密参数对象。', + 'type' => 'object', + 'properties' => [ + 'Encrypted' => [ + 'description' => '是否开启快照跨地域加密复制。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'KMSKeyId' => [ + 'description' => '快照跨地域加密复制使用的KMS密钥ID。', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + ], + 'Type' => [ + 'description' => '自动快照策略类型。'."\n" + ."\n" + .'- Custom:用户定义的快照策略。'."\n" + .'- System:系统定义的快照策略。', + 'type' => 'string', + 'example' => 'Custom', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"AutoSnapshotPolicies\\": {\\n \\"AutoSnapshotPolicy\\": [\\n {\\n \\"TimePoints\\": \\"[\\\\\\"1\\\\\\"]\\",\\n \\"CreationTime\\": \\"2019-12-10T16:00Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"AutoSnapshotPolicyName\\": \\"testAutoSnapshotPolicyName\\",\\n \\"TargetCopyRegions\\": \\"test\\",\\n \\"CopiedSnapshotsRetentionDays\\": 0,\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp67acfmxazb4ph****\\",\\n \\"RetentionDays\\": 7,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DiskNums\\": 1,\\n \\"EnableCrossRegionCopy\\": false,\\n \\"RepeatWeekdays\\": \\"[\\\\\\"6\\\\\\"]\\",\\n \\"VolumeNums\\": 2,\\n \\"ResourceGroupId\\": \\"rg-aek2kkmhmhs****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"CopyEncryptionConfiguration\\": {\\n \\"Encrypted\\": false,\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\"\\n },\\n \\"Type\\": \\"Custom\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 1\\n \\n [\\"1\\"]\\n 2019-12-10T16:00Z\\n Normal\\n testAutoSnapshotPolicyName\\n test\\n 0\\n sp-bp67acfmxazb4ph****\\n 7\\n cn-hangzhou\\n 1\\n false\\n [\\"6\\"]\\n 2\\n rg-aek2kkmhmhs****\\n \\n TestValue\\n TestKey\\n \\n Custom\\n \\n","errorExample":""}]', + 'title' => '查询已创建的自动快照策略', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAutoSnapshotPolicyAssociations' => [ + 'summary' => '查询自动快照策略的关联关系', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28902', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略所属的地域 ID。您可以调用 [DescribeRegions](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeregions?spm=a2c4g.11186623.0.i11) 查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略 ID。'."\n" + .'- AutoSnapshotPolicyId 和 DiskId 只能指定一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp12quk7gqhhuu1f****', + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '云盘 ID。'."\n" + .'- AutoSnapshotPolicyId 和 DiskId 只能指定一个。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次 API 调用返回的`NextToken`参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值为 100。'."\n" + ."\n" + .'默认值:'."\n" + .'- 当不设置值或设置的值小于 10 时,默认值为 10。'."\n" + .'- 当设置的值大于 100 时,默认值为 100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + 'AutoSnapshotPolicyAssociations' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AutoSnapshotPolicyAssociation' => [ + 'description' => '自动快照策略的关联关系集合。', + 'type' => 'array', + 'items' => [ + 'description' => '自动快照策略的关联关系。', + 'type' => 'object', + 'properties' => [ + 'AutoSnapshotPolicyId' => [ + 'description' => '自动快照策略 ID。', + 'type' => 'string', + 'example' => 'sp-bp12quk7gqhhuu1f****', + ], + 'DiskId' => [ + 'description' => '云盘 ID。', + 'type' => 'string', + 'example' => 'd-bp67acfmxazb4p****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'MissingParameter.AutoSnapshotPolicyIdOrDiskId', + 'errorMessage' => 'The AutoSnapshotPolicyId and DiskId parameters cannot both be empty. Please specify one of them.', + ], + [ + 'errorCode' => 'ParameterConflict.AutoSnapshotPolicyIdAndDiskId', + 'errorMessage' => 'The AutoSnapshotPolicyId and DiskId parameters cannot be specified at the same time. You may specify only one of them.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidAutoSnapshotPolicyId.NotFound', + 'errorMessage' => 'Specified parameter AutoSnapshotPolicyId not found.', + ], + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"AutoSnapshotPolicyAssociations\\": {\\n \\"AutoSnapshotPolicyAssociation\\": [\\n {\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp12quk7gqhhuu1f****\\",\\n \\"DiskId\\": \\"d-bp67acfmxazb4p****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查询自动快照策略的关联关系', + ], + 'ModifyAutoSnapshotPolicyEx' => [ + 'summary' => '修改一条自动快照策略,例如,快照创建时间点、重复日期、保留时间等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29045', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'regionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'autoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标自动快照策略ID。您可以调用[DescribeAutoSnapshotPolicyEx](~~25530~~)查看您可用的自动快照策略。', + 'type' => 'string', + 'required' => true, + 'example' => 'sp-bp12m37ccmxvbmi5****', + ], + ], + [ + 'name' => 'autoSnapshotPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略的名称。如果参数为空则代表不修改。', + 'type' => 'string', + 'required' => false, + 'example' => 'SPTestName', + ], + ], + [ + 'name' => 'timePoints', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照的创建时间点。使用UTC +8时间,单位为小时。取值范围为0~23,代表00:00至23:00共24个时间点,如1表示01:00。'."\n" + ."\n" + .'当一天内需要创建多次自动快照时,可以传入多个时间点:'."\n" + ."\n" + .'- 最多传入24个时间点。'."\n" + .'- 多个时间点用一个格式类似`"0", "1", … "23"`的JSON数组表示,时间点之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["0", "1"]', + ], + ], + [ + 'name' => 'repeatWeekdays', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照的重复日期,单位为天,周期为星期。取值范围为1~7,如1表示周一。'."\n" + ."\n" + .'当一星期内需要创建多次自动快照时,可以传入多个时间点:'."\n" + ."\n" + .'- 最多传入7个时间点。'."\n" + .'- 多个时间点用一个格式类似`"1", "2", … "7"`的JSON数组表示,时间点之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["1", "7"]', + ], + ], + [ + 'name' => 'retentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照的保留时间,单位为天。取值范围:'."\n" + ."\n" + .'- -1:永久保存。'."\n" + .'- 1~65536:指定保存天数。'."\n" + ."\n" + .'默认值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'EnableCrossRegionCopy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否允许自动跨地域复制。'."\n" + ."\n" + .'- true:允许。'."\n" + .'- false:不允许。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TargetCopyRegions', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域复制快照的目标地域。目前支持设置一个目标地域。', + 'type' => 'string', + 'required' => false, + 'example' => '["cn-hangzhou"]', + ], + ], + [ + 'name' => 'CopiedSnapshotsRetentionDays', + 'in' => 'query', + 'schema' => [ + 'description' => '跨地域复制快照的保留时间,单位为天。取值范围:'."\n" + ."\n" + .'- -1:永久保存。'."\n" + .'- 1~65535:指定保存天数。'."\n" + ."\n" + .'默认值为-1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'CopyEncryptionConfiguration', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '快照跨地域复制加密参数对象', + 'type' => 'object', + 'properties' => [ + 'Encrypted' => [ + 'description' => '是否开启快照跨地域加密复制。取值范围:'."\n" + ."\n" + .'- true:是。 '."\n" + .'- false:否。 '."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'KMSKeyId' => [ + 'description' => '快照跨地域加密复制使用的 KMS 密钥 ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', + ], + 'Arn' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RoleType' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + 'Rolearn' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + 'AssumeRoleFor' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000000000', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.EncryptedIllegal', + 'errorMessage' => 'The specified parameter Encrypted must be true when kmsKeyId is not empty.', + ], + [ + 'errorCode' => 'InvalidParameter.KmsNotEnabled', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnable', + 'errorMessage' => 'Failed to perform this operation because KMS is not activated.', + ], + [ + 'errorCode' => 'InvalidParam.EncryptedMismatch', + 'errorMessage' => 'Creating encrypted disks with shared encrypted image requires replacing encryption keys.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'The specified RegionId parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetCopyRegions', + 'errorMessage' => 'The specified TargetCopyRegions is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CopiedSnapshotsRetentionDays', + 'errorMessage' => 'The specified CopiedSnapshotsRetentionDays is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', + 'errorMessage' => 'ECS service have no right to access your KMS.', + ], + [ + 'errorCode' => 'Abs.InvalidAction.RegionNotSupport', + 'errorMessage' => 'This region does not support this action.', + ], + [ + 'errorCode' => 'InvalidOperation.PolicyTypeUnsupported', + 'errorMessage' => 'The current policy type does not support this operation. Only custom policies are permitted.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', + 'errorMessage' => 'The CMK (Customer Master Key) must be in an active state.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.CMKUnauthorized', + 'errorMessage' => 'The CMK(Customer Master Key) lacks authorization to add tags to the ECS service.', + ], + ], + [ + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'The specified automatic snapshot policy does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.KMSKeyId.NotFound', + 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\"\\n}"},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n","errorExample":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n"}]', + 'title' => '修改自动快照策略', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 不支持修改系统策略。'."\n" + .'- 修改自动快照策略后,之前已应用该策略的云盘随即执行修改后的自动快照策略。'."\n" + .'- 已启用快照跨地域复制且在未配置加密参数场景下,加密快照默认使用目的端服务密钥进行加密拷贝。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ApplyAutoSnapshotPolicy' => [ + 'summary' => '为一块或者多块云盘应用自动快照策略。目标云盘已经应用了自动快照策略时,调用ApplyAutoSnapshotPolicy可以更换云盘当前应用的自动快照策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28784', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'regionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略和云盘所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'autoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标自动快照策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sp-bp14yziiuvu3s6jn****', + ], + ], + [ + 'name' => 'diskIds', + 'in' => 'query', + 'schema' => [ + 'description' => '一块或多块云盘的ID。取值是JSON数组格式,云盘ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'example' => '["d-bp14k9cxvr5uzy54****", "d-bp1dtj8v7x6u08iw****", "d-bp1c0tyj9tfli2r8****"]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DiskCategory.OperationNotSupported', + 'errorMessage' => 'The type of the specified disk does not support creating a snapshot.', + ], + [ + 'errorCode' => 'PartofDiskCategory.OperationNotSupported', + 'errorMessage' => 'The types of some disks in the disk list do not support creating snapshots.', + ], + [ + 'errorCode' => 'InvalidAutoSnapshotPolicyId.NotFound', + 'errorMessage' => 'The specified AutoSnapshotPolicyId does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'The specified RegionId parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.SnapshotServiceUnavailable', + 'errorMessage' => 'Snapshot service has not been opened yet.', + ], + [ + 'errorCode' => 'InvalidOperation.SnapshotAlreadyCreatedUnsupported', + 'errorMessage' => 'The current disk already has snapshots created by non-promotional activities. Snapshot policies bound to promotional activities are not supported.', + ], + [ + 'errorCode' => 'QuotaExceed.AppliedAutoSnapshotPolicyQuota', + 'errorMessage' => 'The number of auto snapshot policies applied to the specified disk %s has exceeded the quota %s. Please cancel any unused policies and try again.', + ], + [ + 'errorCode' => 'InvalidOperation.AutoSnapshotPolicyConflict', + 'errorMessage' => 'The disk %s cannot apply the auto snapshot policy of promotional activities and other policies at the same time.', + ], + ], + [ + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'The specified automatic snapshot policy does not exist.', + ], + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified disk does not exist in the region.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\"\\n}"},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n","errorExample":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n"}]', + 'title' => '为云盘应用自动快照策略', + 'description' => '## 接口说明'."\n" + .'调用该接口时,您需要注意:'."\n" + .'- 一块云盘只能应用一条自动快照策略。'."\n" + .'- 一条自动快照策略能应用到多块云盘。'."\n" + ."\n" + .'功能变更:'."\n" + ."\n" + .'默认单块云盘仅可应用 1 条策略,功能升级后,单块云盘将支持同时应用最多 10 条自动快照策略,满足多场景备份需求。'."\n" + ."\n" + .'功能升级需要申请白名单,请 [提交工单](https://smartservice.console.aliyun.com/service/create-ticket) 申请。'."\n" + ."\n" + .'功能升级后,您需要注意:'."\n" + .'- 每块云盘支持应用多条自动快照策略,上限为 10 条。'."\n" + .'- 若目标云盘已应用自动快照策略,在调用该接口时,将在原有基础上新增,不会更换已有策略。'."\n" + .'>请自主取消不需要的自动快照策略,以免产生非预期费用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelAutoSnapshotPolicy' => [ + 'summary' => '取消一块或者多块云盘的自动快照策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28799', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'regionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略和云盘所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'diskIds', + 'in' => 'query', + 'schema' => [ + 'description' => '目标云盘ID。当您需要取消多块云盘的自动快照策略时,多块云盘ID用一个格式类似 "d-xxxxxxxxx", "d-yyyyyyyyy", … "d-zzzzzzzzz" 的JSON数组表示,云盘ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'example' => '["d-bp14k9cxvr5uzy54****", "d-bp1dtj8v7x6u08iw****", "d-bp1c0tyj9tfli2r8****"]', + ], + ], + [ + 'name' => 'autoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要取消的自动快照策略 ID。'."\n" + .'- 默认值为空。如果使用默认值,您需要注意:'."\n" + .' - 如果云盘上的自动快照策略数量是 1,则会取消这条自动快照策略。'."\n" + .' - 如果云盘上的自动快照策略数量大于 1,则会返回`OperationDenied.TooManyAutoSnapshotPolicies`错误码,导致请求失败。建议您使用`autoSnapshotPolicyId`明确指定需要取消的自动快照策略 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp14yziiuvu3s6jn****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'The specified RegionId parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.SnapshotPolicyHasDeleted', + 'errorMessage' => 'The snapshot policy associated with the current operation has been deleted. Check whether the parameters are correct.', + ], + [ + 'errorCode' => 'OperationDenied.TooManyAutoSnapshotPolicies', + 'errorMessage' => 'The specified disk %s has already applied multiple auto snapshot policies. To cancel a policy, please explicitly specify the autoSnapshotPolicyId parameter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The specified DiskIds are not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\"\\n}"},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n","errorExample":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n"}]', + 'title' => '取消云盘的自动快照策略', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteAutoSnapshotPolicy' => [ + 'summary' => '删除一条自动快照策略。如果目标自动快照策略已经被应用到磁盘上,删除自动快照策略后,这些磁盘不再执行该策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28857', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'regionId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'autoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '自动快照策略的ID。您可以调用[DescribeAutoSnapshotPolicyEx](~~25530~~)查看您可用的自动快照策略。', + 'type' => 'string', + 'required' => true, + 'example' => 'sp-bp14yziiuvu3s6jn****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ParameterInvalid', + 'errorMessage' => 'The specified automatic snapshot policy does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\"\\n}"},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE \\n","errorExample":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE \\n"}]', + 'title' => '删除自动快照策略', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSnapshotPackage' => [ + 'summary' => '调用DescribeSnapshotPackage查询您在一个阿里云地域下已经购买的OSS存储包。存储包可以用于抵扣标准快照存储容量,但不支持抵扣本地快照。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28998', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'OSS存储包列表的页码。起始值:1'."\n" + ."\n" + .'默认值:1', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。最大值:100'."\n" + ."\n" + .'默认值:10', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '快照所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => 'OSS存储包列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '返回的OSS存储包总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SnapshotPackages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SnapshotPackage' => [ + 'description' => '存储包信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'description' => '存储包名称。', + 'type' => 'string', + 'example' => 'testDisplayName', + ], + 'EndTime' => [ + 'description' => '存储包的过期时间。按照[ISO8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2018-11-30T06:32:31Z', + ], + 'StartTime' => [ + 'description' => '存储包的购买时间。按照[ISO8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2017-11-30T06:32:31Z', + ], + 'InitCapacity' => [ + 'description' => '存储包的最大容量。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '500', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"SnapshotPackages\\": {\\n \\"SnapshotPackage\\": [\\n {\\n \\"DisplayName\\": \\"testDisplayName\\",\\n \\"EndTime\\": \\"2018-11-30T06:32:31Z\\",\\n \\"StartTime\\": \\"2017-11-30T06:32:31Z\\",\\n \\"InitCapacity\\": 500\\n }\\n ]\\n }\\n}","errorExample":"{\\n\\t\\"TotalCount\\": \\"1\\",\\n\\t\\"PageNumber\\": \\"1\\",\\n\\t\\"PageSize\\": \\"5\\",\\n\\t\\"SnapshotPackages\\": {\\n\\t\\t\\"SnapshotPackage\\": [\\n\\t\\t\\t\\"StartTime\\": \\"2017-11-30T06:32:31Z\\",\\n\\t\\t\\t\\"EndTime\\": \\"2018-11-30T06:32:31Z\\",\\n\\t\\t\\t\\"InitCapacity\\": \\"500\\",\\n\\t\\t\\t\\"DisplayName\\": \\"sp-snapshotpackage1\\"\\n\\t\\t]\\n\\t},\\n\\t\\"RequestId\\": \\"ACD9BBB0-A9D1-46D7-9630-B7A69889E110\\"\\n}"},{"type":"xml","example":"\\n\\t1\\n\\t1\\n\\t5\\n\\t\\n\\t\\t\\n\\t\\t\\t2017-11-30T06:32:31Z\\n\\t\\t\\t2018-11-30T06:32:31Z\\n\\t\\t\\t500\\n\\t\\t\\tsp-snapshotpackage1\\n\\t\\t\\n\\t\\n\\tACD9BBB0-A9D1-46D7-9630-B7A69889E110\\n","errorExample":"\\n\\t1\\n\\t1\\n\\t5\\n\\t\\n\\t\\t\\n\\t\\t\\t2017-11-30T06:32:31Z\\n\\t\\t\\t2018-11-30T06:32:31Z\\n\\t\\t\\t500\\n\\t\\t\\tsp-snapshotpackage1\\n\\t\\t\\n\\t\\n\\tACD9BBB0-A9D1-46D7-9630-B7A69889E110\\n"}]', + 'title' => '查询某地域下已购买对象存储OSS存储包', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'LockSnapshot' => [ + 'summary' => '以合规模式锁定快照,以防止快照被意外或者恶意删除。快照锁定期间,任何用户都无法将其删除。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。', + 'description' => '地域 ID。您可以调用 [DescribeRegions](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeregions?spm=a2c4g.11186623.0.i2) 查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'title' => '快照 ID。', + 'description' => '快照 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 's-9dp2qojdpdfmgfmf****', + ], + ], + [ + 'name' => 'LockMode', + 'in' => 'query', + 'schema' => [ + 'title' => '锁定模式。取值范围: ● compliance:以合规模式锁定快照。以合规模式锁定的快照无法被任何用户解锁,只有在锁定时长到期后才能被删除。用户不能缩短锁定时长,但具备相应 RAM 权限的用户可以随时延长锁定时长。以合规模式锁定快照时,可以选择性地指定冷静期。', + 'description' => '锁定模式。取值范围: '."\n" + .'- compliance:以合规模式锁定快照。以合规模式锁定的快照无法被任何用户解锁,只有在锁定时长到期后才能被删除。用户不能缩短锁定时长,但具备相应 RAM 权限的用户可以随时延长锁定时长。以合规模式锁定快照时,可以选择性地指定冷静期。', + 'type' => 'string', + 'required' => true, + 'example' => 'compliance', + ], + ], + [ + 'name' => 'LockDuration', + 'in' => 'query', + 'schema' => [ + 'title' => '锁定时长。锁定时长结束后快照锁定会自动过期。 单位:天。 取值范围:1~36500。', + 'description' => '锁定时长。锁定时长结束后快照锁定会自动过期。 '."\n" + ."\n" + .'单位:天。 '."\n" + ."\n" + .'取值范围:1~36500。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '36500', + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'CoolOffPeriod', + 'in' => 'query', + 'schema' => [ + 'title' => '冷静期。合规模式下可以设置冷静期或者跳过冷静期直接锁定快照。 冷静期内,具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长,冷静期内快照不允许删除。 冷静期结束后,仅支持延长锁定时长。 单位:小时。 取值范围:0~72。取值为 0 表示跳过冷静期直接锁定快照。 如果快照已进入合规模式锁定期,延长锁定时长该参数需要填 0。', + 'description' => '冷静期。合规模式下可以设置冷静期或者跳过冷静期直接锁定快照。 '."\n" + ."\n" + .'冷静期内,具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长,冷静期内快照不允许删除。 '."\n" + ."\n" + .'冷静期结束后,仅支持延长锁定时长。 '."\n" + ."\n" + .'单位:小时。 '."\n" + ."\n" + .'取值范围:0~72。取值为 0 表示跳过冷静期直接锁定快照。 '."\n" + ."\n" + .'如果快照已进入合规模式锁定期,延长锁定时长该参数需要填 0。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '72', + 'minimum' => '0', + 'example' => '3', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求。取值范围: ● true:发送检查请求,不会实际执行。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。 ● false(默认):发送正常请求,通过检查后直接执行请求。', + 'description' => '是否只预检此次请求。取值范围: '."\n" + .'- true:发送检查请求,不会实际执行。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。 '."\n" + .'- false(默认):发送正常请求,通过检查后直接执行请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。', + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见[如何保证幂等性](https://help.aliyun.com/zh/ecs/developer-reference/how-to-ensure-idempotence?spm=a2c4g.11186623.0.0.2a29d467Bh2sO5)。', + 'type' => 'string', + 'required' => false, + 'example' => '5EC38E7D-389F-1925-ABE2-D7925A8F****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求 ID。', + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'LockedSnapshotInfo' => [ + 'title' => '锁定快照信息。', + 'description' => '锁定快照信息。', + 'type' => 'object', + 'properties' => [ + 'SnapshotId' => [ + 'title' => '快照 ID。', + 'description' => '快照 ID。', + 'type' => 'string', + 'example' => 's-9dp2qojdpdfmgfmf****', + ], + 'LockStatus' => [ + 'title' => '锁定状态。可能值: ● compliance-cooloff:快照以合规模式锁定,但仍处于冷静期内。快照无法被删除,但具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长。 ● compliance:快照以合规模式锁定,且冷静期已结束。快照无法被解锁或删除,但具备相应 RAM 权限的用户可以延长锁定时长。 ● expired:快照曾被锁定,但锁定时长已结束,锁定已过期。快照当前未锁定,可以被删除。', + 'description' => '锁定状态。可能值: '."\n" + .'- compliance-cooloff:快照以合规模式锁定,但仍处于冷静期内。快照无法被删除,但具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长。 '."\n" + .'- compliance:快照以合规模式锁定,且冷静期已结束。快照无法被解锁或删除,但具备相应 RAM 权限的用户可以延长锁定时长。 '."\n" + .'- expired:快照曾被锁定,但锁定时长已结束,锁定已过期。快照当前未锁定,可以被删除。', + 'type' => 'string', + 'example' => 'compliance-cooloff', + ], + 'LockCreationTime' => [ + 'title' => '锁定时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'description' => '锁定时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-10-15T10:00:00Z', + ], + 'CoolOffPeriod' => [ + 'title' => '合规模式冷静期。单位:小时。', + 'description' => '合规模式冷静期。单位:小时。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'CoolOffPeriodExpiredTime' => [ + 'title' => '合规模式冷静期结束时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'description' => '合规模式冷静期结束时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-10-15T13:00:00Z', + ], + 'LockDuration' => [ + 'title' => '锁定时长。锁定时长结束后快照锁定会自动过期。单位:天。', + 'description' => '锁定时长。锁定时长结束后快照锁定会自动过期。单位:天。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LockDurationStartTime' => [ + 'title' => '锁定时长开始时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。 如果锁定处于progressing状态的快照,锁定时长将在快照进入accomplished状态后才开始计算。', + 'description' => '锁定时长开始时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。 '."\n" + ."\n" + .'如果锁定处于progressing状态的快照,锁定时长将在快照进入accomplished状态后才开始计算。', + 'type' => 'string', + 'example' => '2025-10-15T10:00:00Z', + ], + 'LockExpiredTime' => [ + 'title' => '锁定过期时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'description' => '锁定过期时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-10-16T10:00:00Z', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidLockMode.Malformed', + 'errorMessage' => 'The specified parameter LockMode is invalid. Please check the valid range for this parameter.', + ], + [ + 'errorCode' => 'InvalidLockDuration.ExceedRetentionDays', + 'errorMessage' => 'The specified parameter LockDuration is invalid. The LockDuration should be less than the snapshot RetentionDays.', + ], + [ + 'errorCode' => 'InvalidCoolOffPeriod.ExceedLockDuration', + 'errorMessage' => 'The specified parameter CoolOffPeriod is invalid. The CoolOffPeriod should be less than the LockDuration.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.SnapshotNotAvailable', + 'errorMessage' => 'The unavailable snapshot does not support locking.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => 'The current operation is not supported because the resource is managed by a cloud product [%s]. Please contact the relevant cloud product to confirm the reason.', + ], + [ + 'errorCode' => 'InvalidOperation.LockSharedSnapshotUnsupported', + 'errorMessage' => 'The shared snapshot does not support locking.', + ], + [ + 'errorCode' => 'InvalidOperation.CoolOffPeriodExpired', + 'errorMessage' => 'The snapshot is locked in compliance mode, and the cool-off period has expired. The current operation is not supported.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified snapshot is not found', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"LockedSnapshotInfo\\": {\\n \\"SnapshotId\\": \\"s-9dp2qojdpdfmgfmf****\\",\\n \\"LockStatus\\": \\"compliance-cooloff\\",\\n \\"LockCreationTime\\": \\"2025-10-15T10:00:00Z\\",\\n \\"CoolOffPeriod\\": 3,\\n \\"CoolOffPeriodExpiredTime\\": \\"2025-10-15T13:00:00Z\\",\\n \\"LockDuration\\": 1,\\n \\"LockDurationStartTime\\": \\"2025-10-15T10:00:00Z\\",\\n \\"LockExpiredTime\\": \\"2025-10-16T10:00:00Z\\"\\n }\\n}","type":"json"}]', + 'title' => '锁定快照', + 'description' => '您还可以使用该接口重新配置已锁定快照,可配置项取决于锁定模式和锁定状态:'."\n" + .'- 如果快照以合规模式锁定,且处于冷静期,支持延长或缩短冷静期、延长或缩短锁定时长。'."\n" + .'- 如果快照以合规模式锁定,且冷静期已过,仅支持延长锁定时长。'."\n" + .'> 在冷静期内重新配置已锁定快照,系统将视为重新锁定操作,所有锁定参数将全部重置,而非单项调整。', + ], + 'DescribeLockedSnapshots' => [ + 'summary' => '查询快照的锁定信息。例如快照锁定状态、锁定配置等。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。', + 'description' => '地域 ID。您可以调用 [DescribeRegions](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeregions?spm=a2c4g.11186623.0.i2) 查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnapshotIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '快照 ID 数组。数组长度:1~100。', + 'description' => '快照 ID 数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'title' => '快照 ID。', + 'description' => '快照 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp67acfmxazb4p****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LockStatus', + 'in' => 'query', + 'schema' => [ + 'title' => '锁定状态。可能值: ● compliance-cooloff:快照以合规模式锁定,但仍处于冷静期内。快照无法被删除,但具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长。 ● compliance:快照以合规模式锁定,且冷静期已结束。快照无法被解锁或删除,但具备相应 RAM 权限的用户可以延长锁定时长。 ● expired:快照曾被锁定,但锁定时长已结束,锁定已过期。快照当前未锁定,可以被删除。', + 'description' => '锁定状态。可能值: '."\n" + .'- compliance-cooloff:快照以合规模式锁定,但仍处于冷静期内。快照无法被删除,但具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长。 '."\n" + .'- compliance:快照以合规模式锁定,且冷静期已结束。快照无法被解锁或删除,但具备相应 RAM 权限的用户可以延长锁定时长。 '."\n" + .'- expired:快照曾被锁定,但锁定时长已结束,锁定已过期。快照当前未锁定,可以被删除。', + 'type' => 'string', + 'required' => false, + 'example' => 'compliance-cooloff', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '查询凭证(Token),取值为上一次 API 调用返回的NextToken参数值。', + 'description' => '查询凭证(Token),取值为上一次 API 调用返回的`NextToken`参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'title' => '分页查询时每页行数。最大值为 100。 默认值: ● 当不设置值或设置的值小于 10 时,默认值为 10。 ● 当设置的值大于 100 时,默认值为 100。', + 'description' => '分页查询时每页行数。最大值为 100。 '."\n" + ."\n" + .'默认值: '."\n" + .'- 当不设置值或设置的值小于 10 时,默认值为 10。 '."\n" + .'- 当设置的值大于 100 时,默认值为 100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求。取值范围: ● true:发送检查请求,不会实际执行。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。 ● false(默认):发送正常请求,通过检查后直接执行请求。', + 'description' => '是否只预检此次请求。取值范围: '."\n" + .'- true:发送检查请求,不会实际执行。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。 '."\n" + .'- false(默认):发送正常请求,通过检查后直接执行请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求 ID。', + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'NextToken' => [ + 'title' => '本次调用返回的查询凭证值。', + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + 'LockedSnapshotsInfo' => [ + 'title' => '锁定快照信息集合。', + 'description' => '锁定快照信息集合。', + 'type' => 'array', + 'items' => [ + 'title' => '锁定快照信息。', + 'description' => '锁定快照信息。', + 'type' => 'object', + 'properties' => [ + 'SnapshotId' => [ + 'title' => '快照 ID。', + 'description' => '快照 ID。', + 'type' => 'string', + 'example' => 's-bp67acfmxazb4p****', + ], + 'LockStatus' => [ + 'title' => '锁定状态。可能值: ● compliance-cooloff:快照以合规模式锁定,但仍处于冷静期内。快照无法被删除,但具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长。 ● compliance:快照以合规模式锁定,且冷静期已结束。快照无法被解锁或删除,但具备相应 RAM 权限的用户可以延长锁定时长。 ● expired:快照曾被锁定,但锁定时长已结束,锁定已过期。快照当前未锁定,可以被删除。', + 'description' => '锁定状态。可能值: '."\n" + .'- compliance-cooloff:快照以合规模式锁定,但仍处于冷静期内。快照无法被删除,但具备相应 RAM 权限的用户可以解锁快照、延长或缩短冷静期、延长或缩短锁定时长。 '."\n" + .'- compliance:快照以合规模式锁定,且冷静期已结束。快照无法被解锁或删除,但具备相应 RAM 权限的用户可以延长锁定时长。 '."\n" + .'- expired:快照曾被锁定,但锁定时长已结束,锁定已过期。快照当前未锁定,可以被删除。', + 'type' => 'string', + 'example' => 'compliance-cooloff', + ], + 'LockCreationTime' => [ + 'title' => '锁定时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'description' => '锁定时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-10-15T10:00:00Z', + ], + 'CoolOffPeriod' => [ + 'title' => '合规模式冷静期。单位:小时。', + 'description' => '合规模式冷静期。单位:小时。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'CoolOffPeriodExpiredTime' => [ + 'title' => '合规模式冷静期结束时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'description' => '合规模式冷静期结束时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-10-15T13:00:00Z', + ], + 'LockDuration' => [ + 'title' => '锁定时长。锁定时长结束后快照锁定会自动过期。单位:天。', + 'description' => '锁定时长。锁定时长结束后快照锁定会自动过期。单位:天。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LockDurationStartTime' => [ + 'title' => '锁定时长开始时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。 如果锁定处于progressing状态的快照,锁定时长将在快照进入accomplished状态后才开始计算。', + 'description' => '锁定时长开始时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。 如果锁定处于progressing状态的快照,锁定时长将在快照进入accomplished状态后才开始计算。', + 'type' => 'string', + 'example' => '2025-10-15T10:00:00Z', + ], + 'LockExpiredTime' => [ + 'title' => '锁定过期时间。按照ISO 8601标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'description' => '锁定过期时间。按照 [ISO 8601](https://help.aliyun.com/zh/ecs/developer-reference/iso-8601-time-format?spm=a2c4g.11186623.0.0.277c6c92kl7kXM) 标准表示,并使用 UTC + 0 时间,格式为 yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-10-16T10:00:00Z', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidLockStatus.Malformed', + 'errorMessage' => 'The specified parameter LockStatus is invalid. Please check the valid range for this parameter.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidSnapshotLock.NotFound', + 'errorMessage' => 'The specified snapshot(s) %s is(are) not locked.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"LockedSnapshotsInfo\\": [\\n {\\n \\"SnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"LockStatus\\": \\"compliance-cooloff\\",\\n \\"LockCreationTime\\": \\"2025-10-15T10:00:00Z\\",\\n \\"CoolOffPeriod\\": 3,\\n \\"CoolOffPeriodExpiredTime\\": \\"2025-10-15T13:00:00Z\\",\\n \\"LockDuration\\": 1,\\n \\"LockDurationStartTime\\": \\"2025-10-15T10:00:00Z\\",\\n \\"LockExpiredTime\\": \\"2025-10-16T10:00:00Z\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询快照锁定信息', + ], + 'UnlockSnapshot' => [ + 'summary' => '解锁以合规模式锁定但仍处于冷静期内的快照。若快照以合规模式锁定且冷静期已结束,则无法解锁。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。', + 'description' => '地域 ID。您可以调用 [DescribeRegions](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeregions?spm=a2c4g.11186623.0.i2) 查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'title' => '快照 ID。', + 'description' => '快照 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 's-9dp2qojdpdfmgfmf****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'title' => '是否只预检此次请求。取值范围: ● true:发送检查请求,不会实际执行。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。 ● false(默认):发送正常请求,通过检查后直接执行请求。', + 'description' => '是否只预检此次请求。取值范围: '."\n" + .'- true:发送检查请求,不会实际执行。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。 '."\n" + .'- false(默认):发送正常请求,通过检查后直接执行请求。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。', + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见[如何保证幂等性](https://help.aliyun.com/zh/ecs/developer-reference/how-to-ensure-idempotence?spm=a2c4g.11186623.0.0.2a29d467Bh2sO5)。', + 'type' => 'string', + 'required' => false, + 'example' => '5EC38E7D-389F-1925-ABE2-D7925A8F****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求 ID。', + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidOperation.CoolOffPeriodExpired', + 'errorMessage' => 'The snapshot is locked in compliance mode, and the cool-off period has expired. The current operation is not supported.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified snapshot is not found', + ], + [ + 'errorCode' => 'InvalidSnapshotLock.NotFound', + 'errorMessage' => 'The specified snapshot(s) %s is(are) not locked.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => '解锁快照', + ], + 'DescribeBandwidthLimitation' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28904', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的计费方式。更多详情,请参见[计费概览](~~25398~~)。取值范围: '."\n" + ."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .'默认值:PostPaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例的抢占策略。取值范围: '."\n" + ."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,最高按量付费价格。'."\n" + ."\n" + .'默认值:NoSpot。'."\n" + ."\n" + .'>当参数InstanceChargeType取值为PostPaid时,参数SpotStrategy才有效。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源ID。'."\n" + ."\n" + .'> 当您将参数OperationType设置为Upgrade或者Downgrade时,参数ResourceId为必选参数。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4ph***', + ], + ], + [ + 'name' => 'OperationType', + 'in' => 'query', + 'schema' => [ + 'description' => '查询不同操作方式的公网带宽规格限制。取值范围: '."\n" + ."\n" + .'- Upgrade:升级公网带宽。'."\n" + .'- Downgrade:降级公网带宽。'."\n" + .'- Create:新建ECS实例。'."\n" + ."\n" + .'默认值:Create。', + 'type' => 'string', + 'required' => false, + 'example' => 'Upgrade', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'Bandwidths' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Bandwidth' => [ + 'description' => '公网带宽上限信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '公网带宽上限信息组成的集合。', + 'type' => 'object', + 'properties' => [ + 'InternetChargeType' => [ + 'description' => '公网带宽的计费方式。可能值:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'Max' => [ + 'description' => '公网带宽最大值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'Min' => [ + 'description' => '公网带宽最小值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'Unit' => [ + 'description' => '公网带宽单位。', + 'type' => 'string', + 'example' => 'Mbps', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The specified InstanceChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidParam', + 'errorMessage' => 'The input parameter DestinationResource that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified ecs instance not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Invalid.ResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + [ + 'errorCode' => 'Invalid.NetworkCategory', + 'errorMessage' => 'The specified NetworkCategory is not valid.', + ], + [ + 'errorCode' => 'Invalid.SpotStrategy', + 'errorMessage' => 'The specified SpotStrategy is not valid.', + ], + [ + 'errorCode' => 'Invalid.IoOptimized', + 'errorMessage' => 'The specified IoOptimized is not valid.', + ], + [ + 'errorCode' => 'Invalid.ResourceId', + 'errorMessage' => 'The specified ResourceId is not valid.', + ], + [ + 'errorCode' => 'Invalid.InstancePayType', + 'errorMessage' => 'The specified InstancePayType is not valid.', + ], + [ + 'errorCode' => 'Invalid.OperationType', + 'errorMessage' => 'The specified OperationType is not valid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Bandwidths\\": {\\n \\"Bandwidth\\": [\\n {\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"Max\\": 100,\\n \\"Min\\": 0,\\n \\"Unit\\": \\"Mbps\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n \\n PayByTraffic\\n 100\\n 0\\n Mbps\\n \\n","errorExample":""}]', + 'title' => '查询不同实例规格公网带宽上限', + 'summary' => '调用DescribeBandwidthLimitation查询不同实例规格可以购买、升级或降配的公网带宽上限。', + ], + 'ModifyInstanceNetworkSpec' => [ + 'summary' => '修改ECS实例的带宽配置、分配公网IP、转换网络计费方式,支持升配和降配。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29076', + 'abilityTreeNodes' => [ + 'FEATUREecsGR65E9', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改网络配置的实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位:Mbit/s(Megabit per second)。取值范围:'."\n" + ."\n" + .'- 按使用流量计费:0~100。'."\n" + ."\n" + .'- 按固定带宽计费:'."\n" + .' - 包年包月实例:0~200。'."\n" + .' - 按量付费实例:0~100。'."\n" + ."\n\n" + .'> 单实例出带宽峰值也会受到ECS实例规格的 **网络带宽基础/突发(Gbit/s)** 指标数据限制。更多信息,请参见[实例规格族](~~25378~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => [ + 'description' => '公网入带宽最大值,单位:Mbit/s(Megabit per second)。取值范围:'."\n" + ."\n" + .'- 当所购公网出带宽小于等于10 Mbit/s时:1~10,默认为10。'."\n" + .'- 当所购公网出带宽大于10 Mbit/s时:1~`InternetMaxBandwidthOut`的取值,默认为`InternetMaxBandwidthOut`的取值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '200', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'ISP', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'NetworkChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '转换网络计费方式。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'AllocatePublicIp', + 'in' => 'query', + 'schema' => [ + 'description' => '是否分配公网IP地址。'."\n" + ."\n" + .'- true:分配。'."\n" + .'- false:不分配。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '临时带宽升级开始时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mmZ。精确到**分钟**(mm)。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-05T22:40Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '临时带宽升级结束时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC+0时间,格式为yyyy-MM-ddTHHZ。精确到**小时**(HH)。'."\n" + ."\n" + .'> 临时升级带宽的结束时间和开始时间的间隔必须大于或等于3小时。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-06T22Z', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付。取值范围: '."\n" + ."\n" + .'- true:变更带宽配置后,自动扣费。当您将参数Autopay置为true时,您需要确保账户余额充足,如果账户余额不足会生成异常订单,此订单暂时不支持通过ECS控制台支付,只能作废。 '."\n" + ."\n" + .''."\n" + .'- false:变更带宽配置后,只生成订单不扣费。如果您的支付方式余额不足,可以将参数Autopay置为false,即取消自动支付,此时调用该接口会生成正常的未支付订单,此订单可登录[ECS管理控制台](https://ecs.console.aliyun.com)支付。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- false:变更带宽配置后,只生成订单不扣费。如果您的支付方式余额不足,可以将参数Autopay置为false,即取消自动支付,此时调用该接口会生成正常的未支付订单,此订单可登录[ECS管理控制台](https://ecs.console.aliyun.com)支付。'."\n" + ."\n" + .''."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '订单ID。仅在修改包年包月(PrePaid)实例的带宽配置时返回。', + 'type' => 'string', + 'example' => '123457890', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInternetMaxBandwidthIn.ValueNotSupported', + 'errorMessage' => 'The specified InternetMaxBandwidthIn is beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidInternetMaxBandwidthOut.ValueNotSupported', + 'errorMessage' => 'The specified InternetMaxBandwidthOut is beyond the permitted range.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified instance is in VPC.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is out of the permitted range.', + ], + [ + 'errorCode' => 'InvalidEndTime.ValueNotSupported', + 'errorMessage' => 'The specified EndTime is out of the permitted range.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to billing method of the instance.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => 'The specified InternetChargeType is invalid.', + ], + [ + 'errorCode' => 'DecreasedBandwidthNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'BandwidthUpgradeDenied.EipBoundInstance', + 'errorMessage' => 'The specified VPC instance has bound EIP, temporary bandwidth upgrade is denied.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, please try again after 5 minutes.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.NotStopped', + 'errorMessage' => 'The specified Instance status is not Stopped.', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => 'Specified action is not valid.', + ], + [ + 'errorCode' => 'IpAllocationError', + 'errorMessage' => 'Allocate public ip failed.', + ], + [ + 'errorCode' => 'InvalidParam.AllocatePublicIp', + 'errorMessage' => 'The specified param AllocatePublicIp is invalid.', + ], + [ + 'errorCode' => 'InstanceDowngrade.QuotaExceed', + 'errorMessage' => 'Quota of instance downgrade is exceed.', + ], + [ + 'errorCode' => 'InvalidBandwidth.ValueNotSupported', + 'errorMessage' => 'Instance upgrade bandwidth of temporary not allow less then existed.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus', + 'errorMessage' => 'The specified instance status does not support this action.', + ], + [ + 'errorCode' => 'InvalidInstance.UnPaidOrder', + 'errorMessage' => 'Unpaid order exists in your account, please complete or cancel the payment in the expense center.', + ], + [ + 'errorCode' => 'LastOrderProcessing', + 'errorMessage' => 'The previous order is still processing, please try again later.', + ], + [ + 'errorCode' => 'LastRequestProcessing', + 'errorMessage' => 'The previous request is still processing, please try again later.', + ], + [ + 'errorCode' => 'InvalidStartTime.BeyondLifeCycle', + 'errorMessage' => 'The specified start time exceeds the expiration time.', + ], + [ + 'errorCode' => 'InvalidEndTime.BeyondLifeCycle', + 'errorMessage' => 'The specified end time exceeds the expiration time.', + ], + [ + 'errorCode' => 'InvalidPayMethod.SyncPaymentNotSupport', + 'errorMessage' => 'Synchronous payment is not supported. Use another payment method.', + ], + [ + 'errorCode' => 'InvalidBandwidthOut.LessThanZero', + 'errorMessage' => 'The bandwidth must be larger than 0 when specifying isp.', + ], + [ + 'errorCode' => 'InvalidParameter.BandwidthBiggerThanBaseBandwidth', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAction.WithActiveElasticUpgrade', + 'errorMessage' => 'The instance has active Elastic Upgrade.', + ], + [ + 'errorCode' => 'InvalidParameter.CloudboxNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.Bandwidth', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NoPermission.Price', + 'errorMessage' => 'The operation requires price permission. Please either apply for permission from your main account, or set the parameter AutoPay as true.', + ], + [ + 'errorCode' => 'NoPermission.Refund', + 'errorMessage' => 'The operation requires refund permission. Please apply for permission from your main account.', + ], + [ + 'errorCode' => 'InvalidParameter.DedicatedRegionNotSupported', + 'errorMessage' => 'The specified action is rejected because the specified ECS instance in the dedicated region does not support public IP.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceStatusUnsupported', + 'errorMessage' => 'The specified instance status is not supported for this operation, expect status is Running or Stopped.', + ], + [ + 'errorCode' => 'QuotaExceeded.InternetBandwidth', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'UnsupportedIspNetworkChargeType', + 'errorMessage' => 'The network charge type is not supported when specifying ISP.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'Current instance status does not support this operation.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'InvalidOperation.InternetMaxBandwidthOutUnsupported', + 'errorMessage' => 'The InternetMaxBandwidthOut is not allowed to modify.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to billing method of the instance.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The operation is denied due to the instance is PrePaid.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidInstance.UnPaidOrder', + 'errorMessage' => 'The specified Instance has unpaid order.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, please try again after 5 minutes.', + ], + [ + 'errorCode' => 'InvalidInstance.InstanceNotSupported', + 'errorMessage' => 'The special vpc instance with eip not need bandwidth.', + ], + [ + 'errorCode' => 'InstanceDowngrade.QuotaExceed', + 'errorMessage' => 'Quota of instance downgrade is exceed.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus', + 'errorMessage' => 'The current status of the instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidOperation.StarterPackage', + 'errorMessage' => 'StarterPackage not support modification.', + ], + [ + 'errorCode' => 'NAT_PUBLIC_IP_BINDING_FAILED', + 'errorMessage' => 'Binding nat public ip failed.', + ], + [ + 'errorCode' => 'InvalidInstance.EipNotSupport', + 'errorMessage' => 'The specified instance with eip is not supported, please unassociate eip first.', + ], + [ + 'errorCode' => 'InvalidInstance.NatPortMapNotSupport', + 'errorMessage' => 'The special instance with nat port map not support operate, please remove nat port map first.', + ], + [ + 'errorCode' => 'OperationDenied.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'Mayi.InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'InvalidNetworkType.ValueNotSupported', + 'errorMessage' => 'The specified parameter NetworkType is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.ImageNotValid', + 'errorMessage' => 'The specified image is not authorized.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.ValueNotSupported', + 'errorMessage' => 'The specified parameter ChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidIspType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedIspChargeType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedIspClassicNetwork', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIspBandwidthOut', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedChangeIsp', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIspUID', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedIspRegion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'BandIncreaseNotSupportIsp', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityRisk.3DVerification', + 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', + ], + [ + 'errorCode' => 'InvalidOperation.PublicIpAddressNoStock', + 'errorMessage' => 'The public IP address for the specified Region or ChargeType of the instance is out of stock. Please try another Region or ChargeType.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'Image.OrderFailed', + 'errorMessage' => 'Create marketplace image order failed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"123457890\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\n 123457890\\n","errorExample":""}]', + 'title' => '调整ECS实例带宽或分配公网IP', + 'description' => '- 修改包年包月(PrePaid)实例的带宽配置时,公网出带宽(InternetMaxBandwidthOut)从0 Mbit/s升级到一个非零值时会自动分配一个公网IP。'."\n" + ."\n" + .'- 修改按量付费(PostPaid)实例的带宽配置时,公网出带宽(InternetMaxBandwidthOut)从0 Mbit/s升级到一个非零值时不会自动分配公网IP。您需要指定参数`AllocatePublicIp`为`true`分配公网IP。'."\n" + .'- 对于经典网络(Classic)类型实例,当公网出带宽(InternetMaxBandwidthOut)从0 Mbit/s升级到一个非零值时,实例必须处于已停止(Stopped)状态。'."\n" + ."\n" + .'> 单个地域下,单个阿里云账号按固定带宽计费的公网带宽峰值总和存在限制,请参见[公网带宽限制](~~25412#BandwidthQuota~~)。'."\n" + .' '."\n" + .'- 费用:'."\n" + .' '."\n" + .' - 升级带宽后,默认自动扣费。您需要确保支付方式余额充足,否则会生成异常订单,此时只能作废订单。如果您的账户余额不足,可以将参数AutoPay置为false,此时会生成正常的未支付订单,您可以登录ECS管理控制台支付。'."\n" + ."\n" + .' - 降低带宽后,价格差退款将原路退还,已使用的代金券不退回。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AllocatePublicIpAddress' => [ + 'summary' => '为一台ECS实例分配一个公网IP地址。推荐您使用接口ModifyInstanceNetworkSpec分配公网IP。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28783', + 'abilityTreeNodes' => [ + 'FEATUREecsCHDP5I', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待分配IP地址的实例ID。'."\n" + ."\n" + .'>该实例带宽必须大于0。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1gtjxuuvwj17zr****', + ], + ], + [ + 'name' => 'IpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的公网IP地址。如果该参数值为空,则默认由系统随机分配IP地址。'."\n" + ."\n" + .'>该参数只支持白名单用户指定,普通用户不支持指定IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '112.124.**.**', + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的VLAN ID。'."\n" + .'> 该参数即将被弃用,为提高兼容性,请尽量使用其他参数。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '720', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'description' => '实例的公网IP地址。', + 'type' => 'string', + 'example' => '112.124.**.**', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.AllocateFailed', + 'errorMessage' => 'The current instance failed to allocate public IP, please try again later.', + ], + [ + 'errorCode' => 'InvalidIpAddress.Malformed', + 'errorMessage' => 'The specified parameter "IpAddress" is not valid.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified operation is denied as your instance is in VPC.', + ], + [ + 'errorCode' => 'InsufficientPublicIp', + 'errorMessage' => 'Ip address not found.', + ], + [ + 'errorCode' => 'AllocateIpInvalidInstanceBandwidth', + 'errorMessage' => 'OperationDenied The InternetMaxBandwidthOut of the specified instance cannot be less than 0.', + ], + [ + 'errorCode' => 'OperationDenied.CloudboxNotSupport', + 'errorMessage' => 'This operation is denied, because the specified ECS instance which is in the Cloudbox dose not support PublicIp or Eip.', + ], + [ + 'errorCode' => 'OperationDenied.DedicatedRegionNotSupported', + 'errorMessage' => 'This operation is denied, because the specified ECS instance which is in the dedicated region dose not support PublicIp or Eip.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'IpInUse', + 'errorMessage' => 'The specified IP is already in use.', + ], + [ + 'errorCode' => 'AllocatedAlready', + 'errorMessage' => 'There is an IpAddress allocated already for the specified instance.', + ], + [ + 'errorCode' => 'AllocateIp.Fail', + 'errorMessage' => 'The specified instance fails to allocate ip, please try again.', + ], + [ + 'errorCode' => 'NAT_PUBLIC_IP_BINDING_FAILED', + 'errorMessage' => 'Binding nat public ip failed.', + ], + [ + 'errorCode' => 'NAT_PUBLIC_IP_ALLOCATE_FAILED', + 'errorMessage' => 'Nat public ip binding failed.', + ], + [ + 'errorCode' => 'InvalidIpAddress.NotPublic', + 'errorMessage' => 'The specified IP is not public address.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidVlanId.NotFound', + 'errorMessage' => 'The VlanId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidIpAddress.NotFound', + 'errorMessage' => 'The specified IP is not in the specified vlan.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'InvalidOperation.AllocateIpFailed', + 'errorMessage' => 'Failed to allocate the specific IP, please ensure the IP is available.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"IpAddress\\": \\"112.124.**.**\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"F2EF6A3B-E345-46B9-931E-0EA094818567\\",\\n \\"IpAddress\\": \\"10.1.149.159\\"\\n}"},{"type":"xml","example":"\\n F2EF6A3B-E345-46B9-931E-0EA094818567\\n 112.124.**.**\\n","errorExample":"\\n F2EF6A3B-E345-46B9-931E-0EA094818567\\n 10.1.149.159\\n"}]', + 'title' => '分配公网IP', + 'description' => '### 使用须知'."\n" + .'- 分配公网IP地址之前,实例必须处于**运行中**(`Running`)或者**已停止**(`Stopped`)状态。 '."\n" + ."\n" + .'- 被[安全控制](~~25695~~)的实例的`OperationLocks`中标记了`"LockReason" : "security"`时,不能分配公网IP地址。 '."\n" + ."\n" + .'- 调用该接口时请确保实例带宽大于0,您可以调用[ModifyInstanceNetworkSpec](~~2679879~~)接口调整带宽。'."\n" + ."\n" + .'### 注意事项'."\n" + ."\n" + .'- 仅白名单用户支持指定公网IP参数`IpAddress`,若公网带宽大于0,您可以设置`InstanceId`进行随机分配;若公网带宽为0,您需要调用[ModifyInstanceNetworkSpec](~~2679879~~)调整带宽之后再通过该接口分配。'."\n" + ."\n" + .'- 一台实例只能分配一个公网IP地址。如果实例已经拥有一个公网IP地址,将返回已绑定的公网 IP 地址`IpAddress`。 '."\n" + ."\n" + .'- 重启实例([RebootInstance](~~25502~~))或者启动实例([StartInstance](~~25500~~))后,新的公网IP地址生效。 '."\n" + ."\n" + .'除分配公网IP之外,您还可以给VPC类型ECS实例绑定弹性公网IP(EIP)。更多信息,请参见[AssociateEipAddress](~~2518064~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ConvertNatPublicIpToEip' => [ + 'summary' => '将一台专有网络VPC类型ECS实例的公网IP地址(PublicIP)转化为弹性公网IP(EIP)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28810', + 'abilityTreeNodes' => [ + 'FEATUREecs5BJVLN', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要转化公网IP的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp171jr36ge2ulvk****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.CloudboxNotSupport', + 'errorMessage' => 'This operation is denied, because the specified ECS instance which is in the Cloudbox dose not support PublicIp or Eip.', + ], + [ + 'errorCode' => 'InvalidParameter.CloudboxNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.DedicatedRegionNotSupported', + 'errorMessage' => 'This operation is denied, because the specified ECS instance which is in the dedicated region dose not support PublicIp or Eip.', + ], + [ + 'errorCode' => 'AccountInArrears', + 'errorMessage' => 'The account is in arrears.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.PlanedChange', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEndTime.OperateNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.Released', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.ZeroBandwidth', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEIPQuotaExceeded', + 'errorMessage' => 'The number of EIP exceeds the limit per region.', + ], + [ + 'errorCode' => 'Forbidden.InvalidPublicBandwidth', + 'errorMessage' => 'The specified instance public bandwidth is less than 1M.', + ], + [ + 'errorCode' => 'InvalidInstance.OverduePayment', + 'errorMessage' => 'The special instance due to overdue payment,this operation is not supported.', + ], + [ + 'errorCode' => 'EIPMaxBandwidthExceeded', + 'errorMessage' => 'The bandwidth of instance exceeds the limitation of EIP in this region.', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'Forbidden.RiskControl', + 'errorMessage' => 'This operation is forbidden by Aliyun RiskControl system.', + ], + [ + 'errorCode' => 'UnsupportedPublicIpWithIsp', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.IpAddressMissing', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"B154D309-F3E1-4AB7-BA94-FEFCA8B89001\\"\\n}"},{"type":"xml","example":"\\n B154D309-F3E1-4AB7-BA94-FEFCA8B89001\\n","errorExample":"\\n B154D309-F3E1-4AB7-BA94-FEFCA8B89001\\n"}]', + 'title' => '将公网IP地址转化为弹性公网IP', + 'description' => '## 接口说明'."\n" + ."\n" + .'公网IP地址转换为EIP后,EIP将单独计费。请确保您已充分了解[EIP的计费方式](~~122035~~)。'."\n" + ."\n" + .'调用该接口时,ECS实例必须满足以下条件:'."\n" + ."\n" + .'- 状态为**已停止**(`Stopped`)或者**运行中**(`Running`)。'."\n" + .'- 没有绑定EIP。'."\n" + .'- 没有未生效的变更配置任务。'."\n" + ."\n" + .'- 公网带宽不能为0 Mbit/s。'."\n" + ."\n" + .'- 包年包月实例的公网带宽计费方式必须为`按使用流量`计费,而`按固定带宽`计费方式的公网IP不支持转化为弹性公网IP。按量付费实例则不受该规则影响。更多信息,请参见[转换公网带宽计费方式](~~178883~~)。'."\n" + ."\n" + .'- 专有网络VPC类型的包年包月ECS实例24小时内不会到期。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceVpcAttribute' => [ + 'summary' => '修改一台专有网络类型ECS实例的专有网络VPC、私网IP地址、安全组或交换机。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '29079', + 'abilityTreeNodes' => [ + 'FEATUREecsZOHB3T', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。'."\n" + ."\n" + .'> 调用该接口时,ECS实例的状态必须是**已停止**(`Stopped`),其他对于实例的限制条件,请认真阅读**接口说明**部分。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1iudwa5b1tqag1****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '交换机ID。'."\n" + ."\n" + .'- 传入的ID为实例的当前交换机时,表明实例不变更交换机。'."\n" + .'- 传入的ID为一台新的交换机,并且参数`VpcId`为空时,新旧交换机必须属于同一个可用区、同一个专有网络VPC。'."\n" + .'- 当参数`VpcId`不为空时,该参数传入的交换机ID必须属于VpcId,并且和原交换机属于同一个可用区。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-bp1s5fnvk4gn3tw12****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '新的私网IP地址。'."\n" + ."\n" + .'>参数`PrivateIpAddress`依赖于`VSwitchId`,指定的IP地址必须在虚拟交换机子网网段中。'."\n" + ."\n" + .'默认值:当不传该值时,从虚拟交换机子网网段中随机分配。', + 'type' => 'string', + 'required' => false, + 'example' => '172.17.**.**', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1vwnn14rqpyiczj****', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例修改VPC后加入的安全组ID列表。当且仅当传入`VpcId`参数时,需要同时传入该参数。'."\n" + ."\n" + .'- 安全组所属的VPC必须与目标VPC一致。'."\n" + .'- 指定修改后实例加入的安全组列表,可以是一个或者多个。安全组个数与实例能够加入安全组的限制有关。具体限制,请参见[使用限制](~~25412#SecurityGroupQuota1~~)。'."\n" + .'- 列表内安全组类型必须一致。'."\n" + .'- 支持切换安全组的类型。'."\n" + .' 当ECS实例跨类型切换安全组时,您需要充分了解两种安全组规则的配置区别,避免影响实例网络。更多信息,请参见[安全组概述](~~25387~~)。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-o6w9l8bc8dgmkw87****', + ], + 'required' => false, + 'example' => 'sg-o6w9l8bc8dgmkw87****', + 'maxItems' => 51, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTarget.TrafficMirrorSession', + 'errorMessage' => 'Instance is target of traffic mirror session.', + ], + [ + 'errorCode' => 'InvalidSource.TrafficMirrorSession', + 'errorMessage' => 'Instance is source of traffic mirror session.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Malformed', + 'errorMessage' => 'Specified private IP address is malformed.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', + 'errorMessage' => 'Specified private IP address is duplicated.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current status of virtual switch does not support this operation.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of instance does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified operation is denied as your instance is not in VPC.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.Mismatch', + 'errorMessage' => 'Specified instance and virtual switch are not in the same zone.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Mismatch', + 'errorMessage' => 'Specified private IP address is not in the CIDR block of virtual switch.', + ], + [ + 'errorCode' => 'InvalidPrivateIp.Changing', + 'errorMessage' => 'Previous action is not finished yet.', + ], + [ + 'errorCode' => 'PrimaryEniHasSubIp', + 'errorMessage' => 'Primary network interface of the specified instance has more than one private ip.', + ], + [ + 'errorCode' => 'VSwitchIdNotMatch', + 'errorMessage' => 'The subnet of private ip is different to the instance, please unbind ha vip.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => 'The number of ENIs in an enterprise security group has reached the maximum limit.', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupId', + 'errorMessage' => 'Security group ids are invalid.', + ], + [ + 'errorCode' => 'InvalidVSwitch.IllegalStatus', + 'errorMessage' => 'The operation is not allowed in the current VSwitch state. Expecting state includes "Created", but current state is "%s".', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.SecurityGroupNotAuthorized', + 'errorMessage' => 'The specified security group is not authorized to operate.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The Specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InvalidIp.Ipv6Assigned', + 'errorMessage' => 'The specified instance has been assigned IPv6 address.', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.HasTransitionRecord', + 'errorMessage' => 'The operation is denied because the specified instance has a migration plan.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.NotNormal', + 'errorMessage' => 'The Specified operation is denied due to instance status.', + ], + [ + 'errorCode' => 'InvalidVpcId.SharedVpc', + 'errorMessage' => 'The Specified operation is denied as your targe vpc is SharedVpc.', + ], + [ + 'errorCode' => 'InvalidOperation.NotAllowed', + 'errorMessage' => 'The operation is denied because the specified VPC has advanced features enabled.', + ], + [ + 'errorCode' => 'InvalidParameter.ToSecurityGroupId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VswAndEcsAvailabilityZoneMismatch', + 'errorMessage' => 'Specified instance and virtual switch are not in the same zone.', + ], + [ + 'errorCode' => 'InvalidOperation.CloudBoxEcsNotSupport', + 'errorMessage' => 'Cloud box ecs instance does not support modifying VPC.', + ], + [ + 'errorCode' => 'AclLimitExceed', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'Specified virtual switch does not exist.', + ], + [ + 'errorCode' => 'NoSuchResource', + 'errorMessage' => 'The specified resource is not found.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidInstanceId', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.VSwitchId', + 'errorMessage' => 'The specified virtual vswitch does not exist.', + ], + [ + 'errorCode' => 'InvalidRegion.ValueNotSupported', + 'errorMessage' => 'The specified Region does not exist.', + ], + [ + 'errorCode' => 'InvalidInstance.AttachedEni', + 'errorMessage' => 'The Specified operation is denied due to elastic network interface.', + ], + [ + 'errorCode' => 'InvalidIp.MultiPrimaryIp', + 'errorMessage' => 'The Specified operation is denied due to multi private ip.', + ], + [ + 'errorCode' => 'InvalidIp.Ipv6', + 'errorMessage' => 'The Specified operation is denied due to ipv6.', + ], + [ + 'errorCode' => 'InvalidVSwitch.NotBelongToVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupIdRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupType.NotSupportClassic', + 'errorMessage' => 'The specified SecurityGroupIds have classic group type.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupVpc.NotBelongToOneVpc', + 'errorMessage' => 'The specified SecurityGroupIds are belong to different vpc.', + ], + [ + 'errorCode' => 'EnterpriseGroupLimited.MutliGroupType', + 'errorMessage' => 'The specified instance can not join multi SecurityGroup types.', + ], + [ + 'errorCode' => 'InvalidParameter.AlreadyInTargetVpc', + 'errorMessage' => 'The specified instance is already in the destination VPC.', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupId', + 'errorMessage' => 'The specified SecurityGroupId.N is invalid or does not exist.', + ], + [ + 'errorCode' => 'JoinedGroupLimitExceed', + 'errorMessage' => 'The specified instance has exceed quota of SecurityGroup.', + ], + [ + 'errorCode' => 'InvalidParameter.MustBeEmpty', + 'errorMessage' => 'The specified parameter SecurityGroupId.N and VpcId need be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.NotEnoughIpInVSwitch', + 'errorMessage' => 'The specified virtual switch has not enough available ip.', + ], + [ + 'errorCode' => 'InvalidDependence.MutliDirectlyEip', + 'errorMessage' => 'The Specified operation is denied due to multi directly Eips.', + ], + [ + 'errorCode' => 'InvalidDependence.HaVip', + 'errorMessage' => 'The Specified operation is denied due to HaVip.', + ], + [ + 'errorCode' => 'InvalidDependence.NextHopOfCustomRouter', + 'errorMessage' => 'The Specified operation is denied due to next hop of Custom Router.', + ], + [ + 'errorCode' => 'InvalidDependence.BeenUsedAsAppServer', + 'errorMessage' => 'The Specified operation is denied due to AppServer.', + ], + [ + 'errorCode' => 'InvalidDependence.GrantAccess', + 'errorMessage' => 'The Specified operation is denied due to grant access.', + ], + [ + 'errorCode' => 'InvalidDependence.BindGA', + 'errorMessage' => 'The Specified operation is denied due to GA.', + ], + [ + 'errorCode' => 'InvalidDependence.SLB', + 'errorMessage' => 'The Specified operation is denied as your instance with alb or clb.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::ModifyInstanceVpcAttribute', + 'callbackInterval' => 500, + 'maxCallbackTimes' => 1200, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n \\"HostId\\": \\"ecs.aliyuncs.com\\",\\n \\"Code\\": \\"InvalidPrivateIp.Changing\\",\\n \\"Message\\": \\"Specified private IP address is not in the CIDR block of virtual switch.\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n ecs.aliyuncs.com\\n InvalidPrivateIp.Changing\\n Specified private IP address is not in the CIDR block of virtual switch.\\n"}]', + 'title' => '修改实例的VPC属性', + 'description' => '调用接口时,ECS实例的状态必须是**已停止**(`Stopped`)。'."\n" + ."\n" + .'- 修改实例的私网IP地址或交换机时,请注意:'."\n" + ."\n" + .' - 新建的ECS实例必须经过重启才能调用该接口。'."\n" + .' - 成功修改一次后,ECS实例必须经过重启才能继续调用该接口进行修改。'."\n" + ."\n" + .'- 修改实例的专有网络VPC时,请注意:'."\n" + ."\n" + .' - **实例:**'."\n" + .' - 实例状态:不能为已锁定、等待释放、已过期、过期回收中、欠费回收中。更多信息,请参见[实例生命周期介绍](~~25380~~)。'."\n" + .' - 不支持已关联负载均衡实例的ECS实例。'."\n" + .' - 实例不能在其它云服务中被使用。例如,实例不能在迁移中、不能已在更换VPC或实例内部署的数据库不能被DTS服务管理等。'."\n" + .' '."\n" + .' - **网络:**'."\n" + .' - 不支持配置了EIP网卡可见模式或多EIP网卡可见模式的实例。'."\n" + .' - 不支持绑定了高可用虚拟IP(HaVip)的实例。'."\n" + .' - 不支持交换机绑定了自定义路由表的实例。'."\n" + .' - 不支持开通了全球加速(GA)的实例。'."\n" + .' - 不支持绑定辅助弹性网卡的实例。'."\n" + .' - 不支持已分配IPv6地址的实例。'."\n" + .' - 不支持主网卡有多IP的实例。'."\n" + .' - 传入的交换机必须属于目标VPC。'."\n" + .' - 修改前后交换机可用区必须一致。'."\n" + .' - 如果指定主网卡私网IP,则IP必须在交换机地址段内且可用。如果不指定则随机分配,且目标交换机的可用IP数充足。'."\n" + .' - 如果您使用的是其他账号共享给您的VPC,那么您需要确保目标安全组是由您的账号在该共享VPC中创建的,而不是由VPC所有者的账号创建的安全组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeClassicLinkInstances' => [ + 'summary' => '查询一台或多台与专有网络VPC建立了连接的经典网络类型实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28908', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => '经典网络全面下线,不再接受创建请求', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => 'VPC ID。目标VPC必须已开启ClassicLink功能,详情请参见[建立ClassicLink连接](~~65413~~)。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1vwnn14rqpyiczj****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。最多指定100台实例ID,并使用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1a5zr3u7nq9cxh****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '当前页码。起始值:1'."\n" + ."\n" + .'默认值:1 ', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。取值范围:1~100'."\n" + ."\n" + .'默认值:10 ', + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '分页查询的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '连接总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Links' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Link' => [ + 'description' => '返回经典网络类型实例和VPC连接信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'VPC ID。', + 'type' => 'string', + 'example' => 'vpc-test', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-test', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidParameter.ToManyInstanceIds', + 'errorMessage' => 'No more than 100 InstanceIds can be specified.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidInstanceIdAndVpcId', + 'errorMessage' => 'The parameter InstanceId and VpcId are not allowed to be empty at the same time.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotBelong', + 'errorMessage' => 'The specified instance is not belong to you.', + ], + [ + 'errorCode' => 'InvalidVpc.NotBelong', + 'errorMessage' => 'The specified vpc is not belong to you.', + ], + [ + 'errorCode' => 'InvalidParameter.PageNumber', + 'errorMessage' => 'The parameter pageNumber is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PageSize', + 'errorMessage' => 'The parameter pageSize is invalid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Links\\": {\\n \\"Link\\": [\\n {\\n \\"VpcId\\": \\"vpc-test\\",\\n \\"InstanceId\\": \\"i-test\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"PageNumber\\":1,\\n \\"Links\\":{\\n \\"Link\\":[{\\n \\"InstanceId\\":\\"i-test\\",\\n \\"VpcId\\":\\"vpc-test\\"\\n },\\n {\\n \\"InstanceId\\": \\"i-test1\\",\\n \\"VpcId\\": \\"vpc-test\\"\\n }]\\n },\\n \\"TotalCount\\":2,\\n \\"PageSize\\":10,\\n \\"RequestId\\":\\"B154D309-F3E1-4AB7-BA94-FEFCA8B89001\\"\\n}"},{"type":"xml","example":" \\n 1\\n \\n \\n i-bp1a5zr3u7nq9cxh****\\n vpc-bp1vwnn14rqpyiczj****\\n \\n \\n i-bp1a5zr3u7nq9abc****\\n vpc-bp1vwnn14rqpyiczj****\\n \\n \\n 2\\n 10\\n B154D309-F3E1-4AB7-BA94-FEFCA8B89001\\n","errorExample":"\\n B154D309-F3E1-4AB7-BA94-FEFCA8B89001\\n 2\\n 1\\n 10\\n \\n \\n i-test\\n vpc-test\\n \\n \\n i-test1\\n vpc-test\\n \\n \\n"}]', + 'title' => '查询建立了连接的经典网络类型实例', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 该接口仅支持经典网络类型实例。'."\n" + .'- 单次最多只能查询100台经典网络类型实例。'."\n" + .'- 参数`VpcId`和`InstanceId`不能同时为空。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AttachClassicLinkVpc' => [ + 'summary' => '调用AttachClassicLinkVpc将一台经典网络类型实例连接到专有网络VPC中,使经典网络类型实例可以和VPC中的云资源私网互通。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28789', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'Classic已经下线,手动已经测试,老大已经审批', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '经典网络类型实例ID。您可以调用[DescribeInstances](~~25506~~)查看您可用的实例。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp1gtjxuuvwj17zr****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '开启ClassicLink的VPC ID。您可以调用[DescribeVpcs](~~35739~~)查看您可用的VPC。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-bp1j4z1sr8zxu4l8u****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.Malformed', + 'errorMessage' => 'The specified parameter ?RegionId? is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcId.Malformed', + 'errorMessage' => 'The specified parameter ?VpcId? is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceId.MalFormed', + 'errorMessage' => 'The specified instance is not a classic network instance.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The instance does not allow link to vpc.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidInstanceIdAndVpcId', + 'errorMessage' => 'The parameter InstanceId and VpcId are not allowed to be empty at the same time.', + ], + [ + 'errorCode' => 'InvalidStatus.InstanceStatus', + 'errorMessage' => 'The specified instance status is not support this operation ,expect status is running or shutted.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotBelong', + 'errorMessage' => 'The specified instance is not belong to you.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'The link quota exceeded in this vpc.', + ], + [ + 'errorCode' => 'InvalidStatus.InstanceLocked', + 'errorMessage' => 'The specified instance is locked,please wait more.', + ], + [ + 'errorCode' => 'InvalidInstanceId.LimitedRegion', + 'errorMessage' => 'The specified instance does not support this operation due to the limitation of its region.', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}"},{"type":"xml","example":"\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\n","errorExample":"\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\n"}]', + 'title' => '将经典网络类型实例连接到专有网络VPC', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 连接经典网络类型实例前,实例必须处于**运行中**(Running)或者**已停止**(Stopped)状态。 '."\n" + .'- 目标VPC必须已开启ClassicLink功能。具体操作,请参见[开启ClassicLink功能](~~65413~~)。 '."\n" + .'- 经典网络类型实例和VPC必须在同一个阿里云地域。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachClassicLinkVpc' => [ + 'summary' => '调用DetachClassicLinkVpc取消一台经典网络类型ECS实例与专有网络VPC的连接(ClassicLink)。取消ClassicLink后,经典网络类型实例无法与VPC内的实例互通。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29019', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'Classic已经下线,手动已经测试,老大已经审批', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'docRequired' => true, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '经典网络类型实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + 'docRequired' => true, + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例连接的VPC ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp67acfmxazb4p****', + 'docRequired' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.Malformed', + 'errorMessage' => 'The specified parameter ?RegionId? is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcId.Malformed', + 'errorMessage' => 'The specified parameter ?VpcId? is not valid.', + ], + [ + 'errorCode' => 'InvalidInstanceId.MalFormed', + 'errorMessage' => 'The specified instance is not a classic network instance.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The instances are not allowed to detach from the linked vpc.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidInstanceIdAndVpcId', + 'errorMessage' => 'The parameter InstanceId and VpcId are not allowed to be empty at the same time.', + ], + [ + 'errorCode' => 'InvalidStatus.InstanceStatus', + 'errorMessage' => 'The specified instance status is not support this operation ,expect status is running or shutted.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotBelong', + 'errorMessage' => 'The specified instance is not belong to you.', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidVpc', + 'errorMessage' => 'The specified instance not link specify vpc.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidParameter.RegionIdAndInstanceId', + 'errorMessage' => 'The specified instance does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E209A9012A8\\"\\n}"},{"type":"xml","example":"\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\n","errorExample":"\\n C0003E8B-B930-4F59-ADC0-0E209A9012A8\\n"}]', + 'title' => '取消经典网络类型实例与VPC的连接', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateNetworkInterface' => [ + 'summary' => '创建一张弹性网卡(ENI),支持指定主私网IP地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29255', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的弹性网卡所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '弹性网卡的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '弹性网卡的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '要创建的弹性网卡所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。您可以调用[ListResourceGroups](~~158855~~)查询资源组信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的交换机ID。弹性网卡的私网IP地址在交换机的IP地址段内的空闲地址中取值。'."\n" + ."\n" + .'>弹性网卡和待绑定的实例需要属于同一可用区,可以分属不同的交换机。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vsw-bp1s5fnvk4gn2tws03****', + ], + ], + [ + 'name' => 'PrimaryIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的主私网IP地址。'."\n" + ."\n" + .'指定IP必须是在所属交换机的地址段内的空闲地址,不指定则默认随机分配该交换机中的空闲地址。', + 'type' => 'string', + 'required' => false, + 'example' => '172.17.**.**', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '加入一个安全组。安全组和弹性网卡必须在同一个专有网络VPC中。'."\n" + ."\n" + .'> 调用接口时,您必须设置`SecurityGroupId`或`SecurityGroupIds.N`其中一个,但不支持同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp1fg655nh68xyz9i****', + ], + ], + [ + 'name' => 'NetworkInterfaceName', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文等),ASCII数字(0-9)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testNetworkInterfaceName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的描述信息。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Visible', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡类型。取值范围:'."\n" + ."\n" + .'- Secondary:辅助弹性网卡。'."\n" + .'- Trunk:中继网卡 (邀测中)。'."\n" + ."\n" + .'默认值:Secondary。', + 'type' => 'string', + 'required' => false, + 'example' => 'Secondary', + ], + ], + [ + 'name' => 'BusinessType', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'SecondaryPrivateIpAddressCount', + 'in' => 'query', + 'schema' => [ + 'description' => '指定私有IP地址数量,让ECS为您自动创建IP地址。取值范围:1~49。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'QueueNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡队列数。取值范围:1~2048'."\n" + ."\n" + .'附加弹性网卡时,该值必须少于实例规格支持单块网卡的最大队列数。实例规格的单块网卡最大队列数可以通过[DescribeInstanceTypes](~~25620~~)接口查询`MaximumQueueNumberPerEni`字段。'."\n" + ."\n" + .'默认值:空。在附加时会采用实例规格的弹性网卡默认队列数,实例规格的弹性网卡默认队列数可以通过[DescribeInstanceTypes](~~25620~~)接口查询`SecondaryEniQueueNumber`字段。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'NetworkInterfaceTrafficMode', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的通讯模式。取值范围:'."\n" + ."\n" + .'- Standard:使用TCP通讯模式。'."\n" + .'- HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。'."\n" + ."\n" + .'> 对于使用RDMA通信模式的弹性网卡,仅允许与实例规格支持ERI的实例绑定,且使用RDMA模式的弹性网卡数量不能超过该实例规格族的限制。更多信息,请参见[实例规格族](~~25378~~),[在企业级实例上配置eRDMA](~~336853~~)及[在GPU实例上配置eRDMA](~~2248432~~)。'."\n" + ."\n" + .'默认值:Standard。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'QueuePairNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'RDMA网卡队列数。'."\n" + ."\n" + .'如果要为实例附加多张RDMA网卡,建议根据实例规格支持的RDMA网卡的`QueuePairNumber`上限值和规划要使用的网卡数量,手动为每张网卡指定QueuePairNumber,并确保所有网卡的QueuePairNumber总数不超过该实例规格允许的最大值。调用[DescribeInstanceTypes](~~2679699~~)查看实例规格的上限。'."\n" + ."\n" + .'>如果RDMA网卡未指定QueuePairNumber,则默认使用该实例规格支持的所有RDMA网卡的QueuePairNumber上限值。因此,一旦附加了一张未设置QueuePairNumber的RDMA网卡,就不能再添加更多RDMA网卡了(普通网卡不受此限制)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '22', + ], + ], + [ + 'name' => 'SecurityGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '加入一个或多个安全组。安全组和弹性网卡必须在同一个专有网络VPC中。N的取值范围与弹性网卡能够加入安全组配额有关,更多信息,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'> 调用接口时,您必须设置`SecurityGroupId`或`SecurityGroupIds.N`其中一个,但不支持同时设置。', + 'type' => 'array', + 'items' => [ + 'description' => '加入一个或多个安全组。安全组和弹性网卡必须在同一个专有网络VPC中。N的取值范围与弹性网卡能够加入安全组配额有关,更多信息,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'> 调用接口时,您必须设置`SecurityGroupId`或`SecurityGroupIds.N`其中一个,但不支持同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp1fg655nh68xyz9i****', + ], + 'required' => false, + 'example' => 'sg-bp1fg655nh68xyz9i****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '从弹性网卡所属交换机的CIDR地址段内的空闲地址中选择一个或多个辅助私有IP地址。N的取值范围:0~10。'."\n" + ."\n" + .'> 分配辅助私有IP地址时,您不能同时指定参数`PrivateIpAddress.N`和参数`SecondaryPrivateIpAddressCount`。', + 'type' => 'array', + 'items' => [ + 'description' => '从弹性网卡所属交换机的CIDR地址段内的空闲地址中选择一个或多个辅助私有IP地址。N的取值范围:0~10。'."\n" + ."\n" + .'> 分配辅助私有IP地址时,您不能同时指定参数`PrivateIpAddress.N`和参数`SecondaryPrivateIpAddressCount`。', + 'type' => 'string', + 'required' => false, + 'example' => '172.17.**.**', + ], + 'required' => false, + 'example' => '172.17.**.**', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv6地址。支持设置最多10个IPv6地址,即N的取值范围:1~10。'."\n" + ."\n" + .'取值示例:Ipv6Address.1=2001:db8:1234:1a00::\\*\\*\\*\\*'."\n" + ."\n" + .'> 如果您需要为弹性网卡设置IPv6地址,则必须设置`Ipv6Addresses.N`或者`Ipv6AddressCount`的其中一个,但不能同时设置这两个参数。', + 'type' => 'array', + 'items' => [ + 'description' => '为弹性网卡指定一个或多个IPv6地址。支持设置最多10个IPv6地址,即N的取值范围:1~10。'."\n" + ."\n" + .'取值示例:Ipv6Address.1=2001:db8:1234:1a00::\\*\\*\\*\\*'."\n" + ."\n" + .'> 如果您需要为弹性网卡设置IPv6地址,则必须设置`Ipv6Addresses.N`或者`Ipv6AddressCount`的其中一个,但不能同时设置这两个参数。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::****', + ], + 'required' => false, + 'example' => '2001:db8:1234:1a00::****', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为弹性网卡指定随机生成的IPv6地址数量。取值范围:1~10。'."\n" + ."\n" + .'> 如果您需要为弹性网卡设置IPv6地址,则必须设置`Ipv6Addresses.N`或者`Ipv6AddressCount`的其中一个,但不能同时设置这两个参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'Ipv4Prefix', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv4前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv4前缀,则必须设置Ipv4Prefix.N或者Ipv4PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'array', + 'items' => [ + 'description' => '为弹性网卡指定一个或多个IPv4前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv4前缀,则必须设置Ipv4Prefix.N或者Ipv4PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**/28', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Ipv4PrefixCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv4前缀。取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv4前缀,则必须设置Ipv4Prefix.N或者Ipv4PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '10', + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'Ipv6Prefix', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv6前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv6前缀,则必须设置Ipv6Prefix.N或者Ipv6PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'array', + 'items' => [ + 'description' => '为弹性网卡指定一个或多个IPv6前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv6前缀,则必须设置Ipv6Prefix.N或者Ipv6PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00:****::/80', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Ipv6PrefixCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv6前缀。取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv6前缀,则必须设置Ipv6Prefix.N或者Ipv6PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '10', + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'DeleteOnRelease', + 'in' => 'query', + 'schema' => [ + 'description' => '释放实例时是否保留网卡。取值范围:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'TxQueueSize', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡出方向队列深度。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 网卡的出方向队列深度必须和入方向队列深度相等,取值范围:8192~16384,且必须为 2 的幂。'."\n" + ."\n" + .'- 较大的出方向队列深度可以提升出方向的吞吐量,但会占用更多的内存。'."\n" + ."\n" + .'> 该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + ], + [ + 'name' => 'RxQueueSize', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡入方向队列深度。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 网卡的入方向队列深度必须和出方向队列深度相等,取值范围:8192~16384,且必须为 2 的幂。'."\n" + ."\n" + .'- 较大的入方向队列深度可以提升入方向的吞吐量,但会占用更多的内存。'."\n" + ."\n" + .'> 该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + ], + [ + 'name' => 'NetworkInterfaceTrafficConfig', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '弹性网卡通讯参数集合。', + 'type' => 'object', + 'properties' => [ + 'QueueNumber' => [ + 'description' => '弹性网卡队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + 'NetworkInterfaceTrafficMode' => [ + 'description' => '弹性网卡的通讯模式。', + 'type' => 'string', + 'required' => false, + 'example' => 'HighPerformance', + ], + 'QueuePairNumber' => [ + 'description' => 'RDMA 网卡队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + 'TxQueueSize' => [ + 'description' => '弹性网卡出方向队列深度。'."\n" + ."\n\n" + .''."\n" + ."\n" + .'>该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)联系加白。'."\n" + ."\n" + .''."\n" + ."\n\n" + ."\n\n" + .''."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://smartservice.console.aliyun.com/service/create-ticket-intl)联系加白。'."\n" + ."\n" + .''."\n" + ."\n" + .'使用该参数时,您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + ."\n" + .'- 目前仅适用于Linux镜像。'."\n" + ."\n" + .'- 较大的出方向队列深度可以提升出方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + 'RxQueueSize' => [ + 'description' => '弹性网卡入方向队列深度。'."\n" + ."\n\n" + .''."\n" + ."\n" + .'>该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)联系加白。'."\n" + ."\n" + .''."\n" + ."\n\n" + ."\n\n" + .''."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,若您有使用需求请[提交工单](https://smartservice.console.aliyun.com/service/create-ticket-intl)联系加白。'."\n" + ."\n" + .''."\n" + ."\n" + .'使用该参数时,您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + ."\n" + .'- 目前仅适用于Linux镜像。'."\n" + ."\n" + .'- 较大的入方向队列深度可以提升入方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ConnectionTrackingConfiguration', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '网络连接跟踪配置信息集合。'."\n" + ."\n" + .'使用该参数前,请认真阅读[连接超时管理](~~2865958~~)。', + 'type' => 'object', + 'properties' => [ + 'TcpEstablishedTimeout' => [ + 'description' => '已建状态的TCP连接超时时间,单位:s(秒)。取值范围:[30, 60, 80, 100, 200, 300, 500, 700, 910]。'."\n" + ."\n" + .'默认值:910。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '910', + ], + 'TcpClosedAndTimeWaitTimeout' => [ + 'description' => 'TCP等待与关闭超时时间,单位:s(秒)。取值范围:3~15内的整数。'."\n" + ."\n" + .'默认值:3。'."\n" + ."\n" + .'> 如果您的ECS实例配合NLB/CLB使用,`TIME_WAIT`状态的连接超时时间默认值为15秒。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + 'UdpTimeout' => [ + 'description' => 'UDP流超时时间。单位:s(秒)。取值范围:[10, 20, 30, 60, 80, 100]。'."\n" + ."\n" + .'默认值:30。'."\n" + ."\n" + .'> 如果您的ECS实例配合NLB/CLB使用,默认值为100秒。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnhancedNetwork', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '>参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'EnableSriov' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableRss' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'VirtualFunctionTotalQueueNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + 'VirtualFunctionQuantity' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SourceDestCheck', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启源/目的检查功能。建议您打开该功能,以提高网络安全。可能值:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 仅部分地域支持该功能。使用前,请认真阅读[源/目的检查](~~2863210~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '弹性网卡的状态。', + 'type' => 'string', + 'example' => 'Available', + ], + 'Type' => [ + 'description' => '弹性网卡的类型。', + 'type' => 'string', + 'example' => 'Secondary', + ], + 'VpcId' => [ + 'description' => '网卡所属的专有网络VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp1j7w3gc1cexjqd****', + ], + 'NetworkInterfaceName' => [ + 'description' => '弹性网卡的名称。', + 'type' => 'string', + 'example' => 'my-eni-name', + ], + 'MacAddress' => [ + 'description' => '弹性网卡的MAC地址。', + 'type' => 'string', + 'example' => '00:16:3e:12:**:**', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-bp14v2sdd3v8htln****', + ], + 'ServiceID' => [ + 'description' => '弹性网卡对应的虚商ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12345678910', + ], + 'OwnerId' => [ + 'description' => '弹性网卡的所属账号ID。', + 'type' => 'string', + 'example' => '123456****', + ], + 'ServiceManaged' => [ + 'description' => '该弹性网卡的使用者是否为云产品或虚商。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VSwitchId' => [ + 'description' => 'VPC的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp16usj2p27htro3****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Description' => [ + 'description' => '弹性网卡的描述信息。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-2ze88m67qx5z****', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-e', + ], + 'PrivateIpAddress' => [ + 'description' => '弹性网卡的私网IP地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '所属的安全组集合。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp18kz60mefsicfg****', + ], + ], + ], + ], + 'PrivateIpSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpSet' => [ + 'description' => 'PrivateIpSet组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrivateIpAddress' => [ + 'description' => '实例的私网IP地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'Primary' => [ + 'description' => '是否是主私网IP地址。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'Ipv6Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Set' => [ + 'description' => '弹性网卡已分配的IPv6地址。', + 'type' => 'array', + 'items' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'Ipv6Address' => [ + 'description' => 'IPv6地址。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00::****', + ], + ], + ], + ], + ], + ], + 'Ipv4PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv4PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv4前缀集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv4Prefix' => [ + 'description' => 'IPv4前缀。', + 'type' => 'string', + 'example' => '192.168.**.**/28', + ], + ], + ], + ], + ], + ], + 'Ipv6PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv6前缀集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Prefix' => [ + 'description' => 'IPv6前缀。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00:****::/80', + ], + ], + ], + ], + ], + ], + 'SourceDestCheck' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'JoinedGroupLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupIdRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.SingleIdAndMultiIdConflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidConnectionTrackingConfiguration.RegionOrUserNotSupported', + 'errorMessage' => 'The specified parameter ConnectionTrackingConfiguration is not supported in this region, or this account is not in the whitelist of using network interface ConnectionTrackingConfiguration.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', + 'errorMessage' => 'The specified private IP address "%s" is duplicated.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The operation is not allowed in the current VSwitch state. Expecting state includes "Created Available", but current state is "%s".', + ], + [ + 'errorCode' => 'InvalidEniQueueSize.RegionOrUserNotSupported', + 'errorMessage' => 'The specified parameter "RxQueueSize" or "TxQueueSize" is not supported in this region or this account is not allowed to use ENI QueueSize.', + ], + [ + 'errorCode' => 'InvalidParameter.EniQueueSize', + 'errorMessage' => 'The specified parameter "TxQueueSize" and "RxQueueSize" are not equal or the value must be 8192 or 16384.', + ], + [ + 'errorCode' => 'InvalidParameter.EniConnectionTrackingConfiguration', + 'errorMessage' => 'The specified ENI connection tracking configuration "%s" must be between %s and %s.', + ], + [ + 'errorCode' => 'QuotaExceeded.PrivateIpAddress', + 'errorMessage' => 'There are not enough private IPs in the specified VSwitch.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'InvalidVSwitch.IllegalStatus', + 'errorMessage' => 'The operation is not allowed in the current VSwitch state. Expecting state includes "Created", but current state is "%s".', + ], + [ + 'errorCode' => 'InvalidParameter.EniEnhancedNetwork', + 'errorMessage' => 'The input parameter "EnhancedNetwork" is illegal, when EnableSriov is true, VirtualFunctionTotalQueueNumber must not be empty, and VirtualFunctionQuantity must be 1 to 256. When EnableSriov is empty or false, VirtualFunctionTotalQueueNumber and VirtualFunctionQuantity must be empty.', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.SecurityGroupNotAuthorized', + 'errorMessage' => 'The specified security group is not authorized to operate.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InValidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpNotEnough', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.Address', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniPrivateIpsCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.TrunkingIsNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidEniQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueueNumberExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ExceedInstanceTypeQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniTrafficMode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceTrafficModeIsNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.QueuePairNumberMustEmpty', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidQueuePairNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.NetworkInterfaceName', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixIllegal', + 'errorMessage' => 'The ip prefixes %s is/are illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMustInReserveSegment', + 'errorMessage' => 'The ip prefix must in vswitch reserve segment.', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceTrafficModeEniUnsupported', + 'errorMessage' => 'High performance traffic mode does not support the current ENI type. Expected ENI type is "%s" but the current ENI type is "%s".', + ], + [ + 'errorCode' => 'AclLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskInvalid', + 'errorMessage' => 'The IP prefix mask %s is illegal which must be between %s and %s.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpPrefixNotEnough', + 'errorMessage' => 'The specified VSwitch does not have enough IP prefixes.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskNotSame', + 'errorMessage' => 'The IP prefixes %s are illegal.The IP prefix mask must be the same.', + ], + [ + 'errorCode' => 'EnterpriseGroupLimited.MutliGroupType', + 'errorMessage' => 'The specified instance can\'t associate security group of different types.', + ], + [ + 'errorCode' => 'InvalidOperation.BoundingEniSlaveQuotaExceed', + 'errorMessage' => 'The number of Slave ENIs exceeds the limit of Bond ENI.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotAvailable', + 'errorMessage' => 'The IP prefix is not available.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskIllegal', + 'errorMessage' => 'The current IP prefix mask is illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotStrict', + 'errorMessage' => 'The IP prefix "%s" must be strict CIDR format.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupport', + 'errorMessage' => 'The specified region does not support allocating IPv6 when creating ENI.', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniIpv6IpsCountExceeded', + 'errorMessage' => 'The ipv6 address count exceed limitation.', + ], + [ + 'errorCode' => 'InvalidOperation.VSwitchIpv6Disabled', + 'errorMessage' => 'The specified VSwitch does not support Ipv6 feature.', + ], + [ + 'errorCode' => 'InvalidOperation.EnableIpv6Failed', + 'errorMessage' => 'The specified VSwitch does not support Ipv6 feature.', + ], + [ + 'errorCode' => 'InvalidOperation.AddressAlreadyAllocated', + 'errorMessage' => 'The specified ipv6 has been already allocated.', + ], + [ + 'errorCode' => 'InvalidOperation.AddressNotInVSwitchCidr', + 'errorMessage' => 'The specified ipv6 does not match VSwitch cidr scope.', + ], + [ + 'errorCode' => 'InvalidOperation.SlaveEniMustHaveBondingEni', + 'errorMessage' => 'Ensure you create the corresponding Bond ENI before creating Slave ENI.', + ], + [ + 'errorCode' => 'InvalidOperation.EniTrafficModeNotSupportIpv6', + 'errorMessage' => 'The High Performance(RDMA) traffic mode does not support IPv6.', + ], + [ + 'errorCode' => 'InvalidOperation.VSwitchCidrReservationNotExist', + 'errorMessage' => 'The specified VSwitch does not have CIDR reservation.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidOperation.RegionNotSupportIpPrefix', + 'errorMessage' => 'The current region does not support IP prefix feature.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Available\\",\\n \\"Type\\": \\"Secondary\\",\\n \\"VpcId\\": \\"vpc-bp1j7w3gc1cexjqd****\\",\\n \\"NetworkInterfaceName\\": \\"my-eni-name\\",\\n \\"MacAddress\\": \\"00:16:3e:12:**:**\\",\\n \\"NetworkInterfaceId\\": \\"eni-bp14v2sdd3v8htln****\\",\\n \\"ServiceID\\": 12345678910,\\n \\"OwnerId\\": \\"123456****\\",\\n \\"ServiceManaged\\": true,\\n \\"VSwitchId\\": \\"vsw-bp16usj2p27htro3****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"ResourceGroupId\\": \\"rg-2ze88m67qx5z****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-e\\",\\n \\"PrivateIpAddress\\": \\"172.17.**.**\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp18kz60mefsicfg****\\"\\n ]\\n },\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"172.17.**.**\\",\\n \\"Primary\\": true\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2001:db8:1234:1a00::****\\"\\n }\\n ]\\n },\\n \\"Ipv4PrefixSets\\": {\\n \\"Ipv4PrefixSet\\": [\\n {\\n \\"Ipv4Prefix\\": \\"192.168.**.**/28\\"\\n }\\n ]\\n },\\n \\"Ipv6PrefixSets\\": {\\n \\"Ipv6PrefixSet\\": [\\n {\\n \\"Ipv6Prefix\\": \\"2001:db8:1234:1a00:****::/80\\"\\n }\\n ]\\n },\\n \\"SourceDestCheck\\": false\\n}","errorExample":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FExxxxx\\",\\n \\"NetworkInterfaceId\\": \\"eni-enixxxxx\\"\\n}"},{"type":"xml","example":"\\n testDescription\\n Available\\n 172.17.**.**\\n false\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n rg-2ze88m67qx5z****\\n cn-hangzhou-e\\n vsw-bp16usj2p27htro3****\\n my-eni-name\\n 00:16:3e:12:**:**\\n eni-bp14v2sdd3v8htln****\\n \\n sg-bp18kz60mefsicfg****\\n \\n Secondary\\n \\n \\n 2001:db8:1234:1a00::****\\n \\n \\n vpc-bp1j7w3gc1cexjqd****\\n 123456****\\n \\n \\n TestKey\\n TestValue\\n \\n \\n \\n \\n 172.17.**.**\\n true\\n \\n \\n","errorExample":"\\n 04F0F334-1335-436C-A1D7-6C044FExxxxx\\n eni-eniIxxxxx\\n"}]', + 'title' => '创建弹性网卡', + 'description' => '调用该接口时,请注意:'."\n" + .'- 该接口为同步接口,新创建的弹性网卡为可用(`Available`)状态,可以直接进行附加操作。'."\n" + .'- 若创建接口返回结果中`NetworkInterfaceId`为空,请再次尝试创建弹性网卡。'."\n" + .'- 一张弹性网卡只能附加到一台专有网络的实例。'."\n" + .'- 弹性网卡重新附加到另一台实例时,其属性不变,网络流量也会重定向到新的实例。'."\n" + .'- 创建弹性网卡时,调用该接口最多可以分配49个辅助私网IP地址。'."\n" + .'- 创建弹性网卡时,如果您需要设置IPv6地址,则需要确保指定的交换机开通了IPv6。更多信息,请参见[什么是IPv6网关](~~98896~~)。'."\n" + .'- 一个账号在一个阿里云地域内创建弹性网卡有数量限制。可在ECS管理控制台查看资源配额。具体操作,请参见[查看和提升资源配额](~~184115~~)。'."\n" + ."\n" + .'### 请求示例'."\n" + .'
'."\n" + .'创建一张弹性网卡'."\n" + ."\n" + .'```'."\n" + .'RegionId: cn-hangzhou, //设置华东 1(杭州)地域。'."\n" + .'SecurityGroupId: sg-bp10jztp6b0sdsyl****, //设置安全组 ID。'."\n" + .'VSwitchId: vsw-bp19wo63nleroq22g****, //设置虚拟交换机 ID。'."\n" + .'```'."\n" + .'
'."\n" + ."\n" + .'
'."\n" + .'创建一张弹性网卡,并指定主私网IP地址'."\n" + ."\n" + .'```'."\n" + .'RegionId: cn-hangzhou, //华东 1(杭州)地域。'."\n" + .'SecurityGroupId: sg-bp10jztp6b0sdsyl****, //安全组 ID。'."\n" + .'VSwitchId: vsw-bp19wo63nleroq22g****, //虚拟交换机 ID。'."\n" + .'PrimaryIpAddress: 192.168.0.*, //主私网IP地址。'."\n" + .'```'."\n" + .'
', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeNetworkInterfaces' => [ + 'summary' => '查询一个或多个弹性网卡(ENI)的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29287', + 'abilityTreeNodes' => [ + 'FEATUREecsTML5VX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '弹性网卡的标签键。N的取值范围:1~20', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '弹性网卡的标签值。N的取值范围:1~20'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所属的交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp16usj2p27htro3****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所属的专有网络VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1j7w3gc1cexjqd****', + ], + ], + [ + 'name' => 'PrimaryIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡主私网IPv4地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '辅助网卡对应的安全组ID。'."\n" + ."\n" + .'- 如果您需要通过安全组ID查询辅助网卡的信息,请指定该参数。'."\n" + .'- 如果您需要通过安全组ID查询主网卡信息,请调用[DescribeInstances](~~25506~~)指定`SecurityGroupId`参数进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp144yr32sx6ndw****', + ], + ], + [ + 'name' => 'NetworkInterfaceName', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'test-eni-name', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡类型。取值范围:'."\n" + ."\n" + .'- Primary:主网卡。'."\n" + .'- Secondary:辅助网卡。'."\n" + ."\n" + .'默认值:空,表示查询所有类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'Secondary', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡当前附加的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1e2l6djkndyuli****', + ], + ], + [ + 'name' => 'ServiceManaged', + 'in' => 'query', + 'schema' => [ + 'description' => '该弹性网卡的使用者是否为云产品或虚商。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的状态。取值范围:'."\n" + ."\n" + .'* Available:可用。'."\n" + .'* Attaching:附加中。'."\n" + .'* InUse:已附加。'."\n" + .'* Detaching:分离中。'."\n" + .'* Deleting:删除中。'."\n" + ."\n" + .'默认值:空,表示查询所有状态。', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数已废弃,建议您通过指定MaxResults或NextToken参数时使用分页方式查询。', + 'type' => 'integer', + 'format' => 'int32', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数已废弃,建议您通过指定MaxResults或NextToken参数时使用分页方式查询。', + 'type' => 'integer', + 'format' => 'int32', + 'deprecated' => true, + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的`NextToken`参数值。'."\n" + ."\n" + .'有关本接口查看返回数据的设置方式,请参见上文接口说明。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。取值范围:10~500。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'- 当不设置值或设置的值小于10时,默认值为10。'."\n" + .'- 当设置的值大于500时,默认值为500。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡的辅助私网IPv4地址。N的取值范围:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡的辅助私网IPv4地址。N的取值范围:1~100。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + 'required' => false, + 'example' => '192.168.**.**', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡ID。N的取值范围:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡ID。N的取值范围:1~100。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp125p95hhdhn3ot****', + ], + 'required' => false, + 'example' => 'eni-bp125p95hhdhn3ot****', + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡的IPv6地址。N表示可以设置多个IPv6地址,N的取值范围:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡的IPv6地址。N表示可以设置多个IPv6地址,N的取值范围:1~100。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:4321:180:1701:94c7:bc38:3bfa:****', + ], + 'required' => false, + 'example' => '2408:4321:180:1701:94c7:bc38:3bfa:****', + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'PageSize' => [ + 'description' => '分页查询参数。'."\n" + ."\n" + .'> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageNumber' => [ + 'description' => '分页查询参数。'."\n" + ."\n" + .'> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '返回的弹性网卡总数。'."\n" + .'> 使用`MaxResults`和`NextToken`参数进行分页查询时,返回的`TotalCount`参数值无意义。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'NetworkInterfaceSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterfaceSet' => [ + 'description' => '弹性网卡信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '创建时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2019-12-25T12:31:31Z', + ], + 'VpcId' => [ + 'description' => '弹性网卡所属的专有网络VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp1j7w3gc1cexjqd****', + ], + 'Type' => [ + 'description' => '弹性网卡的类型。取值范围:'."\n" + ."\n" + .'- Primary:主网卡。'."\n" + .'- Secondary:辅助网卡。', + 'type' => 'string', + 'example' => 'Secondary', + ], + 'Status' => [ + 'description' => '弹性网卡的状态。取值范围:'."\n" + ."\n" + .'* Available:可用。'."\n" + .'* Attaching:附加中。'."\n" + .'* InUse:已附加。'."\n" + .'* Detaching:分离中。'."\n" + .'* Deleting:删除中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'NetworkInterfaceTrafficMode' => [ + 'description' => '弹性网卡的通讯模式。可能值:'."\n" + ."\n" + .'- Standard:使用TCP通讯模式。'."\n" + .'- HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。'."\n" + .'> HighPerformance参数值只支持RDMA增强型实例规格族c7re,目前仅支持在华北2(北京)的可用区K设置该参数值。', + 'type' => 'string', + 'example' => 'Standard', + ], + 'NetworkInterfaceName' => [ + 'description' => '弹性网卡的名称。', + 'type' => 'string', + 'example' => 'my-eni-name', + ], + 'MacAddress' => [ + 'description' => '弹性网卡的MAC地址。', + 'type' => 'string', + 'example' => '00:16:3e:12:**:**', + ], + 'QueuePairNumber' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-bp125p95hhdhn3ot****', + ], + 'ServiceID' => [ + 'description' => '弹性网卡对应的虚商ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12345678910', + ], + 'InstanceId' => [ + 'description' => '弹性网卡附加的实例ID。'."\n" + ."\n" + .'> 由其他阿里云服务管理和控制的弹性网卡不会返回实例ID。', + 'type' => 'string', + 'example' => 'i-bp1e2l6djkndyuli****', + ], + 'OwnerId' => [ + 'description' => '弹性网卡的所属账号ID。', + 'type' => 'string', + 'example' => '123456****', + ], + 'ServiceManaged' => [ + 'description' => '该弹性网卡的使用者是否为云产品或虚商。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VSwitchId' => [ + 'description' => 'VPC的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp16usj2p27htro3****', + ], + 'Description' => [ + 'description' => '描述。', + 'type' => 'string', + 'example' => 'DescriptionTest', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-2ze88m67qx5z****', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-e', + ], + 'PrivateIpAddress' => [ + 'description' => '弹性网卡的私网IP地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'QueueNumber' => [ + 'description' => '弹性网卡的队列数。'."\n" + ."\n" + .'- 如果辅助网卡是已挂载(InUse)状态且没有修改过队列数,则返回实例规格默认的辅助网卡队列数。'."\n" + .'- 如果辅助网卡修改过队列数,则返回修改后的队列数。'."\n" + .'- 如果辅助网卡是未挂载(Available)状态且未修改过队列数,则返回值为空。'."\n" + .'- 主网卡返回实例规格默认的主网卡队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'PrivateIpSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpSet' => [ + 'description' => 'PrivateIpSet组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrivateIpAddress' => [ + 'description' => '实例的私网IP地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'Primary' => [ + 'description' => '是否是主私网IP地址。可能值:'."\n" + .'- true:主私网IP'."\n" + .'- false:辅助私网IP', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AssociatedPublicIp' => [ + 'description' => '弹性网卡关联的弹性公网IP。', + 'type' => 'object', + 'properties' => [ + 'PublicIpAddress' => [ + 'description' => '弹性公网IP地址。', + 'type' => 'string', + 'example' => '116.62.**.**', + ], + 'AllocationId' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + 'PrivateDnsName' => [ + 'description' => '实例的私网域名。'."\n" + ."\n\n" + .'> 仅当实例的主机名类型`HostnameType`配置为`IP`格式或者`InstanceId`格式时,返回固定格式的私网域名。', + 'type' => 'string', + 'example' => 'DnsTestName', + ], + ], + ], + ], + ], + ], + 'Ipv6Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Set' => [ + 'description' => '弹性网卡已分配的IPv6地址集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Address' => [ + 'description' => '弹性网卡已分配的IPv6地址。', + 'type' => 'string', + 'example' => '2408:4321:180:1701:94c7:bc38:3bfa:****', + ], + ], + ], + ], + ], + ], + 'Ipv4PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv4PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv4前缀集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv4Prefix' => [ + 'description' => '弹性网卡已分配的IPv4前缀。', + 'type' => 'string', + 'example' => '192.168.**.0/28', + ], + ], + ], + ], + ], + ], + 'Ipv6PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv6前缀集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Prefix' => [ + 'description' => '弹性网卡已分配的IPv6前缀。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00:****::/80', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '所属的安全组集合。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp18kz60mefsicfg****', + ], + ], + ], + ], + 'AssociatedPublicIp' => [ + 'description' => '弹性网卡辅助私有IP地址关联的弹性公网IP。', + 'type' => 'object', + 'properties' => [ + 'PublicIpAddress' => [ + 'description' => '弹性公网IP地址。', + 'type' => 'string', + 'example' => '116.62.**.**', + ], + 'AllocationId' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + 'Attachment' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'DeviceIndex' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'InstanceId' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'TrunkNetworkInterfaceId' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'NetworkCardIndex' => [ + 'description' => '网卡挂载指定的物理网卡索引。'."\n" + .'- 如果网卡是未挂载(Available)状态或者挂载时未指定索引,则不返回此值。'."\n" + .'- 如果网卡是已挂载(InUse)状态且挂载时指定,此值表示网卡挂载指定的物理网卡索引。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + 'DeleteOnRelease' => [ + 'description' => '释放实例时是否保留网卡。可能值:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'SourceDestCheck' => [ + 'description' => '是否开启源/目的检查功能。建议您打开该功能,以提高网络安全。可能值:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 使用该参数前,请认真阅读[源/目的检查](~~2863210~~)。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVpc.Empty', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniPageNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVpc.Indeterminacy', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 2,\\n \\"NetworkInterfaceSets\\": {\\n \\"NetworkInterfaceSet\\": [\\n {\\n \\"CreationTime\\": \\"2019-12-25T12:31:31Z\\",\\n \\"VpcId\\": \\"vpc-bp1j7w3gc1cexjqd****\\",\\n \\"Type\\": \\"Secondary\\",\\n \\"Status\\": \\"Available\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"Standard\\",\\n \\"NetworkInterfaceName\\": \\"my-eni-name\\",\\n \\"MacAddress\\": \\"00:16:3e:12:**:**\\",\\n \\"QueuePairNumber\\": 0,\\n \\"NetworkInterfaceId\\": \\"eni-bp125p95hhdhn3ot****\\",\\n \\"ServiceID\\": 12345678910,\\n \\"InstanceId\\": \\"i-bp1e2l6djkndyuli****\\",\\n \\"OwnerId\\": \\"123456****\\",\\n \\"ServiceManaged\\": true,\\n \\"VSwitchId\\": \\"vsw-bp16usj2p27htro3****\\",\\n \\"Description\\": \\"DescriptionTest\\",\\n \\"ResourceGroupId\\": \\"rg-2ze88m67qx5z****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-e\\",\\n \\"PrivateIpAddress\\": \\"172.17.**.**\\",\\n \\"QueueNumber\\": 8,\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"172.17.**.**\\",\\n \\"Primary\\": true,\\n \\"AssociatedPublicIp\\": {\\n \\"PublicIpAddress\\": \\"116.62.**.**\\",\\n \\"AllocationId\\": \\"null\\"\\n },\\n \\"PrivateDnsName\\": \\"DnsTestName\\"\\n }\\n ]\\n },\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2408:4321:180:1701:94c7:bc38:3bfa:****\\"\\n }\\n ]\\n },\\n \\"Ipv4PrefixSets\\": {\\n \\"Ipv4PrefixSet\\": [\\n {\\n \\"Ipv4Prefix\\": \\"192.168.**.0/28\\"\\n }\\n ]\\n },\\n \\"Ipv6PrefixSets\\": {\\n \\"Ipv6PrefixSet\\": [\\n {\\n \\"Ipv6Prefix\\": \\"2001:db8:1234:1a00:****::/80\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp18kz60mefsicfg****\\"\\n ]\\n },\\n \\"AssociatedPublicIp\\": {\\n \\"PublicIpAddress\\": \\"116.62.**.**\\",\\n \\"AllocationId\\": \\"null\\"\\n },\\n \\"Attachment\\": {\\n \\"DeviceIndex\\": 0,\\n \\"InstanceId\\": \\"null\\",\\n \\"TrunkNetworkInterfaceId\\": \\"null\\",\\n \\"NetworkCardIndex\\": 0\\n },\\n \\"DeleteOnRelease\\": true,\\n \\"SourceDestCheck\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n AAAAAdDWBF2****\\n 1\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 2\\n \\n 2019-12-25T12:31:31Z\\n vpc-bp1j7w3gc1cexjqd****\\n Secondary\\n Available\\n Standard\\n my-eni-name\\n 00:16:3e:12:**:**\\n 0\\n eni-bp125p95hhdhn3ot****\\n 12345678910\\n i-bp1e2l6djkndyuli****\\n 123456****\\n true\\n vsw-bp16usj2p27htro3****\\n DescriptionTest\\n rg-2ze88m67qx5z****\\n cn-hangzhou-e\\n 172.17.**.**\\n 8\\n \\n 172.17.**.**\\n true\\n \\n 116.62.**.**\\n null\\n \\n \\n \\n 2408:4321:180:1701:94c7:bc38:3bfa:****\\n \\n \\n 192.168.**.0/28\\n \\n \\n 2001:db8:1234:1a00:****::/80\\n \\n \\n TestValue\\n TestKey\\n \\n sg-bp18kz60mefsicfg****\\n \\n 116.62.**.**\\n null\\n \\n \\n 0\\n null\\n null\\n 0\\n true\\n \\n \\n","errorExample":""}]', + 'title' => '查看弹性网卡(ENI)列表', + 'description' => '## 接口说明'."\n" + ."\n" + .'`DescribeNetworkInterfaces`接口支持指定`MaxResults`或`NextToken`参数通过分页查询。具体使用说明:'."\n" + ."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。'."\n" + ."\n" + .'- 查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeNetworkInterfaceAttribute' => [ + 'summary' => '指定弹性网卡ID,查询一个网卡的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29285', + 'abilityTreeNodes' => [ + 'FEATUREecsTML5VX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eni-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Attribute', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡属性,取值范围:'."\n" + ."\n" + .'attachment:查询中继网卡的成员网卡的挂载信息(该参数正在邀测中,暂未开放使用)。'."\n" + ."\n" + .'connectionTrackingConfiguration:网络连接跟踪配置信息。'."\n" + ."\n" + .'默认值:', + 'type' => 'string', + 'required' => false, + 'example' => 'attachment', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '网卡信息集合。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '弹性网卡的创建时间。', + 'type' => 'string', + 'example' => '2019-12-25T12:31:31Z', + ], + 'VpcId' => [ + 'description' => '弹性网卡所属的专有网络VPC ID。', + 'type' => 'string', + 'example' => 'vpc-bp67acfmxazb4p****', + ], + 'Type' => [ + 'description' => '弹性网卡类型。可能值:'."\n" + ."\n" + .'* Primary:主网卡。'."\n" + .'* Secondary:辅助弹性网卡。', + 'type' => 'string', + 'example' => 'Secondary', + ], + 'Status' => [ + 'description' => '弹性网卡的状态。可能值:'."\n" + ."\n" + .'* Available:可用。'."\n" + .'* Attaching:附加中。'."\n" + .'* InUse:已附加。'."\n" + .'* Detaching:分离中。'."\n" + .'* Deleting:删除中。'."\n" + ."\n" + .'默认值:空,表示查询所有状态。', + 'type' => 'string', + 'example' => 'Available', + ], + 'NetworkInterfaceTrafficMode' => [ + 'description' => '弹性网卡的通讯模式。可能值:'."\n" + ."\n" + .'- Standard:使用TCP通讯模式。'."\n" + .'- HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。'."\n" + ."\n" + .'> HighPerformance参数值只支持RDMA增强型实例规格族c7re。', + 'type' => 'string', + 'example' => 'Standard', + ], + 'NetworkInterfaceName' => [ + 'description' => '弹性网卡的名称。', + 'type' => 'string', + 'example' => 'my-eni-name', + ], + 'MacAddress' => [ + 'description' => '弹性网卡的MAC地址。', + 'type' => 'string', + 'example' => '00:16:3e:12:**:**', + ], + 'QueuePairNumber' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '22', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡的ID。', + 'type' => 'string', + 'example' => 'eni-bp125p95hhdhn3ot****', + ], + 'ServiceID' => [ + 'description' => '弹性网卡对应的虚商ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12345678910', + ], + 'InstanceId' => [ + 'description' => '弹性网卡附加的实例ID。'."\n" + ."\n" + .'> 由其他阿里云服务管理和控制的弹性网卡不会返回实例ID。'."\n", + 'type' => 'string', + 'example' => 'i-bp1e2l6djkndyuli****', + ], + 'OwnerId' => [ + 'description' => '弹性网卡的所属账号ID。', + 'type' => 'string', + 'example' => '123456****', + ], + 'ServiceManaged' => [ + 'description' => '该弹性网卡的使用者是否为云产品或虚商。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VSwitchId' => [ + 'description' => '弹性网卡所属的交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp1s5fnvk4gn2tws0****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'Description' => [ + 'description' => '弹性网卡描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'ResourceGroupId' => [ + 'description' => '实例所属的企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'PrivateIpAddress' => [ + 'description' => '弹性网卡的私网IP地址。', + 'type' => 'string', + 'example' => '10.1.**.**', + ], + 'QueueNumber' => [ + 'description' => '弹性网卡的队列数。'."\n" + .'* 弹性网卡为主网卡:返回实例规格默认的主网卡队列数。'."\n" + ."\n" + .'* 弹性网卡为辅助网卡:'."\n" + .' * 辅助网卡是已附加(InUse)状态:'."\n" + .' * 辅助网卡没有修改过队列数,则返回实例规格默认的辅助网卡队列数。'."\n" + .' * 辅助网卡修改过队列数,则返回修改后的队列数。'."\n" + .' * 辅助网卡是可用(Available)状态:'."\n" + .' * 辅助网卡未修改过队列数,则返回值为空。'."\n" + .' * 辅助网卡修改过队列数,则返回修改后的队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '弹性网卡所属的安全组集合。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡所属的安全组。', + 'type' => 'string', + 'example' => 'sg-bp18kz60mefsicfg****', + ], + ], + ], + ], + 'AssociatedPublicIp' => [ + 'description' => '弹性网卡辅助私有IP地址关联的弹性公网IP。', + 'type' => 'object', + 'properties' => [ + 'PublicIpAddress' => [ + 'description' => '弹性公网IP地址。', + 'type' => 'string', + 'example' => '116.62.**.**', + ], + 'AllocationId' => [ + 'description' => '弹性公网IP的ID。', + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + 'Attachment' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'DeviceIndex' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => 'hide', + ], + 'InstanceId' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'hide', + ], + 'TrunkNetworkInterfaceId' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'hide', + ], + 'MemberNetworkInterfaceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MemberNetworkInterfaceId' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'hide', + ], + ], + ], + ], + 'NetworkCardIndex' => [ + 'description' => '网卡挂载指定的物理网卡索引。'."\n" + .'- 如果网卡是未挂载(Available)状态或者挂载时未指定索引,则不返回此值。'."\n" + .'- 如果网卡是已挂载(InUse)状态且挂载时指定,此值表示网卡挂载指定的物理网卡索引。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + 'PrivateIpSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpSet' => [ + 'description' => '弹性网卡的私网IP地址信息集合。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡的私网IP地址信息。', + 'type' => 'object', + 'properties' => [ + 'PrivateIpAddress' => [ + 'description' => '弹性网卡的私网IP地址。', + 'type' => 'string', + 'example' => '172.17.**.**', + ], + 'Primary' => [ + 'description' => '是否是主私网IP地址。可能值:'."\n" + .'- true:主私网IP。'."\n" + .'- false:辅助私网IP。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AssociatedPublicIp' => [ + 'description' => '弹性网卡辅助私有IP地址关联的弹性公网IP。', + 'type' => 'object', + 'properties' => [ + 'PublicIpAddress' => [ + 'description' => '弹性公网IP地址。', + 'type' => 'string', + 'example' => '116.62.**.**', + ], + 'AllocationId' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + ], + ], + ], + ], + ], + 'Ipv6Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Set' => [ + 'description' => '弹性网卡已分配的IPv6地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡已分配的ipv6地址。', + 'type' => 'object', + 'properties' => [ + 'Ipv6Address' => [ + 'description' => '为弹性网卡指定的IPv6地址。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00::****', + ], + ], + ], + ], + ], + ], + 'Ipv4PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv4PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv4前缀集合。', + 'type' => 'array', + 'items' => [ + 'description' => '已分配的IPv4前缀。', + 'type' => 'object', + 'properties' => [ + 'Ipv4Prefix' => [ + 'description' => '弹性网卡已分配的IPv4前缀。', + 'type' => 'string', + 'example' => '192.168.**.0/28', + ], + ], + ], + ], + ], + ], + 'Ipv6PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6PrefixSet' => [ + 'description' => '弹性网卡已分配的IPv6前缀集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Ipv6Prefix' => [ + 'description' => '弹性网卡已分配的IPv6前缀。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00:****::/80', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '弹性网卡的标签集合。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡的标签信息。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'BondInterfaceSpecification' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'BondMode' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'SlaveInterfaceSpecification' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlaveInterfaceSpecificationSet' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'SlaveNetworkInterfaceId' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'WorkState' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'BondNetworkInterfaceId' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + ], + ], + ], + ], + ], + 'SlaveInterfaceSpecification' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'SlaveNetworkInterfaceId' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'WorkState' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'BondNetworkInterfaceId' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + 'DeleteOnRelease' => [ + 'description' => '释放实例时是否保留网卡。可能值:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'TcpOptionAddressEnabled' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'NetworkInterfaceTrafficConfig' => [ + 'description' => '弹性网卡通讯参数', + 'type' => 'object', + 'properties' => [ + 'NetworkInterfaceTrafficMode' => [ + 'description' => '弹性网卡的通讯模式。', + 'type' => 'string', + 'example' => 'HighPerformance', + ], + 'QueueNumber' => [ + 'description' => '弹性网卡队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'QueuePairNumber' => [ + 'description' => 'RDMA 网卡队列数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + ], + ], + 'ConnectionTrackingConfiguration' => [ + 'description' => '网络连接跟踪配置信息集合。'."\n" + ."\n" + .'使用该参数前,请认真阅读[连接超时管理](~~2865958~~)。'."\n" + ."\n\n" + .'> 仅当入参`Attribute`取值为:`connectionTrackingConfiguration`时,返回该参数。', + 'type' => 'object', + 'properties' => [ + 'TcpEstablishedTimeout' => [ + 'description' => '已建状态的TCP连接超时时间,单位:s(秒)。可能值:[30, 60, 80, 100, 200, 300, 500, 700, 910]。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '910', + ], + 'TcpClosedAndTimeWaitTimeout' => [ + 'description' => 'TCP等待与关闭超时时间,单位:s(秒)。可能值:3~15内的整数。'."\n" + ."\n\n" + ."\n" + .'> 如果您的ECS实例配合NLB/CLB使用,`TIME_WAIT`状态的连接超时时间默认值为15秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'UdpTimeout' => [ + 'description' => 'UDP流超时时间。单位:s(秒)。可能值:[10, 20, 30, 60, 80, 100]。'."\n" + ."\n\n" + ."\n" + .'> 如果您的ECS实例配合NLB/CLB使用,默认值为100秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + ], + ], + 'SourceDestCheck' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'EnhancedNetwork' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'EnableSriov' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'EnableRss' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VirtualFunctionTotalQueueNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'VirtualFunctionQuantity' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + 'QoSConfig' => [ + 'title' => 'QoS 限速设置', + 'description' => 'QoS 限速设置', + 'type' => 'object', + 'properties' => [ + 'EnableQoS' => [ + 'title' => '是否启用 QoS 限速设置', + 'description' => '是否启用 QoS 限速设置', + 'type' => 'boolean', + ], + 'QoS' => [ + 'title' => 'QoS 限速设置', + 'description' => 'QoS 限速设置', + 'type' => 'object', + 'properties' => [ + 'BandwidthTx' => [ + 'title' => '最大内网出方向带宽限制', + 'description' => '最大内网出方向带宽限制', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000', + ], + 'BandwidthRx' => [ + 'title' => '最大内网入方向带宽限制', + 'description' => '最大内网入方向带宽限制', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000', + ], + 'PpsTx' => [ + 'title' => '内网出方向网络收发包能力', + 'description' => '内网出方向网络收发包能力', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000', + ], + 'PpsRx' => [ + 'title' => '内网入方向网络收发包能力', + 'description' => '内网入方向网络收发包能力', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000', + ], + 'ConcurrentConnections' => [ + 'title' => '会话数量的最大值', + 'description' => '会话数量的最大值', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidRegionId.MalFormed', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CreationTime\\": \\"2019-12-25T12:31:31Z\\",\\n \\"VpcId\\": \\"vpc-bp67acfmxazb4p****\\",\\n \\"Type\\": \\"Secondary\\",\\n \\"Status\\": \\"Available\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"Standard\\",\\n \\"NetworkInterfaceName\\": \\"my-eni-name\\",\\n \\"MacAddress\\": \\"00:16:3e:12:**:**\\",\\n \\"QueuePairNumber\\": 22,\\n \\"NetworkInterfaceId\\": \\"eni-bp125p95hhdhn3ot****\\",\\n \\"ServiceID\\": 12345678910,\\n \\"InstanceId\\": \\"i-bp1e2l6djkndyuli****\\",\\n \\"OwnerId\\": \\"123456****\\",\\n \\"ServiceManaged\\": true,\\n \\"VSwitchId\\": \\"vsw-bp1s5fnvk4gn2tws0****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"PrivateIpAddress\\": \\"10.1.**.**\\",\\n \\"QueueNumber\\": 8,\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp18kz60mefsicfg****\\"\\n ]\\n },\\n \\"AssociatedPublicIp\\": {\\n \\"PublicIpAddress\\": \\"116.62.**.**\\",\\n \\"AllocationId\\": \\"null\\"\\n },\\n \\"Attachment\\": {\\n \\"DeviceIndex\\": 0,\\n \\"InstanceId\\": \\"hide\\",\\n \\"TrunkNetworkInterfaceId\\": \\"hide\\",\\n \\"MemberNetworkInterfaceIds\\": {\\n \\"MemberNetworkInterfaceId\\": [\\n \\"hide\\"\\n ]\\n },\\n \\"NetworkCardIndex\\": 0\\n },\\n \\"PrivateIpSets\\": {\\n \\"PrivateIpSet\\": [\\n {\\n \\"PrivateIpAddress\\": \\"172.17.**.**\\",\\n \\"Primary\\": true,\\n \\"AssociatedPublicIp\\": {\\n \\"PublicIpAddress\\": \\"116.62.**.**\\",\\n \\"AllocationId\\": \\"null\\"\\n }\\n }\\n ]\\n },\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Set\\": [\\n {\\n \\"Ipv6Address\\": \\"2001:db8:1234:1a00::****\\"\\n }\\n ]\\n },\\n \\"Ipv4PrefixSets\\": {\\n \\"Ipv4PrefixSet\\": [\\n {\\n \\"Ipv4Prefix\\": \\"192.168.**.0/28\\"\\n }\\n ]\\n },\\n \\"Ipv6PrefixSets\\": {\\n \\"Ipv6PrefixSet\\": [\\n {\\n \\"Ipv6Prefix\\": \\"2001:db8:1234:1a00:****::/80\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"BondInterfaceSpecification\\": {\\n \\"BondMode\\": \\"null\\",\\n \\"SlaveInterfaceSpecification\\": {\\n \\"SlaveInterfaceSpecificationSet\\": [\\n {\\n \\"SlaveNetworkInterfaceId\\": \\"null\\",\\n \\"WorkState\\": \\"null\\",\\n \\"BondNetworkInterfaceId\\": \\"null\\"\\n }\\n ]\\n }\\n },\\n \\"SlaveInterfaceSpecification\\": {\\n \\"SlaveNetworkInterfaceId\\": \\"null\\",\\n \\"WorkState\\": \\"null\\",\\n \\"BondNetworkInterfaceId\\": \\"null\\"\\n },\\n \\"DeleteOnRelease\\": true,\\n \\"TcpOptionAddressEnabled\\": \\"null\\",\\n \\"NetworkInterfaceTrafficConfig\\": {\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"QueueNumber\\": 8,\\n \\"QueuePairNumber\\": 8\\n },\\n \\"ConnectionTrackingConfiguration\\": {\\n \\"TcpEstablishedTimeout\\": 910,\\n \\"TcpClosedAndTimeWaitTimeout\\": 3,\\n \\"UdpTimeout\\": 30\\n },\\n \\"SourceDestCheck\\": false,\\n \\"EnhancedNetwork\\": {\\n \\"EnableSriov\\": false,\\n \\"EnableRss\\": true,\\n \\"VirtualFunctionTotalQueueNumber\\": 0,\\n \\"VirtualFunctionQuantity\\": 0\\n },\\n \\"QoSConfig\\": {\\n \\"EnableQoS\\": true,\\n \\"QoS\\": {\\n \\"BandwidthTx\\": 50000,\\n \\"BandwidthRx\\": 50000,\\n \\"PpsTx\\": 50000,\\n \\"PpsRx\\": 50000,\\n \\"ConcurrentConnections\\": 50000\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2019-12-25T12:31:31Z\\n vpc-bp67acfmxazb4p****\\n Secondary\\n Available\\n Standard\\n my-eni-name\\n 00:16:3e:12:**:**\\n 22\\n eni-bp125p95hhdhn3ot****\\n 12345678910\\n i-bp1e2l6djkndyuli****\\n 123456****\\n true\\n vsw-bp1s5fnvk4gn2tws0****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n testDescription\\n rg-bp67acfmxazb4p****\\n cn-hangzhou-g\\n 10.1.**.**\\n 8\\n sg-bp18kz60mefsicfg****\\n \\n 116.62.**.**\\n null\\n \\n \\n hide\\n hide\\n hide\\n 0\\n \\n \\n 172.17.**.**\\n true\\n \\n 116.62.**.**\\n null\\n \\n \\n \\n 2001:db8:1234:1a00::****\\n \\n \\n 192.168.**.0/28\\n \\n \\n 2001:db8:1234:1a00:****::/80\\n \\n \\n TestValue\\n TestKey\\n \\n \\n null\\n \\n null\\n null\\n null\\n \\n \\n \\n null\\n null\\n null\\n true\\n \\n","errorExample":""}]', + 'title' => '查询网卡属性', + ], + 'ModifyNetworkInterfaceAttribute' => [ + 'summary' => '修改一个弹性网卡(ENI)的网卡队列数、所属安全组、队列深度、通讯模式以及释放实例时是否保留网卡等属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29306', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceName', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以`http://`和`https://`开头。支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'eniTestName', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'QueueNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '网卡队列数。取值范围:1~2048。'."\n" + ."\n" + .'- 允许修改处于可用状态(`Available`)的网卡队列数,或者已附加(`InUse`)至实例但实例为已停止(`Stopped`)状态的网卡队列数。'."\n" + ."\n" + .'- 网卡队列数不能超过实例规格允许的单块网卡最大队列数,同时实例的所有网卡累加队列数不能超过实例规格允许的队列数总配额。实例规格的单块网卡最大队列数和总配额可以通过[DescribeInstanceTypes](~~25620~~)接口查询`MaximumQueueNumberPerEni`、`TotalEniQueueQuantity`字段。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '-1', + 'example' => '8', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的描述信息。长度为2~255个英文或中文字符,不能以http://和https://开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'SecurityGroupId列表,辅助弹性网卡最终加入的安全组,并会移出已有的安全组。'."\n" + ."\n" + .'- N的取值范围与每张弹性网卡能够加入的安全组数量配额有关,更多信息,请参见[使用限制](~~25412#SecurityGroupQuota~~)。'."\n" + ."\n" + .'- 修改安全组后很快会生效,但可能有较小的延迟。', + 'type' => 'array', + 'items' => [ + 'description' => 'SecurityGroupId列表。'."\n" + ."\n" + .'- N的取值范围与每张弹性网卡能够加入的安全组数量配额有关,更多信息,请参见[使用限制](~~25412#SecurityGroupQuota~~)。'."\n" + ."\n" + .'- 只允许修改辅助网卡的安全组。'."\n" + ."\n" + .'- 设置安全组后,辅助弹性网卡会加入该安全组,并且移出已有安全组。'."\n" + ."\n" + .'- 修改安全组后很快会生效,但可能有较小的延迟。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'required' => false, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'DeleteOnRelease', + 'in' => 'query', + 'schema' => [ + 'description' => '释放实例时是否保留网卡。取值范围:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'RxQueueSize', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡入方向队列深度。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,如有需求请工单联系加白。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + .'- 目前仅适用于Linux镜像。'."\n" + .'- 较大的入方向队列深度可以提升入方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + ], + [ + 'name' => 'TxQueueSize', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡出方向队列深度。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,如有需求请工单联系加白。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + .'- 目前仅适用于Linux镜像。'."\n" + .'- 较大的出方向队列深度可以提升出方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + ], + [ + 'name' => 'NetworkInterfaceTrafficConfig', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '弹性网卡通讯参数', + 'type' => 'object', + 'properties' => [ + 'NetworkInterfaceTrafficMode' => [ + 'description' => '网卡的通讯模式。参数取值范围:'."\n" + ."\n" + .'- Standard:使用 TCP 通讯模式。'."\n" + .'- HighPerformance:开启 ERI(Elastic RDMA Interface)接口,使用 RDMA 通讯模式。'."\n" + ."\n" + .'当弹性网卡处于挂载态时,您需要注意:'."\n" + .'- 实例的所有RDMA网卡数不能超过实例规格允许的RDMA网卡数配额。实例规格允许的RDMA网卡数配额可以通过 DescribeInstanceTypes 接口查询EriQuantity字段。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'HighPerformance', + ], + 'QueueNumber' => [ + 'description' => '弹性网卡队列数。'."\n" + .'当弹性网卡处于挂载态时,您需要注意:'."\n" + .'- 不能超过实例规格允许的单块网卡最大队列数。'."\n" + .'- 实例的所有网卡累加队列数不能超过实例规格允许的队列数总配额。实例规格的单块网卡最大队列数和总配额可以通过 DescribeInstanceTypes 接口查询MaximumQueueNumberPerEni、TotalEniQueueQuantity字段。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + 'QueuePairNumber' => [ + 'description' => 'RDMA 网卡队列数。'."\n" + .'当弹性网卡处于挂载态时,您需要注意:'."\n" + .'- 不能超过实例规格允许的单块RDMA网卡最大队列数。实例规格允许的单块RDMA网卡最大队列数可以通过 DescribeInstanceTypes 接口查询QueuePairNumber字段。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8', + ], + 'RxQueueSize' => [ + 'description' => '弹性网卡入方向队列深度。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,如有需求请工单联系加白。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + .'- 目前仅适用于Linux镜像。'."\n" + .'- 较大的入方向队列深度可以提升入方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + 'TxQueueSize' => [ + 'description' => '弹性网卡出方向队列深度。'."\n" + ."\n" + .'> 该参数正在邀测中,暂未开放使用,如有需求请工单联系加白。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 仅适用于7代及以后ECS规格。'."\n" + .'- 目前仅适用于Linux镜像。'."\n" + .'- 较大的出方向队列深度可以提升出方向的吞吐量,降低丢包概率,但会占用更多的内存。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '8192', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ConnectionTrackingConfiguration', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '网络连接跟踪配置信息集合。'."\n" + ."\n" + .'使用该参数前,请认真阅读[连接超时管理](~~2865958~~)。', + 'type' => 'object', + 'properties' => [ + 'TcpEstablishedTimeout' => [ + 'description' => '已建状态的TCP连接超时时间,单位:s(秒)。取值范围:[30, 60, 80, 100, 200, 300, 500, 700, 910]。'."\n" + ."\n" + .'默认值:910。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '910', + ], + 'TcpClosedAndTimeWaitTimeout' => [ + 'description' => 'TCP等待与关闭超时时间,单位:s(秒)。取值范围:3~15内的整数。'."\n" + ."\n" + .'默认值:3。'."\n" + ."\n" + .'> 如果您的ECS实例配合NLB/CLB使用,`TIME_WAIT`状态的连接超时时间默认值为15秒。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + 'UdpTimeout' => [ + 'description' => 'UDP流超时时间。单位:s(秒)。取值范围:[10, 20, 30, 60, 80, 100]。'."\n" + ."\n" + .'默认值:30。'."\n" + ."\n" + .'> 如果您的ECS实例配合NLB/CLB使用,默认值为100秒。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnhancedNetwork', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'EnableSriov' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'EnableRss' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'VirtualFunctionTotalQueueNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + 'VirtualFunctionQuantity' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SourceDestCheck', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启源/目的检查功能。建议您打开该功能,以提高网络安全。可能值:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 仅部分地域支持该功能。使用前,请认真阅读[源/目的检查](~~2863210~~)。', + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.NotSupportModifyQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EniId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'JoinedGroupLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniQueueSize.RegionOrUserNotSupported', + 'errorMessage' => 'The specified parameter RxQueueSize or TxQueueSize is not supported in this region, or this account is not in the whitelist of using eni QueueSize.', + ], + [ + 'errorCode' => 'InvalidParameter.EniQueueSize', + 'errorMessage' => 'The specified parameter TxQueueSize and RxQueueSize are not equal or exceed limit.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidConnectionTrackingConfiguration.RegionOrUserNotSupported', + 'errorMessage' => 'The specified parameter ConnectionTrackingConfiguration is not supported in this region, or this account is not in the whitelist of using network interface ConnectionTrackingConfiguration.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidQueuePairNumber', + 'errorMessage' => 'The specified parameter QueuePairNumber exceeds limit.', + ], + [ + 'errorCode' => 'InvalidParameter.EniConnectionTrackingConfiguration', + 'errorMessage' => 'The specify network interface connection tracking configuration exceeds limit.', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueuePairNumberExceed', + 'errorMessage' => 'The QueuePairNumber on the RDMA ENI exceeds the upper limit allowed for a single ENI.', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceEniPerInstanceLimitExceeded', + 'errorMessage' => 'The number of RDMA ENIs attached to the ECS instance exceeds the upper limit.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportHighPerformance', + 'errorMessage' => 'The ECS instance type where the ENI is located does not support the RDMA mode.', + ], + [ + 'errorCode' => 'InvalidTrafficMode.ModifyToStandardNotSupported', + 'errorMessage' => 'The specified parameter NetworkInterfaceTrafficMode is not supported to modify to Standard.', + ], + [ + 'errorCode' => 'InvalidOperation.EniTrafficModeNotSupportIPv6', + 'errorMessage' => 'The ENI using High Performance traffic mode does not support IPv6.', + ], + [ + 'errorCode' => 'InvalidOperation.EniQueuePairNumberOverflow', + 'errorMessage' => 'The RDMA QueuePairNumber of the ECS instance associated with the specified ENI exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter.QueuePairNumberMustEmpty', + 'errorMessage' => 'When the traffic mode is set to Standard, the QueuePairNumber must be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.EniTrafficMode', + 'errorMessage' => 'The ENI traffic mode is set incorrectly, it must be either Standard or HighPerformance.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportRss', + 'errorMessage' => 'The ECS instance type does not support Rss.', + ], + [ + 'errorCode' => 'InvalidParameter.EniEnhancedNetwork', + 'errorMessage' => 'The input parameter "EnhancedNetwork" is illegal, when EnableSriov is true, VirtualFunctionTotalQueueNumber must not be empty, and VirtualFunctionQuantity must be 1 to 256. When EnableSriov is empty or false, VirtualFunctionTotalQueueNumber and VirtualFunctionQuantity must be empty.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupportModifyVFQueueNumberAndVFQuantity', + 'errorMessage' => 'The ENI not support modify VirtualFunctionTotalQueueNumber and VirtualFunctionQuantity when EnableSriov is true.', + ], + [ + 'errorCode' => 'InvalidOperation.TrunkAttachmentMustEmpty', + 'errorMessage' => 'The Attachment of the current Trunk type Network Interface must be empty when modify EnableSriov to true.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MultiGroupType', + 'errorMessage' => 'The specified instance can\'t join different types of security group.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => 'The maximum number of eni in a enterprise level security group is exceeded.', + ], + [ + 'errorCode' => 'InvalidParams.NetworkInterfaceName', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ModifyPrimaryEniQueueNumber', + 'errorMessage' => 'Primary NetworkInterface is not allowed to modify queue number.', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => 'Available status or ECS instance attached is Stopped is allowed to modify network interface queue number.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidEniQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueueNumberExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ExceedInstanceTypeQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AclLimitExceed', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.PrimaryEniOnlySupportModifyNameAndDesc', + 'errorMessage' => 'Primary NetworkInterface is only allowed to modify name and description.', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupIdRepeated', + 'errorMessage' => 'The specified security group ids has repeated.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '修改弹性网卡属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteNetworkInterface' => [ + 'summary' => '异步删除一张弹性网卡(ENI)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29267', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp14v2sdd3v8htln****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'F3CD6886-D8D0-4FEE-B93E-1B73239673DE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.HasSlaveEniBonded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EniId', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.EniMustHaveSecurityGroup', + 'errorMessage' => 'The specified network card does not have an associated security group.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::DescribeNetworkInterfaces', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 30, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FExxxxx\\",\\n}"},{"type":"xml","example":"\\n F3CD6886-D8D0-4FEE-B93E-1B73239673DE\\n","errorExample":"\\n 04F0F334-1335-436C-A1D7-6C044FExxxxx\\n"}]', + 'title' => '删除弹性网卡(ENI)', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 弹性网卡必须处于可用(Available)状态。'."\n" + ."\n" + .'- 如果弹性网卡已经附加到ECS实例,必须先从实例分离([DetachNetworkInterface](~~58514~~)),才能删除弹性网卡。'."\n" + ."\n" + .'- 删除弹性网卡之后:'."\n" + ."\n" + .' - 弹性网卡的所有私有地址(包括主私网地址和辅助私网地址)会自动释放。'."\n" + ."\n" + .' - 被删除的弹性网卡退出所属的所有安全组。'."\n" + .'- 本接口为异步接口,调用成功后,您可以通过查询弹性网卡状态或监听网卡操作事件来感知操作结果, 弹性网卡状态机如下图所示:'."\n" + .'![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221208/xual/DeleteNetworkInterface.jpg)'."\n" + .' - Deleting说明删除弹性网卡请求发送成功,弹性网卡正在删除中。'."\n" + .' - 若无法查询到弹性网卡,说明弹性网卡删除成功。'."\n" + .' - 若弹性网卡状态长时间为Deleting说明删除失败,此时您可以重新发起删除请求弹性网卡操作。 '."\n" + ."\n" + .'**调用示例详情参见**[删除弹性网卡](~~471553~~)。', + ], + 'AttachNetworkInterface' => [ + 'summary' => '调用AttachNetworkInterface接口,并可以指定NetworkInterfaceId、InstanceId、NetworkCardIndex等参数,附加一个弹性网卡(ENI)到一台专有网络VPC类型ECS实例上。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29243', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eni-bp17pdijfczax1huji****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'i-bp16qstyvxj9gpqw****', + ], + ], + [ + 'name' => 'TrunkNetworkInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '中继网卡ID。'."\n" + .'>该参数暂未上线,不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-f8zapqwj1v1j4ia3****', + ], + ], + [ + 'name' => 'WaitForNetworkConfigurationReady', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'NetworkCardIndex', + 'in' => 'query', + 'schema' => [ + 'description' => '网卡指定的物理网卡索引。'."\n" + ."\n" + .'>NetworkCardIndex 取值与实例规格族有关。如果实例规格不支持NetworkCard则不能指定;如果支持,取值请参见[实例规格族](~~25378~~)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidRegion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidGeneration', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EniId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.UserNotSupportNetworkCard', + 'errorMessage' => 'User not support network card.', + ], + [ + 'errorCode' => 'InvalidOperation.ConnectionTrackingConfigNotSupportMemberEni', + 'errorMessage' => 'Member eni not support ConnectionTrackingConfiguration.', + ], + [ + 'errorCode' => 'InvalidParameter.NetworkCardIndexInvalid', + 'errorMessage' => 'The network card index is invalid or the current ECS/ENI type does not support the value.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportRss', + 'errorMessage' => 'The ECS instance type does not support Rss.', + ], + [ + 'errorCode' => 'OperationDenied.NoEniStock', + 'errorMessage' => 'The requested resource of ENI is insufficient in the specified ECS, please retry or upgrade to enterprise-level computing instance types.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEni.NotSameVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MultiGroupType', + 'errorMessage' => 'The specified instance can\'t join different types of security group.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupportEnterpriseGroup', + 'errorMessage' => 'The specified instance type doesn\'t support enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => 'The maximum number of eni in a enterprise level security group is exceeded.', + ], + [ + 'errorCode' => 'InvalidOperation.EipBindModel', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HotPlugNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstance.NetworkType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidTrunkEniStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.TrunkingIsNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportEniTrunking', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniTypeNotSupportTrunking', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniTrunkDeviceFull', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniNotBelongTrunk', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniTypeNotSupportAttachToTrunk', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniNotBelongEcs', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidEniQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueueNumberExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ExceedInstanceTypeQueueNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceTrafficModeNotSupportTrunkEni', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceTrafficModeNotSupportMemberEni', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportHighPerformanceTrafficMode', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniTrafficModeNotSupportIpv6', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEniQueuePairNumberExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidQueuePairNumber', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniQueuePairNumberOverflow', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceEniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6CountExceeded', + 'errorMessage' => '%s.', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.EniMustHaveSecurityGroup', + 'errorMessage' => 'The specified network card does not have an associated security group.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::DescribeNetworkInterfaces', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 30, + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [ + 'ecs:NetworkInterface:NetworkInterfaceOperateCompleted', + ], + ], + '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' => '附加弹性网卡到专有网络VPC类型实例上', + 'description' => '调用该接口时,请注意:'."\n" + ."\n" + .'- 弹性网卡必须处于**可用**(`Available`)状态,一个弹性网卡只能同时附加到一台相同可用区且相同专有网络的实例上。'."\n" + ."\n" + .'- 实例需处于运行中(Running)或者已停止(Stopped)状态,部分实例规格的实例在附加弹性网卡时必须为已停止(Stopped)状态,更多信息,请参见[附加弹性网卡](~~58503~~)中的需要停止实例的ECS实例规格章节。'."\n" + ."\n" + .' > 如果实例最后一次启动时间在2018年4月1日之前(包括但不限于启动新购的实例、重启、重开机),您必须提前调用RebootInstance重启一直保持运行中状态的实例,否则无法附加弹性网卡。'."\n" + ."\n" + .'- 一台实例可以同时附加多个弹性网卡,更多信息,请参见[弹性网卡概述](~~58496~~)。'."\n" + .' '."\n" + .'- 弹性网卡所在的交换机必须与实例所在交换机属于同一可用区且同一专有网络VPC。 '."\n" + ."\n" + .'- 该接口为异步接口,调用成功后,您可以通过查询弹性网卡状态或监听网卡操作事件的方式来感知操作结果。 弹性网卡状态机如下图所示:'."\n" + .'![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221124/esgu/AttachNetworkInterface.jpg)'."\n" + .' - Attaching说明附加弹性网卡请求发送成功,弹性网卡正在附加到ECS实例中。'."\n" + .' - InUse说明弹性网卡已附加到ECS实例。'."\n" + .' - Available说明弹性网卡附加到ECS实例失败。 '."\n" + ."\n" + .'**调用示例详情参见**[附加弹性网卡](~~471550~~)。', + ], + 'DetachNetworkInterface' => [ + 'summary' => '从一台ECS实例上分离一张弹性网卡(ENI)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29295', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'TrunkNetworkInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '中继网卡ID。'."\n" + .'>该参数暂未上线,不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-f8zapqwj1v1j4ia3****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidRegion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EniId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniNotBelongEcs', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniHotPlugNotSupported', + 'errorMessage' => 'The ENI with high-performance traffic mode cannot be hot-plugged. Please stop the ECS instance to which the ENI is attached, and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniLinked', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HotPlugNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidTrunkEniStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.TrunkingIsNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceTypeNotSupportEniTrunking', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniNotBelongTrunk', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniTypeNotSupportTrunking', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HasMemberEniAttached', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniNotBelongEcs', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.EniMustHaveSecurityGroup', + 'errorMessage' => 'The specified network card does not have an associated security group.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::DescribeNetworkInterfaces', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 30, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FExxxxx\\",\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n 04F0F334-1335-436C-A1D7-6C044FExxxxx\\n"}]', + 'title' => '从实例上分离弹性网卡(ENI)', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 不允许分离实例主网卡。'."\n" + ."\n" + .'- 弹性网卡必须处于分离中(Detaching)或者已附加(InUse)状态。 '."\n" + ."\n" + .'- 实例必须处于运行中(Running)或者已停止(Stopped)状态。 '."\n" + ."\n" + .'- 本接口为异步接口,调用成功后,您可以通过查询弹性网卡状态或监听网卡操作事件来感知操作结果, 弹性网卡状态机如下图所示:'."\n" + .'![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221124/mvga/DetachNetworkInterface.jpg)'."\n" + ."\n" + .' - Detaching状态说明分离弹性网卡请求发送成功,弹性网卡正在从ECS实例分离。'."\n" + ."\n" + .' - Available状态说明弹性网卡从ECS实例分离成功。'."\n" + ."\n" + .' - 若弹性网卡长时间为Detaching状态,可能是因为实例内部的操作系统不响应网卡的分离请求等原因导致了分离失败。此时,您可以对该弹性网卡重新发起分离请求,若长时间不成功的话,可以尝试重启实例后重试。 '."\n" + ."\n" + .'**调用示例详情参见**[分离弹性网卡](~~471551~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssignPrivateIpAddresses' => [ + 'summary' => '为一块弹性网卡分配一个或多个辅助私网IP地址。可以为网卡指定在所属交换机(vSwitch)的空闲私网IP地址,或者通过指定私网地址数量自动分配私网IP地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29242', + 'abilityTreeNodes' => [ + 'FEATUREecsCHDP5I', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所属的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所属的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecondaryPrivateIpAddressCount', + 'in' => 'query', + 'schema' => [ + 'description' => '指定私网IP地址数量,自动从交换机的空闲IP地址中分配IP地址。'."\n" + ."\n" + .'分配辅助私网IP地址时,您不能同时指定`PrivateIpAddress.N`和`SecondaryPrivateIpAddressCount`。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '从弹性网卡所属交换机的空闲IP地址中选择一个或多个辅助私网IP地址。N的取值范围:'."\n" + ."\n" + .'- 弹性网卡处于可用(`Available`)状态:1~32。'."\n" + .'- 弹性网卡处于已附加(`InUse`)状态:受到实例规格限制,更多信息,请参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'分配辅助私网IP地址时,您不能同时指定`PrivateIpAddress.N`和`SecondaryPrivateIpAddressCount`。', + 'type' => 'array', + 'items' => [ + 'description' => '从弹性网卡所属交换机的空闲IP地址中选择一个或多个辅助私网IP地址。N的取值范围:'."\n" + ."\n" + .'- 弹性网卡处于可用(`Available`)状态:1~32。'."\n" + .'- 弹性网卡处于已附加(`InUse`)状态:受到实例规格限制,更多信息,请参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'> 分配辅助私网IP地址时,您不能同时指定`PrivateIpAddress.N`和`SecondaryPrivateIpAddressCount`。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.**.**', + ], + 'required' => false, + 'example' => '10.1.**.**', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'Ipv4Prefix', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv4前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv4前缀,则必须设置Ipv4Prefix.N或者Ipv4PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'array', + 'items' => [ + 'description' => '为弹性网卡指定一个或多个IPv4前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv4前缀,则必须设置Ipv4Prefix.N或者Ipv4PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**/28', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Ipv4PrefixCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为弹性网卡指定随机生成的IPv4前缀数量。取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv4前缀,则必须设置Ipv4Prefix.N或者Ipv4PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '10', + 'minimum' => '1', + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'AssignedPrivateIpAddressesSet' => [ + 'description' => '已分配辅助私网IP地址的弹性网卡信息组成的集合。', + 'type' => 'object', + 'properties' => [ + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-bp125p95hhdhn3ot****', + ], + 'PrivateIpSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivateIpAddress' => [ + 'description' => '已分配的私网IP地址集合。', + 'type' => 'array', + 'items' => [ + 'description' => '已分配的私网IP地址。', + 'type' => 'string', + 'example' => '192.168.**.**', + ], + ], + ], + ], + 'Ipv4PrefixSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv4Prefixes' => [ + 'description' => '已分配的IPv4前缀集合。', + 'type' => 'array', + 'items' => [ + 'description' => '已分配的IPv4前缀。', + 'type' => 'string', + 'example' => '192.168.**.**/28', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'InvalidOperation.Unsupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', + 'errorMessage' => 'Specified private IP address is duplicated.', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecondaryPrivateIpAddressCount.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceNotSupportMulitipleIp', + 'errorMessage' => 'Assigning private ip for instance in cloud box is unsupported.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The operation is not allowed in the current VSwitch state. Expecting state includes "Created Available", but current state is "%s".', + ], + [ + 'errorCode' => 'QuotaExceeded.PrivateIpAddress', + 'errorMessage' => 'There are not enough private IPs in the specified VSwitch.', + ], + [ + 'errorCode' => 'InvalidStatus.InstanceIsMigrating', + 'errorMessage' => 'The ECS which ENI is attached to is migrating. Please try again later.', + ], + [ + 'errorCode' => 'InvalidEniId.Malformed', + 'errorMessage' => 'The specified parameter "NetworkInterfaceId" is not valid. Ensure you provide the full ENI id in the form eni-xxx.', + ], + [ + 'errorCode' => 'InvalidVSwitch.IllegalStatus', + 'errorMessage' => 'The operation is not allowed in the current VSwitch state. Expecting state includes "Created", but current state is "%s".', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpNotEnough', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpAssigned', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniPrivateIpsCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Operation.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixIllegal', + 'errorMessage' => 'The ip prefixes %s is/are illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskIllegal', + 'errorMessage' => 'The current IP prefix mask is illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskNotSame', + 'errorMessage' => 'The IP prefixes %s are illegal.The IP prefix mask must be the same.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotAvailable', + 'errorMessage' => 'The IP prefix is not available.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotStrict', + 'errorMessage' => 'The IP prefix "%s" must be strict CIDR format.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpPrefixNotEnough', + 'errorMessage' => 'The specified VSwitch does not have enough IP prefixes.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskInvalid', + 'errorMessage' => 'The IP prefixes mask "%s" is illegal.Ensure the mask is between %s and %s.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMustInReserveSegment', + 'errorMessage' => 'The IP prefix must be in VSwitch reserved segment. Ensure you create reserved segment for the VSwitch.', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VSwitchCidrReservationNotExist', + 'errorMessage' => 'The specified VSwitch does not have CIDR reservation.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InvalidOperation.RegionNotSupportIpPrefix', + 'errorMessage' => 'The current region does not support IP prefix feature.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpCount', + 'errorMessage' => 'The current privateIpCount is not in the range 1.0 through 100.0.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"AssignedPrivateIpAddressesSet\\": {\\n \\"NetworkInterfaceId\\": \\"eni-bp125p95hhdhn3ot****\\",\\n \\"PrivateIpSet\\": {\\n \\"PrivateIpAddress\\": [\\n \\"192.168.**.**\\"\\n ]\\n },\\n \\"Ipv4PrefixSet\\": {\\n \\"Ipv4Prefixes\\": [\\n \\"192.168.**.**/28\\"\\n ]\\n }\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE70008\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n \\n 192.168.**.**\\n \\n eni-bp125p95hhdhn3ot****\\n \\n","errorExample":"\\n 04F0F334-1335-436C-A1D7-6C044FE70008\\n"}]', + 'title' => '为弹性网卡分配辅助私有IP地址', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 仅支持可用(Available)或者已附加(InUse)状态下的弹性网卡。'."\n" + .'- 操作主网卡时,网卡附加的实例必须处于运行中(Running)或者已停止(Stopped)状态。'."\n" + .'- 网卡处于可用(Available)状态时,最多可以分配49个辅助私网IP地址。一旦挂载到实例上,网卡能分配的辅助私网IP地址数将受到实例规格限制。更多详情,请参见[实例规格族](~~25378~~)。'."\n" + .'- 成功调用该接口后,您可以从返回结果中获取已分配的辅助私网IP地址信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassignPrivateIpAddresses' => [ + 'summary' => '从一张弹性网卡删除一个或多个辅助私有IP地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29321', + 'abilityTreeNodes' => [ + 'FEATUREecsV84Q27', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个需要删除的辅助私有IP地址。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或多个需要删除的辅助私有IP地址。N的取值范围为1~32。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + 'required' => false, + 'example' => '192.168.**.**', + 'maxItems' => 32, + ], + ], + [ + 'name' => 'Ipv4Prefix', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个需要删除的IPv4前缀。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或多个需要删除的IPv4前缀。N的取值范围为1~10。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**/28', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.DetachPrimaryEniNotAllowed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.Malformed', + 'errorMessage' => 'The specified parameter "EniId" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EniPerInstanceLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotVpc', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpUnassigned', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Operation.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskInvalid', + 'errorMessage' => 'The ip prefixes mask %s is illegal which must be between %s and %s.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskNotSame', + 'errorMessage' => 'The ip prefixes %s are illegal which mask must be same.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotStrict', + 'errorMessage' => 'The ip prefix must be strict cidr format.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixIllegal', + 'errorMessage' => 'The ip prefixes %s is/are illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpRepeated', + 'errorMessage' => 'The specified ipAddress %s is(are) repeated.', + ], + ], + [ + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InvalidOperation.RegionNotSupportIpPrefix', + 'errorMessage' => 'The current region does not support ip prefix.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::DescribeNetworkInterfaces', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 10, + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [ + 'ecs:NetworkInterface:PrivateIPUnassigned', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE70008\\"\\n}"},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE70008\\n","errorExample":"\\n 04F0F334-1335-436C-A1D7-6C044FE70008\\n"}]', + 'title' => '从弹性网卡删除辅助私有IP地址', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 只支持**可用**(Available)或者**已附加**(InUse)状态下的弹性网卡。'."\n" + ."\n" + .'- 操作主网卡时,网卡附加的实例必须处于**运行中**(Running)或者**已停止**(Stopped)状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AssignIpv6Addresses' => [ + 'summary' => '为弹性网卡分配一个或多个IPv6地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29241', + 'abilityTreeNodes' => [ + 'FEATUREecsCHDP5I', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eni-bp1iqejowblx6h8j****', + ], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为弹性网卡指定随机生成的IPv6地址数量。取值范围:1~10。'."\n" + ."\n" + .'> 调用该接口时,您必须设置`Ipv6Addresses.N`参数或者`Ipv6AddressCount`参数的其中一个,但不能同时设置这两个参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv6地址。支持设置最多10个IPv6地址,即N的取值范围:1~10。'."\n" + ."\n" + .'取值示例:Ipv6Address.1=2001:db8:1234:1a00::\\*\\*\\*\\*'."\n" + ."\n" + .'> 调用该接口时,您必须设置`Ipv6Addresses.N`参数或者`Ipv6AddressCount`参数的其中一个,但不能同时设置这两个参数。', + 'type' => 'array', + 'items' => [ + 'description' => '为弹性网卡指定一个或多个IPv6地址。支持设置最多10个IPv6地址,即N的取值范围:1~10。'."\n" + ."\n" + .'取值示例:Ipv6Address.1=2001:db8:1234:1a00::\\*\\*\\*\\*'."\n" + ."\n" + .'> 调用该接口时,您必须设置`Ipv6Addresses.N`参数或者`Ipv6AddressCount`参数的其中一个,但不能同时设置这两个参数。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::****', + ], + 'required' => false, + 'example' => '2001:db8:1234:1a00::****', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Ipv6Prefix', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv6前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv6前缀,则必须设置Ipv6Prefix.N或者Ipv6PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'array', + 'items' => [ + 'description' => '为弹性网卡指定一个或多个IPv6前缀。N的取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv6前缀,则必须设置Ipv6Prefix.N或者Ipv6PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00:****::/80', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Ipv6PrefixCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为弹性网卡指定一个或多个IPv6前缀。取值范围:1~10。'."\n" + .'> 如果您需要为弹性网卡设置IPv6前缀,则必须设置Ipv6Prefix.N或者Ipv6PrefixCount的其中一个,但不能同时设置这两个参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '10', + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-bp1iqejowblx6h8j****', + ], + 'Ipv6Sets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Address' => [ + 'description' => '弹性网卡已分配的IPv6地址。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡已分配的IPv6地址。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00::****', + ], + ], + ], + ], + 'Ipv6PrefixSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Ipv6Prefix' => [ + 'description' => '弹性网卡已分配的IPv6前缀集合。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡已分配的IPv6前缀。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00:****::/80', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InValidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EniId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPrivateIpAddress.Duplicated', + 'errorMessage' => 'Specified private IP address is duplicated.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'The current status of vSwitch does not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniOperationConflict', + 'errorMessage' => 'The previous ENI operation is still in progress. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbedden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniIpv6IpsCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpUnassigned', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpAssigned', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.Address', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniCountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6CountExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv6NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.Ipv4NotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitch.Ipv6NotTurnOn', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.IpAssign', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.HighPerformanceTrafficModeEniNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniTypeNotSupport', + 'errorMessage' => 'The member eni does not support ipv6.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixIllegal', + 'errorMessage' => 'The ip prefixes %s is/are illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskIllegal', + 'errorMessage' => 'The ip prefix mask is illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskInvalid', + 'errorMessage' => 'The ip prefixes mask %s is illegal which must be between %s and %s.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskNotSame', + 'errorMessage' => 'The ip prefixes %s are illegal which mask must be same.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMustInReserveSegment', + 'errorMessage' => 'The ip prefix must in vswitch reserve segment.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotAvailable', + 'errorMessage' => 'The ip prefix is/are not available.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotStrict', + 'errorMessage' => 'The ip prefix must be strict cidr format.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpPrefixNotEnough', + 'errorMessage' => 'The specified vSwitch has not enough ip prefix.', + ], + ], + [ + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MaxEniIpv6IpsCountExceeded', + 'errorMessage' => 'The ipv6 address count exceed limitation.', + ], + [ + 'errorCode' => 'InvalidOperation.VSwitchIpv6Disabled', + 'errorMessage' => 'The specified VSwitch does not support Ipv6 feature.', + ], + [ + 'errorCode' => 'InvalidOperation.EnableIpv6Failed', + 'errorMessage' => 'The specified VSwitch does not support Ipv6 feature.', + ], + [ + 'errorCode' => 'InvalidIp.IpAssigned', + 'errorMessage' => 'The specified ipv6 has already been allocated.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.IpInvalid', + 'errorMessage' => 'The specified ipv6 does not match VSwitch cidr scope.', + ], + [ + 'errorCode' => 'InvalidOperation.HasIpv6RouteEntry', + 'errorMessage' => 'The specified eni has been pointed to the next hop of the route.', + ], + [ + 'errorCode' => 'InvalidOperation.VSwitchCidrReservationNotExist', + 'errorMessage' => 'The specified vSwitch has no cidr reservation.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InvalidOperation.RegionNotSupportIpPrefix', + 'errorMessage' => 'The current region does not support ip prefix.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NetworkInterfaceId\\": \\"eni-bp1iqejowblx6h8j****\\",\\n \\"Ipv6Sets\\": {\\n \\"Ipv6Address\\": [\\n \\"2001:db8:1234:1a00::****\\"\\n ]\\n },\\n \\"Ipv6PrefixSets\\": {\\n \\"Ipv6Prefix\\": [\\n \\"2001:db8:1234:1a00:****::/80\\"\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"A94E0C9F-B39E-4A87-BFFC-6DC7840xxxxx\\"\\n}"},{"type":"xml","example":"\\n \\n 2001:db8:1234:1a00::****\\n 2001:db8:1234:1a01::****\\n \\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n eni-bp1iqejowblx6h8j****\\n","errorExample":"\\n A94E0C9F-B39E-4A87-BFFC-6DC7840xxxxx\\n"}]', + 'title' => '为弹性网卡分配IPv6地址', + 'description' => '## 接口说明'."\n" + .'您可以指定弹性网卡所属交换机下CIDR的IPv6地址,也可以指定IPv6地址数量自动创建IPv6地址。您需要注意:'."\n" + ."\n" + .'- 弹性网卡所属的交换机必须开通了IPv6。更多信息,请参见[为已有交换机开通IPv6网段](~~98923~~)。'."\n" + ."\n" + .'- 弹性网卡必须处于可用(Available)或已附加(InUse)状态。'."\n" + ."\n" + .'- 操作主网卡时,网卡附加的实例必须处于运行中(Running)或已停止(Stopped)状态。'."\n" + ."\n" + .'- 单个网卡能够分配的IPv6地址数量和网卡附加的实例规格有关。'."\n" + .' - 如果弹性网卡处于可用(Available)状态,最多可以分配10个IPv6地址。'."\n" + ."\n" + .' - 如果弹性网卡附加到实例上,能够分配的IPv6地址数将受到实例规格限制。更多信息,请参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'- 成功调用该接口后,您可以从返回结果中获取已分配的IPv6地址信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UnassignIpv6Addresses' => [ + 'summary' => '回收一个或多个弹性网卡IPv6地址。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29320', + 'abilityTreeNodes' => [ + 'FEATUREecsV84Q27', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp14v2sdd3v8ht****', + ], + ], + [ + 'name' => 'Ipv6Address', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个需要删除的IPv6地址。N的取值范围为1~10。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或多个需要删除的IPv6地址。N的取值范围为1~10。'."\n" + ."\n" + .'>- 调用该接口时,您必须指定`Ipv6Address`参数或`Ipv6Prefix`参数中的一个,否则将会报错。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Ipv6Prefix', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个需要回收的IPv6前缀。N的取值范围为1~10。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或多个需要回收的IPv6前缀。N的取值范围为1~10。'."\n" + ."\n" + .'>- 调用该接口时,您必须指定`Ipv6Address`参数或`Ipv6Prefix`参数中的一个,否则将会报错。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00:****::/80', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEcsState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.Malformed', + 'errorMessage' => 'The specified parameter "EniId" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbedden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpUnassigned', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpRepeated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.Address', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixIllegal', + 'errorMessage' => 'The ip prefixes %s is/are illegal.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskInvalid', + 'errorMessage' => 'The ip prefixes mask %s is illegal which must be between %s and %s.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixMaskNotSame', + 'errorMessage' => 'The ip prefixes %s are illegal which mask must be same.', + ], + [ + 'errorCode' => 'InvalidIp.IpPrefixNotStrict', + 'errorMessage' => 'The ip prefix must be strict cidr format.', + ], + ], + [ + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InvalidOperation.RegionNotSupportIpPrefix', + 'errorMessage' => 'The current region does not support ip prefix.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ecs::2014-05-26::DescribeNetworkInterfaces', + 'callbackInterval' => 2000, + 'maxCallbackTimes' => 10, + ], + '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' => '回收弹性网卡IPv6地址', + 'description' => '## 接口说明'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 弹性网卡必须处于**可用**(Available)或**已附加**(InUse)状态。'."\n" + .'- 操作主网卡时,网卡附加的ECS实例必须处于**运行中**(Running)或**已停止**(Stopped)状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateNetworkInterfacePermission' => [ + 'summary' => '调用CreateNetworkInterfacePermission为阿里云合作伙伴(认证ISV)或者个人用户授权弹性网卡权限。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29256', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡权限的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡权限的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => '阿里云合作伙伴(认证ISV)账号ID或者个人用户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp14v2sdd3v8htln****', + ], + ], + [ + 'name' => 'Permission', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡权限动作。当前仅支持InstanceAttach。'."\n" + ."\n" + .'InstanceAttach:允许授权的用户将您的弹性网卡挂载到对方的ECS实例上。ECS实例必须和弹性网卡在同一个可用区中。', + 'type' => 'string', + 'required' => true, + 'example' => 'InstanceAttach', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0FCD3DEF-63D3-4605-A818-805C8BD7DB87', + ], + 'NetworkInterfacePermission' => [ + 'description' => '弹性网卡权限列表组成的信息集合。', + 'type' => 'object', + 'properties' => [ + 'Permission' => [ + 'description' => '弹性网卡权限。', + 'type' => 'string', + 'example' => 'InstanceAttach', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-bp14v2sdd3v8htln****', + ], + 'AccountId' => [ + 'description' => '阿里云合作伙伴(认证ISV)账号ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890', + ], + 'NetworkInterfacePermissionId' => [ + 'description' => '弹性网卡权限ID。', + 'type' => 'string', + 'example' => 'eni-perm-bp1cs4lwn56lfb****', + ], + 'ServiceName' => [ + 'description' => '阿里云服务名称。', + 'type' => 'string', + 'example' => 'Elastic Compute Service', + ], + 'PermissionState' => [ + 'description' => '弹性网卡权限状态。可能值:'."\n" + ."\n" + .'- Pending:授权中。'."\n" + .'- Granted:已授权。'."\n" + .'- Revoking:撤销授权中。'."\n" + .'- Revoked:已撤销授权。', + 'type' => 'string', + 'example' => 'Granted', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotBelongUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.PermissionExisted', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.PermissionNotExisted', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0FCD3DEF-63D3-4605-A818-805C8BD7DB87\\",\\n \\"NetworkInterfacePermission\\": {\\n \\"Permission\\": \\"InstanceAttach\\",\\n \\"NetworkInterfaceId\\": \\"eni-bp14v2sdd3v8htln****\\",\\n \\"AccountId\\": 1234567890,\\n \\"NetworkInterfacePermissionId\\": \\"eni-perm-bp1cs4lwn56lfb****\\",\\n \\"ServiceName\\": \\"Elastic Compute Service\\",\\n \\"PermissionState\\": \\"Granted\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\t0FCD3DEF-63D3-4605-A818-805C8BD7DB87\\n\\t\\n\\t\\tGranted\\n\\t\\tInstanceAttach\\n\\t\\t1234567890\\n\\t\\teni-perm-bp1cs4lwn56lfb****\\n\\t\\teni-bp14v2sdd3v8htln****\\n\\t\\tElastic Compute Service\\n\\t\\n","errorExample":""}]', + 'title' => '为认证ISV或个人授权弹性网卡权限', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeNetworkInterfacePermissions' => [ + 'summary' => '调用DescribeNetworkInterfacePermissions查询您授权给阿里云合作伙伴(认证ISV)或者个人用户的弹性网卡权限列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29286', + 'abilityTreeNodes' => [ + 'FEATUREecsTML5VX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡权限的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡权限的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。您必须指定`NetworkInterfaceId`或`NetworkInterfacePermissionId.N`确定查询范围。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp17pdijfczax****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡权限列表的页码。'."\n" + ."\n" + .'起始值:1'."\n" + ."\n" + .'默认值:1', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100'."\n" + ."\n" + .'默认值:10', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NetworkInterfacePermissionId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡权限ID列表。列表元素数量:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡权限ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-perm-bp1cs4lwn56lfb****', + ], + 'required' => false, + 'example' => 'eni-perm-bp1cs4lwn56lfb****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0FCD3DEF-63D3-4605-A818-805C8BD7DB87', + ], + 'PageNumber' => [ + 'description' => '列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询到的条目总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NetworkInterfacePermissions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterfacePermission' => [ + 'description' => '弹性网卡权限列表组成的信息集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Permission' => [ + 'description' => '弹性网卡权限。', + 'type' => 'string', + 'example' => 'InstanceAttach', + ], + 'NetworkInterfaceId' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'example' => 'eni-bp14v2sdd3v8htln****', + ], + 'AccountId' => [ + 'description' => '阿里云合作伙伴(认证ISV)账号ID或个人用户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890', + ], + 'NetworkInterfacePermissionId' => [ + 'description' => '弹性网卡权限ID。', + 'type' => 'string', + 'example' => 'eni-perm-bp1cs4lwn56lfb****', + ], + 'ServiceName' => [ + 'description' => '阿里云服务名称。', + 'type' => 'string', + 'example' => 'Elastic Compute Service', + ], + 'PermissionState' => [ + 'description' => '弹性网卡权限状态。可能值:'."\n" + ."\n" + .'- Pending:授权中'."\n" + .'- Granted:已授权'."\n" + .'- Revoking:撤销授权中'."\n" + .'- Revoked:已撤销授权', + 'type' => 'string', + 'example' => 'Granted', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotBelongUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.PermissionExisted', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.PermissionNotExisted', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"0FCD3DEF-63D3-4605-A818-805C8BD7DB87\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"NetworkInterfacePermissions\\": {\\n \\"NetworkInterfacePermission\\": [\\n {\\n \\"Permission\\": \\"InstanceAttach\\",\\n \\"NetworkInterfaceId\\": \\"eni-bp14v2sdd3v8htln****\\",\\n \\"AccountId\\": 1234567890,\\n \\"NetworkInterfacePermissionId\\": \\"eni-perm-bp1cs4lwn56lfb****\\",\\n \\"ServiceName\\": \\"Elastic Compute Service\\",\\n \\"PermissionState\\": \\"Granted\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 1\\n 10\\n A23C2FCC-6532-4264-BD5C-0566A4FA993C\\n \\n \\n Granted\\n InstanceAttach\\n 1234567890\\n eni-perm-bp1cs4lwn56lfb****\\n eni-bp14v2sdd3v8htln****\\n Elastic Compute Service\\n \\n \\n","errorExample":""}]', + 'title' => '查询授权给认证ISV或个人的弹性网卡权限', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreatePrefixList' => [ + 'summary' => '创建一个前缀列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29258', + 'abilityTreeNodes' => [ + 'FEATUREecsKTKFUC', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'MaxEntries', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表支持的最大条目容量。取值范围:1~200。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'maximum' => '200', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'AddressFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的地址族。取值范围:'."\n" + ."\n" + .'- IPv4。'."\n" + .'- IPv6。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'PrefixListName', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的名称。长度为2~128个字符,必须以大小字母或中文开头,不能以`http://`、`https://`、`com.aliyun`和`com.alibabacloud`开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'PrefixListNameSample', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'Entry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '前缀列表条目信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '前缀列表条目的描述信息。长度为2~32个英文或中文字符,不能以`http://`和`https://`开头。N的取值范围:0~200。', + 'type' => 'string', + 'required' => false, + 'example' => 'Description Sample 01', + ], + 'Cidr' => [ + 'description' => '前缀列表条目的CIDR地址块信息。N的取值范围:0~200。注意事项:'."\n" + ."\n" + .'- 前缀列表的条目数量不能大于最大条目容量(`MaxEntries`)。'."\n" + .'- 条目中的CIDR地址块类型根据地址族决定,一个前缀列表不能同时包含IPv4和IPv6的CIDR地址块。'."\n" + .'- 多个条目中的CIDR地址块不能重复。例如,您不能设置两个192.168.1.0/24。'."\n" + .'- 支持设置单IP地址,系统会自动转换为CIDR地址块。例如,您设置192.168.1.100,系统会自动转换成192.168.1.100/32。'."\n" + .'- 如果使用IPv6 CIDR地址块,系统会自动转换成零压缩表示形式且字母转换为小写。例如,您设置2001:0DB8:0000:0000:0000:0000:0000:0000/32,系统会自动转换成2001:db8::/32。'."\n" + ."\n" + .'关于CIDR地址块的详细信息,请参见[什么是CIDR](~~185311#598efe6ef1v00~~)。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.1.0/24', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 201, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '前缀列表的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '前缀列表的标签值。N的取值范围:1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://或https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表所属的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PrefixListId' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '38793DB8-A4B2-4AEC-BFD3-111234E9188D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.AddressFamily', + 'errorMessage' => 'The parameter AddressFamily should be IPv4 or IPv6.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.PrefixListName', + 'errorMessage' => 'The parameter PrefixListName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CidrMalformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.CidrDuplicated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'LimitExceed.Entry', + 'errorMessage' => 'The number of entries added or removed exceeds the limit.', + ], + [ + 'errorCode' => 'LimitExceed.MaxEntries', + 'errorMessage' => 'The number of entries exceeds the MaxEntries of the specified prefix list.', + ], + ], + 404 => [ + [ + 'errorCode' => 'LimitExceed.PrefixListPerRegion', + 'errorMessage' => 'The number of prefix lists in the region exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The specified resource group is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PrefixListId\\": \\"pl-x1j1k5ykzqlixdcy****\\",\\n \\"RequestId\\": \\"38793DB8-A4B2-4AEC-BFD3-111234E9188D\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 38793DB8-A4B2-4AEC-BFD3-111234E9188D\\n pl-x1j1k5ykzqlixdcy****\\n","errorExample":""}]', + 'title' => '创建前缀列表', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 前缀列表是一些网络前缀(即CIDR地址块)的集合,您可以在配置其他资源的网络规则时引用前缀列表。关于前缀列表的详细说明,请参见[前缀列表概述](~~206223~~)。'."\n" + .'- 创建前缀列表时:'."\n" + ."\n" + .' - 您必须为该前缀列表指定地址族(IPv4或IPv6),同一前缀列表中的条目只能属于同一地址族,且地址族创建后不能修改。'."\n" + .' - 您必须为该前缀列表设置最大条目容量,且创建后不能修改。'."\n" + .' - 您可以为该前缀列表指定一些条目,条目由CIDR地址块和描述构成,条目数量不能超过您设置的最大条目容量。'."\n" + ."\n" + .'- 关于前缀列表及其他资源的使用限制说明,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'- 通过RAM用户可以让您避免与其他用户共享阿里云账号密钥,按需为用户分配最小权限,从而降低企业的信息安全风险。关于如何为RAM用户授予前缀列表相关权限的具体操作,请参见[为RAM用户授予前缀列表相关权限](~~206175~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribePrefixLists' => [ + 'summary' => '调用DescribePrefixLists查询一个或多个前缀列表的信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29290', + 'abilityTreeNodes' => [ + 'FEATUREecsQ7PR3V', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'PrefixListName', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrefixListNameSample', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AddressFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的地址族。取值范围:'."\n" + ."\n" + .'- IPv4。'."\n" + .'- IPv6。'."\n" + ."\n" + .'默认值:空,查询所有前缀列表信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', + 'schema' => [ + 'description' => '前缀列表ID。N的取值范围:0~100。', + 'type' => 'array', + 'items' => [ + 'description' => '前缀列表ID。N的取值范围:0~100。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + 'maxItems' => 101, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表所属的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '前缀列表的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyun和acs:开头,不能包含`http://或者https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '前缀列表的标签值。N的取值范围:1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://或https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。当该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '38793DB8-A4B2-4AEC-BFD3-111234E9188D', + ], + 'PrefixLists' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrefixList' => [ + 'description' => '前缀列表信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '前缀列表的创建时间。', + 'type' => 'string', + 'example' => '2021-02-20T07:11Z', + ], + 'AssociationCount' => [ + 'description' => '关联资源的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxEntries' => [ + 'description' => '前缀列表支持的最大条目容量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Description' => [ + 'description' => '前缀列表的描述信息。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'AddressFamily' => [ + 'description' => '前缀列表的地址族。可能值:'."\n" + ."\n" + .'- IPv4。'."\n" + .'- IPv6。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'PrefixListName' => [ + 'description' => '前缀列表的名称。', + 'type' => 'string', + 'example' => 'PrefixListNameSample', + ], + 'PrefixListId' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '前缀列表的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagKey' => [ + 'description' => '前缀列表的标签值。N的取值范围:1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://或https://`。', + 'type' => 'string', + 'example' => 'TestValue'."\n", + ], + ], + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => '前缀列表所属的企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'LimitExceed.PrefixListId', + 'errorMessage' => 'The specified number of PrefixListId exceeds the limit.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"38793DB8-A4B2-4AEC-BFD3-111234E9188D\\",\\n \\"PrefixLists\\": {\\n \\"PrefixList\\": [\\n {\\n \\"CreationTime\\": \\"2021-02-20T07:11Z\\",\\n \\"AssociationCount\\": 1,\\n \\"MaxEntries\\": 20,\\n \\"Description\\": \\"This is description.\\",\\n \\"AddressFamily\\": \\"IPv4\\",\\n \\"PrefixListName\\": \\"PrefixListNameSample\\",\\n \\"PrefixListId\\": \\"pl-x1j1k5ykzqlixdcy****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestKey\\",\\n \\"TagKey\\": \\"TestValue\\\\n\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\\\n\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n AAAAAdDWBF2****\\n 38793DB8-A4B2-4AEC-BFD3-111234E9188D\\n \\n 2021-02-20T07:11Z\\n 1\\n 20\\n This is description.\\n IPv4\\n PrefixListNameSample\\n pl-x1j1k5ykzqlixdcy****\\n \\n","errorExample":""}]', + 'title' => '查询前缀列表', + 'description' => '请求参数`AddressFamily`、`PrefixListId.N`和`PrefixListName`类似于过滤器,为逻辑与(AND)关系。如果某一参数为空,则过滤器不起作用。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribePrefixListAttributes' => [ + 'summary' => '查询指定前缀列表的详细信息,包含前缀列表的名称、地址族、最大条目容量以及条目的详细信息等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29289', + 'abilityTreeNodes' => [ + 'FEATUREecsQ7PR3V', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '前缀列表的创建时间。', + 'type' => 'string', + 'example' => '2021-02-20T07:11Z', + ], + 'MaxEntries' => [ + 'description' => '前缀列表支持的最大条目容量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '38793DB8-A4B2-4AEC-BFD3-111234E9188D', + ], + 'Description' => [ + 'description' => '前缀列表的描述信息。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'AddressFamily' => [ + 'description' => '前缀列表的地址族。可能值:'."\n" + ."\n" + .'- IPv4。'."\n" + .'- IPv6。', + 'type' => 'string', + 'example' => 'IPv4', + ], + 'PrefixListName' => [ + 'description' => '前缀列表的名称。', + 'type' => 'string', + 'example' => 'PrefixListNameSample', + ], + 'PrefixListId' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'Entries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Entry' => [ + 'description' => '前缀列表中的条目信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '前缀列表条目的描述信息。', + 'type' => 'string', + 'example' => 'Description Sample 01', + ], + 'Cidr' => [ + 'description' => '前缀列表条目的CIDR地址块信息。', + 'type' => 'string', + 'example' => '192.168.1.0/24', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CreationTime\\": \\"2021-02-20T07:11Z\\",\\n \\"MaxEntries\\": 10,\\n \\"RequestId\\": \\"38793DB8-A4B2-4AEC-BFD3-111234E9188D\\",\\n \\"Description\\": \\"This is description.\\",\\n \\"AddressFamily\\": \\"IPv4\\",\\n \\"PrefixListName\\": \\"PrefixListNameSample\\",\\n \\"PrefixListId\\": \\"pl-x1j1k5ykzqlixdcy****\\",\\n \\"Entries\\": {\\n \\"Entry\\": [\\n {\\n \\"Description\\": \\"Description Sample 01\\",\\n \\"Cidr\\": \\"192.168.1.0/24\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2021-02-20T07:11Z\\n 10\\n 38793DB8-A4B2-4AEC-BFD3-111234E9188D\\n This is description.\\n IPv4\\n PrefixListNameSample\\n pl-x1j1k5ykzqlixdcy****\\n \\n Description Sample 01\\n 192.168.1.0/24\\n \\n","errorExample":""}]', + 'title' => '查询前缀列表的详细信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribePrefixListAssociations' => [ + 'summary' => '查询指定前缀列表已关联的资源信息,例如,资源ID和资源类型。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29288', + 'abilityTreeNodes' => [ + 'FEATUREecsQ7PR3V', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。当该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '38793DB8-A4B2-4AEC-BFD3-111234E9188D', + ], + 'PrefixListAssociations' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrefixListAssociation' => [ + 'description' => '前缀列表已关联的资源信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'sg-bp11ujym6xsff6l0****', + ], + 'ResourceType' => [ + 'description' => '资源类型。', + 'type' => 'string', + 'example' => 'securitygroup', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotSupported.ResourceType', + 'errorMessage' => 'The specified resource type is not supported.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"38793DB8-A4B2-4AEC-BFD3-111234E9188D\\",\\n \\"PrefixListAssociations\\": {\\n \\"PrefixListAssociation\\": [\\n {\\n \\"ResourceId\\": \\"sg-bp11ujym6xsff6l0****\\",\\n \\"ResourceType\\": \\"securitygroup\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n AAAAAdDWBF2****\\n 38793DB8-A4B2-4AEC-BFD3-111234E9188D\\n \\n sg-bp11ujym6xsff6l0****\\n securitygroup\\n \\n","errorExample":""}]', + 'title' => '查询前缀列表已关联的资源信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyPrefixList' => [ + 'summary' => '修改指定前缀列表的名称、描述等,支持增加、修改和删除条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29308', + 'abilityTreeNodes' => [ + 'FEATUREecsFABLOI', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'PrefixListName', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以`http://`、`https://`、`com.aliyun`和`com.alibabacloud`开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrefixListNameSample', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表的描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'AddEntry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '添加的前缀列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '添加的前缀列表信息。', + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '前缀列表条目的描述信息。长度为2~32个英文或中文字符,不能以`http://`和`https://`开头。N的取值范围:0~200。', + 'type' => 'string', + 'required' => false, + 'example' => 'Description Sample 01', + ], + 'Cidr' => [ + 'description' => '添加的前缀列表条目的CIDR地址块信息。N的取值范围:0~200。'."\n" + ."\n" + .'添加时请您注意:'."\n" + .'- 前缀列表的条目数量,不能大于前缀列表支持的最大条目容量。您可以调用[DescribePrefixListAttributes](~~205872~~)查询指定前缀列表的最大条目容量信息。'."\n" + .'- 不允许设置重复的CIDR地址块信息。'."\n" + .'- 不允许与`RemoveEntry.N.Cidr`参数值重复。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.2.0/24', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 201, + ], + ], + [ + 'name' => 'RemoveEntry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '删除的前缀列表信息。', + 'type' => 'array', + 'items' => [ + 'description' => '删除的前缀列表信息。', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => '删除的前缀列表条目的CIDR地址块信息。N的取值范围:0~200。'."\n" + ."\n" + .'删除时请您注意:'."\n" + .'- 不允许设置重复的CIDR地址块信息。'."\n" + .'- 不允许与`AddEntry.N.Cidr`参数值重复。', + 'type' => 'string', + 'required' => true, + 'example' => '192.168.1.0/24', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 201, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '38793DB8-A4B2-4AEC-BFD3-111234E9188D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.PrefixListName', + 'errorMessage' => 'The parameter PrefixListName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidParameter.CidrDuplicated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.CidrMalformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'LimitExceed.MaxEntries', + 'errorMessage' => 'The number of entries exceeds the MaxEntries of the specified prefix list.', + ], + [ + 'errorCode' => 'LimitExceed.Entry', + 'errorMessage' => 'The number of entries added or removed exceeds the limit.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"38793DB8-A4B2-4AEC-BFD3-111234E9188D\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 38793DB8-A4B2-4AEC-BFD3-111234E9188D\\r\\n","errorExample":""}]', + 'title' => '修改前缀列表的属性', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 指定的CIDR地址块应当为标准形式。例如,10.0.0.0/8是正确形式的CIDR地址块,而10.0.0.1/8是错误形式。更多信息,请参见[什么是CIDR](~~40637#section-jua-0tj-q5m~~)。'."\n" + .'- 新增或删除条目时,不能指定重复的CIDR地址块。例如:'."\n" + .' - 对于IPv4 CIDR地址块:不能同时指定两个CIDR地址块均为10.0.0.0/8的条目;不能同时指定两个CIDR地址块分别为10.0.0.1/32和10.0.0.1的条目,这两个地址块重复。'."\n" + .' - 对于IPv6 CIDR地址块:不能同时指定两个条目的CIDR地址块分别为2001:fd01:0:0:0:0:0:0/32和2001:fd01::/32,这两个地址块重复。'."\n" + .'- 新增条目的CIDR地址块不能与删除条目的CIDR地址块重复。例如,在您新增CIDR地址块为10.0.0.0/8的条目时,不能在待删除的条目中包含CIDR地址块10.0.0.0/8。'."\n" + .'- 若您需要修改条目的描述,需要指定条目的CIDR地址块(`AddEntry.N.Cidr`)和新的描述信息(`AddEntry.N.Description`)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeletePrefixList' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29269', + 'abilityTreeNodes' => [ + 'FEATUREecsKTKFUC', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-chengdu', + ], + ], + [ + 'name' => 'PrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '前缀列表ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '38793DB8-A4B2-4AEC-BFD3-111234E9188D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotAllowed.AssociationExist', + 'errorMessage' => 'The specified prefix list has associated resources.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"38793DB8-A4B2-4AEC-BFD3-111234E9188D\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 38793DB8-A4B2-4AEC-BFD3-111234E9188D\\r\\n","errorExample":""}]', + 'title' => '删除前缀列表', + 'summary' => '调用DeletePrefixList删除指定的前缀列表,同时删除前缀列表中的所有条目。', + 'description' => '前缀列表与其他资源存在关联时,不能直接删除,需要先在其他资源中解除对该前缀列表的关联,再执行删除操作。您可以调用[DescribePrefixListAssociations](~~204724~~)查询指定前缀列表的已关联资源。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreatePortRangeList' => [ + 'summary' => '创建端口列表,后续可关联资源(例如安全组)使用。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261375', + 'abilityTreeNodes' => [ + 'FEATUREecs0ZAT7E', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'MaxEntries', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表支持的最大条目容量,创建后不可更改。取值范围:1~2000。'."\n" + ."\n" + .'>端口列表关联资源(例如安全组)计算规则配额时,将使用最大条目容量计算,而非实际条目数,请合理设置。>', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '2000', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'PortRangeListName', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表的名称。长度为 2~128 个字符,必须以大小字母或中文开头,不能以http://、https://、com.aliyun和com.alibabacloud开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => true, + 'example' => 'PortRangeListNameSample', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表的描述信息。长度为 2~256 个英文或中文字符,不能以http://和https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'Description information of PortRangeList', + ], + ], + [ + 'name' => 'Entry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '端口列表条目数组。', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表条目集合。', + 'type' => 'object', + 'properties' => [ + 'PortRange' => [ + 'description' => '端口范围。N 的取值范围:0~200。'."\n" + ."\n" + .'- 条目数量不能大于最大条目容量(`MaxEntries`)。'."\n" + ."\n" + .'- 多个条目中的`PortRange`不能重复。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + 'Description' => [ + 'description' => '端口范围的描述信息。长度为 2~32 个英文或中文字符,不能以http://和https://开头。N 的取值范围:0~200。', + 'type' => 'string', + 'required' => false, + 'example' => 'Description information of Entry', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在的企业资源组 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek3b6jzp66****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '端口列表绑定的标签数组。数组长度:0~20', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表绑定的标签键值对信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '端口列表的标签键。'."\n" + ."\n" + .'使用该参数时,不允许为空或空字符串。最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'key for PortRangeList', + ], + 'Value' => [ + 'description' => '端口列表的标签值。'."\n" + ."\n" + .'使用该参数时,不允许为空,允许为空字符串。最多支持 128 个字符,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'value for PortRangeList', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回参数集合。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PortRangeListId' => [ + 'description' => '创建成功的端口列表 ID。', + 'type' => 'string', + 'example' => 'prl-2ze9743****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.Entry', + 'errorMessage' => 'The specified parameter Entry is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEntriesCountExceed', + 'errorMessage' => 'The specified MaxEntries exceeded the upper limit.', + ], + [ + 'errorCode' => 'InvalidOperation.EntryCountExceedMaxEntries', + 'errorMessage' => 'The number of entries in the port list exceeds MaxEntries.', + ], + [ + 'errorCode' => 'InvalidParameter.PortRange', + 'errorMessage' => 'The specified parameter PortRange is not valid. It should be two integers less than 65535 in specified format.', + ], + [ + 'errorCode' => 'InvalidParameter.PortRangeListName', + 'errorMessage' => 'The specified parameter PortRangeListName is not valid.', + ], + [ + 'errorCode' => 'LimitExceed.MaxEntries', + 'errorMessage' => 'The number of entries exceeds the MaxEntries of the specified PortRangeList.', + ], + [ + 'errorCode' => 'LimitExceed.Entry', + 'errorMessage' => 'The number of entries added or removed exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidOperation.MaxCountExceed', + 'errorMessage' => 'The number of port range list in the current account has exceeded quota.', + ], + [ + 'errorCode' => 'InvalidParameter.PortRangeDuplicated', + 'errorMessage' => 'The specified PortRange is duplicated.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid Description is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PortRangeListId\\": \\"prl-2ze9743****\\"\\n}","type":"json"}]', + 'title' => '创建端口列表', + ], + 'DescribePortRangeLists' => [ + 'summary' => '查询端口列表。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '262261', + 'abilityTreeNodes' => [ + 'FEATUREecsJ5L925', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的NextToken参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => '727d41872117f2816343eeb432fbc5bfd21dc824589d2a4be0b5e8707e68181f', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'- 最大值:100。'."\n" + ."\n" + .'- 默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'PortRangeListName', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表的名称。长度为 2~128 个字符,必须以大小字母或中文开头,不能以http://、https://、com.aliyun和com.alibabacloud开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PortRangeListNameSample', + ], + ], + [ + 'name' => 'PortRangeListId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '端口列表 ID。N 的取值范围:0~100。', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'prl-2ze9743****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。您可以调用[ListResourceGroups](~~2716558~~)查询资源组列表。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '端口列表绑定的标签数组。', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表绑定的标签键值对信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例的标签键。N的取值范围为1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'key for PortRangeList'."\n", + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'value for PortRangeList'."\n", + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回参数信息集合。', + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。当该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '6040AD98-11C3-5F78-9346-FCA8E9D8960F', + ], + 'PortRangeLists' => [ + 'description' => '端口列表信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表信息集合。', + 'type' => 'object', + 'properties' => [ + 'PortRangeListId' => [ + 'description' => '端口列表 ID。', + 'type' => 'string', + 'example' => 'prl-2ze9743****', + ], + 'PortRangeListName' => [ + 'description' => '端口列表的名称。', + 'type' => 'string', + 'example' => 'PortRangeListNameSample', + ], + 'MaxEntries' => [ + 'description' => '端口列表支持的最大条目容量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'AssociationCount' => [ + 'description' => '关联资源的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => '端口列表的描述信息。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'CreationTime' => [ + 'description' => '端口列表的创建时间。', + 'type' => 'string', + 'example' => '2024-12-04T07:11Z', + ], + 'ResourceGroupId' => [ + 'description' => '端口列表所在的企业资源组 ID。', + 'type' => 'string', + 'example' => 'rg-2zeg82g****', + ], + 'Tags' => [ + 'description' => '端口列表的标签组成的数组。', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表的标签集合。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '端口列表的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagValue' => [ + 'description' => '端口列表的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'LimitExceed.PortRangeListId', + 'errorMessage' => 'The specified number of PortRangeListId exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"RequestId\\": \\"6040AD98-11C3-5F78-9346-FCA8E9D8960F\\",\\n \\"PortRangeLists\\": [\\n {\\n \\"PortRangeListId\\": \\"prl-2ze9743****\\",\\n \\"PortRangeListName\\": \\"PortRangeListNameSample\\",\\n \\"MaxEntries\\": 20,\\n \\"AssociationCount\\": 1,\\n \\"Description\\": \\"This is description.\\",\\n \\"CreationTime\\": \\"2024-12-04T07:11Z\\",\\n \\"ResourceGroupId\\": \\"rg-2zeg82g****\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询端口列表', + ], + 'DescribePortRangeListEntries' => [ + 'summary' => '查询指定端口列表的条目。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '262565', + 'abilityTreeNodes' => [ + 'FEATUREecsJ5L925', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在的地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在的地域ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PortRangeListId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'prl-2ze9743****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回参数集合。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '882304EC-5CE2-5860-98ED-3FA1D8D74A0C', + ], + 'Entries' => [ + 'description' => '端口列表条目数组。', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表条目对象。', + 'type' => 'object', + 'properties' => [ + 'PortRange' => [ + 'description' => '端口范围。', + 'type' => 'string', + 'example' => '80/80', + ], + 'Description' => [ + 'description' => '端口范围的描述信息。', + 'type' => 'string', + 'example' => 'Description information of PortRangeList'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"882304EC-5CE2-5860-98ED-3FA1D8D74A0C\\",\\n \\"Entries\\": [\\n {\\n \\"PortRange\\": \\"80/80\\",\\n \\"Description\\": \\"Description information of PortRangeList\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询端口列表的条目', + ], + 'DescribePortRangeListAssociations' => [ + 'summary' => '查询指定端口列表已关联的资源信息,例如,安全组。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '262566', + 'abilityTreeNodes' => [ + 'FEATUREecsJ5L925', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PortRangeListId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '端口列表 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'prl-2ze9743****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次调用该接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAARbaCuN6hiD08qrLdwJ9Fh15YZPnzqF7Vs2EB6Ix327v', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回参数集合。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。当该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'PortRangeListAssociations' => [ + 'description' => '端口列表已关联的资源信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'description' => '端口列表已关联的资源信息集合。', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => [ + 'description' => '资源 ID。', + 'type' => 'string', + 'example' => 'sg-2zefu72****', + ], + 'ResourceType' => [ + 'description' => '资源类型。可能值:SecurityGroup。', + 'type' => 'string', + 'example' => 'SecurityGroup', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"PortRangeListAssociations\\": [\\n {\\n \\"ResourceId\\": \\"sg-2zefu72****\\",\\n \\"ResourceType\\": \\"SecurityGroup\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询端口列表已关联的资源信息', + ], + 'ModifyPortRangeList' => [ + 'summary' => '修改指定端口列表的名称、条目,支持增加、修改和删除条目。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '262567', + 'abilityTreeNodes' => [ + 'FEATUREecsEHJ4OD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '保证请求幂等性。', + 'type' => 'string', + 'required' => false, + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + [ + 'name' => 'PortRangeListId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '待修改的端口列表 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'prl-2ze9743****', + ], + ], + [ + 'name' => 'PortRangeListName', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表的名称。长度为 2~128 个字符,必须以大小字母或中文开头,不能以http://、https://、com.aliyun和com.alibabacloud开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PortRangeListNameSample', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表的描述信息。长度为 2~256 个英文或中文字符,不能以http://和https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'AddEntry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '增加或修改的端口列表条目数组。', + 'type' => 'array', + 'items' => [ + 'description' => '增加或修改的端口列表条目对象。', + 'type' => 'object', + 'properties' => [ + 'PortRange' => [ + 'description' => '端口范围,N 的取值范围:0~200。使用限制:'."\n" + ."\n" + .'- 条目数量不能大于最大条目容量(`MaxEntries`)。'."\n" + ."\n" + .'- 不允许设置重复的 `PortRange`。'."\n" + ."\n" + .'- 不允许与`RemoveEntry.N.PortRange` 参数值重复。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + 'Description' => [ + 'description' => '端口范围的描述信息。长度为 2~32 个英文或中文字符,不能以http://和https://开头。N 的取值范围:0~200。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.'."\n", + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RemoveEntry', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '删除的端口列表条目数组。', + 'type' => 'array', + 'items' => [ + 'description' => '删除的端口列表条目对象。', + 'type' => 'object', + 'properties' => [ + 'PortRange' => [ + 'description' => '端口范围,N 的取值范围:0~200。使用限制:'."\n" + ."\n" + .'- 不允许设置重复的`PortRange`。'."\n" + ."\n" + .'- 不允许与`AddEntry.N.PortRange` 参数值重复。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回参数集合。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.Conflict', + 'errorMessage' => 'The port range list has conflict task.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + [ + 'errorCode' => 'InvalidOperation.MaxEntriesCountExceed', + 'errorMessage' => 'The specified MaxEntries exceeded the upper limit.', + ], + [ + 'errorCode' => 'InvalidOperation.EntryCountExceedMaxEntries', + 'errorMessage' => 'The number of entries in the port list exceeds MaxEntries.', + ], + [ + 'errorCode' => 'LimitExceed.MaxEntries', + 'errorMessage' => 'The number of entries exceeds the MaxEntries of the specified PortRangeList.', + ], + [ + 'errorCode' => 'LimitExceed.Entry', + 'errorMessage' => 'The number of entries added or removed exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter.PortRangeDuplicated', + 'errorMessage' => 'The specified PortRange is duplicated.', + ], + [ + 'errorCode' => 'InvalidParameter.PortRangeListName', + 'errorMessage' => 'The specified parameter PortRangeListName is not valid.', + ], + [ + 'errorCode' => 'InvalidMaxEntries.LessThanCurrentEntries', + 'errorMessage' => 'The specified MaxEntries is less than current entries.', + ], + [ + 'errorCode' => 'InvalidParameter.PortRange', + 'errorMessage' => 'The specified parameter PortRange is not valid. It should be two integers less than 65535 in specified format.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Missing mandatory parameter.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid Description is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'AuthorizationLimitExceed', + 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '修改端口列表的属性', + ], + 'DeletePortRangeList' => [ + 'summary' => '删除指定端口列表,同时端口列表下的端口列表条目都将被删除。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '262568', + 'abilityTreeNodes' => [ + 'FEATUREecs0ZAT7E', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PortRangeListId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表 ID。'."\n" + ."\n" + .'>如果当前端口列表已关联其他资源,则无法删除,需解除关联后删除。', + 'type' => 'string', + 'required' => true, + 'example' => 'prl-2ze9743****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回参数集合。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.Conflict', + 'errorMessage' => 'The port range list has conflict task.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.AssociationExist', + 'errorMessage' => 'The specified port range list has association resources.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => '删除端口列表', + ], + 'CreateSecurityGroup' => [ + 'summary' => '本接口用于创建一个安全组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28844', + 'abilityTreeNodes' => [ + 'FEATUREecsZ4BDDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'SecurityGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以`http://`和`https://`开头。支持Unicode中letter分类下的字符(其中包括英文、中文等)和数字。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testSecurityGroupName', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属VPC ID。'."\n" + ."\n" + .'>若指定的地域支持经典网络,则允许不指定VpcId,来创建经典网络的安全组;若指定的地域不支持经典网络,则必须指定VpcId,创建专有网络的安全组。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1opxu1zkhn00gzv****', + ], + ], + [ + 'name' => 'SecurityGroupType', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组类型,分为普通安全组与企业安全组。取值范围:'."\n" + ."\n" + .'- normal:普通安全组。'."\n" + .'- enterprise:企业安全组。更多详情,请参见[企业安全组概述](~~120621~~)。'."\n" + ."\n" + .'默认值:normal。', + 'type' => 'string', + 'required' => false, + 'example' => 'enterprise', + ], + ], + [ + 'name' => 'ServiceManaged', + 'in' => 'query', + 'schema' => [ + 'description' => '该参数暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全组绑定的标签数组。数组长度:0~20。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组绑定的标签。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '安全组的标签键。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'Key' => [ + 'description' => '安全组的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '安全组的标签值。'."\n" + ."\n" + .'一旦传入该值,允许为空字符串。最多支持128个字符,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '安全组的标签值。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp1fg655nh68xyz9****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'Specified security group description is not valid.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'Specified tag key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'Specified tag value is not valid.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidParams.GroupType', + 'errorMessage' => 'The specified security group type is not valid.', + ], + [ + 'errorCode' => 'InvalidParams.VpcIdGroupType', + 'errorMessage' => 'Only VPC instance supports enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupName.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupName is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'QuotaExceed.SecurityGroup', + 'errorMessage' => 'The maximum number of security groups is reached.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'The VpcId must not empty when only support vpc vm.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified region does not exist.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The service is unavailable, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SecurityGroupId\\": \\"sg-bp1fg655nh68xyz9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"SecurityGroupId\\":\\"sg-F876FF7BA\\"\\n}"},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n sg-bp1fg655nh68xyz9****\\n","errorExample":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n sg-F876FF7BA\\n"}]', + 'title' => '创建安全组', + 'description' => '- 通过该接口创建的普通安全组组内连通策略默认是**组内互通**,您可以通过[ModifySecurityGroupPolicy](~~2679846~~)进行修改。'."\n" + .'- 通过该接口创建的企业安全组组内连通策略默认是**组内隔离**,并且不能修改。'."\n" + .'- 单个地域下,安全组的数量有限制,您最少可以创建100个安全组。详细信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。'."\n" + .'- 创建专有网络VPC类型的安全组时,您必须指定参数VpcId。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSecurityGroups' => [ + 'summary' => '本接口用于查询安全组基本信息列表,支持您通过地域、安全组ID、安全组类型等不同参数查询。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28993', + 'abilityTreeNodes' => [ + 'FEATUREecsO3Q7NU', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SecurityGroupIds', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID列表。一次最多支持100个安全组ID,ID之间用半角逗号(,)隔开,格式为JSON数组。', + 'type' => 'string', + 'required' => false, + 'example' => '["sg-bp67acfmxazb4p****", "sg-bp67acfmxazb4p****", "sg-bp67acfmxazb4p****",....]', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所在的专有网络ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupType', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组类型。取值范围:'."\n" + .'- normal:普通安全组。'."\n" + .'- enterprise:企业安全组。'."\n" + ."\n" + .'> 当不为该参数传值时,表示查询所有类型的安全组。', + 'type' => 'string', + 'required' => false, + 'example' => 'normal', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的NextToken参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'e71d8a535bd9cc11', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。一旦设置该参数,即表示使用`MaxResults`与`NextToken`组合参数的查询方式。'."\n" + ."\n" + .'最大值为100。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组的网络类型。取值范围:'."\n" + ."\n" + .'- vpc:专有网络。'."\n" + .'- classic:经典网络。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'SecurityGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'SGTestName', + ], + ], + [ + 'name' => 'IsQueryEcsCount', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询安全组的容量信息。传True时,返回值中的`EcsCount`和`AvailableInstanceAmount`有效。'."\n" + .'>该参数已废弃。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所在的企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。您可以调用[ListResourceGroups](~~158855~~)查询资源组列表。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '安全组的标签键。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testkey', + ], + 'Key' => [ + 'description' => '安全组的标签键。N的取值范围为1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '安全组的标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '安全组的标签值。'."\n" + ."\n" + .'> 为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testvalue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + .' '."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation。'."\n" + .'- false:发送正常请求,通过检查后返回2XX HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'FuzzyQuery', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ServiceManaged', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '是否为托管安全组。取值范围:'."\n" + ."\n" + .'- true:是托管安全组。'."\n" + .'- false:不是托管安全组。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'RegionId' => [ + 'description' => '安全组所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。当使用MaxResults和NextToken方式进行分页查询,且该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'e71d8a535bd9cc11', + ], + 'SecurityGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroup' => [ + 'description' => '安全组信息集合。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组信息。', + 'type' => 'object', + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'SecurityGroupName' => [ + 'description' => '安全组名称。', + 'type' => 'string', + 'example' => 'SGTestName', + ], + 'Description' => [ + 'description' => '安全组描述信息。', + 'type' => 'string', + 'example' => 'TestDescription', + ], + 'SecurityGroupType' => [ + 'description' => '安全组类型。可能值:'."\n" + ."\n" + .'- normal:普通安全组。'."\n" + .'- enterprise:企业安全组。', + 'type' => 'string', + 'example' => 'normal', + ], + 'VpcId' => [ + 'description' => '安全组所属的专有网络。', + 'type' => 'string', + 'example' => 'vpc-bp67acfmxazb4p****', + ], + 'CreationTime' => [ + 'description' => '创建时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间。格式为:yyyy-MM-ddThh:mmZ。', + 'type' => 'string', + 'example' => '2021-08-31T03:12:29Z', + ], + 'EcsCount' => [ + 'description' => '安全组中已经容纳的私网IP数量,参见[安全组容量](~~605897#section-kj9-e46-6v5~~)。'."\n" + ."\n" + .'当入参IsQueryEcsCount传入True时,该参数返回值有效。'."\n" + ."\n" + .'> 该参数已废弃。返回值中的数量仅供参考,非实时一致。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'AvailableInstanceAmount' => [ + 'description' => '安全组中还可加入的私网IP数量,参见[安全组容量](~~605897#section-kj9-e46-6v5~~)。'."\n" + ."\n" + .'当入参IsQueryEcsCount传入True时,该参数返回值有效。'."\n" + ."\n" + .'> 该参数已废弃。返回值中的数量仅供参考,非实时一致。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'ResourceGroupId' => [ + 'description' => '安全组所在的企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'ServiceManaged' => [ + 'description' => '安全组的使用者是否为云产品或虚商。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ServiceID' => [ + 'description' => '安全组对应的虚商ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12345678910', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '安全组的标签集合。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组的标签。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '安全组的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '安全组的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'RuleCount' => [ + 'description' => '安全组中的规则数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'GroupToGroupRuleCount' => [ + 'description' => '安全组中授权安全组访问的规则数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + ], + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '安全组的总数。当您使用`MaxResults`与`NextToken`参数查询时,不会返回该参数值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'PageNumber' => [ + 'description' => '当前页码。'."\n" + ."\n" + .'> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '每页行数。'."\n" + ."\n" + .'> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotSupported.PageNumberAndPageSize', + 'errorMessage' => 'The parameters PageNumber and PageSize are currently not supported, please use NextToken and MaxResults instead.', + ], + [ + 'errorCode' => 'InValidParameter.NextToken', + 'errorMessage' => 'The parameter NextToken is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The input parameter RegionId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupType', + 'errorMessage' => 'The specified SecurityGroupType is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupId is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupName.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupName is not valid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"NextToken\\": \\"e71d8a535bd9cc11\\",\\n \\"SecurityGroups\\": {\\n \\"SecurityGroup\\": [\\n {\\n \\"SecurityGroupId\\": \\"sg-bp67acfmxazb4p****\\",\\n \\"SecurityGroupName\\": \\"SGTestName\\",\\n \\"Description\\": \\"TestDescription\\",\\n \\"SecurityGroupType\\": \\"normal\\",\\n \\"VpcId\\": \\"vpc-bp67acfmxazb4p****\\",\\n \\"CreationTime\\": \\"2021-08-31T03:12:29Z\\",\\n \\"EcsCount\\": 0,\\n \\"AvailableInstanceAmount\\": 0,\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"ServiceManaged\\": false,\\n \\"ServiceID\\": 12345678910,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"RuleCount\\": 100,\\n \\"GroupToGroupRuleCount\\": 5\\n }\\n ]\\n },\\n \\"TotalCount\\": 20,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 20\\n cn-hangzhou\\n \\n 2021-08-31T03:12:29Z\\n vpc-bp67acfmxazb4p****\\n false\\n TestDescription\\n sg-bp67acfmxazb4p****\\n rg-bp67acfmxazb4p****\\n SGTestName\\n 0\\n 12345678910\\n normal\\n 0\\n \\n TestValue\\n TestKey\\n \\n \\n e71d8a535bd9cc11\\n","errorExample":""}]', + 'title' => '查询安全组基本信息列表', + 'description' => '- **分页查询**:推荐您使用`MaxResults`与`NextToken`参数进行查询。'."\n" + .' - 当返回结果中没有`NextToken`时,表示该页为末页,不再有后续页。'."\n" + .' - 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。'."\n" + .' - 查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。'."\n" + .'- 通过阿里云CLI调用API时,不同数据类型的请求参数取值必须遵循一定的格式要求。更多信息,请参见[CLI参数格式说明](~~110340~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSecurityGroupAttribute' => [ + 'summary' => '本接口主要用于查询一个指定安全组的详细信息,并关联查询安全组规则详细信息列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28991', + 'abilityTreeNodes' => [ + 'FEATUREecsJPHSJM', + ], + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sg-bp1gxw6bznjjvhu3****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NicType', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则的网卡类型。'."\n" + ."\n" + .'- 经典网络类型安全组的取值范围:'."\n" + .' - internet(默认):公网。'."\n" + .' - intranet:内网。'."\n" + .' > 单次调用只能查询一种网卡类型的安全组规则,查询全部类型请分两次调用。'."\n" + .'- 专有网络类型安全组的取值只能为:intranet(默认),即内网。'."\n" + .' > 如果传入internet或空值,则会默认转化为intranet。', + 'type' => 'string', + 'required' => false, + 'example' => 'intranet', + 'default' => 'internet', + ], + ], + [ + 'name' => 'Direction', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则授权方向。取值范围: '."\n" + .' '."\n" + .'- egress:安全组出方向。'."\n" + .'- ingress:安全组入方向。'."\n" + .'- all:不区分方向。'."\n" + ."\n" + .'默认值:all。', + 'type' => 'string', + 'required' => false, + 'example' => 'all', + 'default' => 'all', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '查询凭证(Token)。取值为上一次调用该接口返回的 NextToken 参数值,初次调用接口时无需设置该参数。', + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的 NextToken 参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '分页查询时每页的最大条目数。'."\n" + .'最小值为 10。'."\n" + .'最大值为 1000。'."\n" + .'默认值为 500。', + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'- 最小值:10。'."\n" + .'- 最大值:1000。'."\n" + ."\n" + .'默认值为 500。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '1000', + 'minimum' => '10', + 'example' => '500', + ], + ], + [ + 'name' => 'Attribute', + 'in' => 'query', + 'schema' => [ + 'title' => '安全组属性,取值范围:'."\n" + .'snapshotPolicyIds:查询安全组关联的快照策略信息', + 'description' => '安全组属性,取值范围:'."\n" + ."\n" + .'- snapshotPolicyIds:查询安全组关联的快照策略信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'snapshotPolicyIds', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'VPC ID。如果返回VPC ID,表示该安全组网络类型为VPC。否则,表示是经典网络类型安全组。', + 'type' => 'string', + 'example' => 'vpc-bp1opxu1zkhn00gzv****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'InnerAccessPolicy' => [ + 'description' => '安全组内网络连通策略。可能值: '."\n" + .' '."\n" + .'- Accept:内网互通。'."\n" + .'- Drop:内网隔离。', + 'type' => 'string', + 'example' => 'Accept', + ], + 'Description' => [ + 'description' => '安全组描述信息。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'SecurityGroupId' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp1gxw6bznjjvhu3****', + ], + 'SecurityGroupName' => [ + 'description' => '安全组名称。', + 'type' => 'string', + 'example' => 'SecurityGroupName Sample', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Permissions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Permission' => [ + 'description' => '安全组权限规则集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SecurityGroupRuleId' => [ + 'description' => '安全组规则ID。', + 'type' => 'string', + 'example' => 'sgr-bp12kewq32dfwrdi****', + ], + 'Direction' => [ + 'description' => '授权方向。', + 'type' => 'string', + 'example' => 'ingress', + ], + 'SourceGroupId' => [ + 'description' => '源端安全组,用于入方向授权。', + 'type' => 'string', + 'example' => 'sg-bp12kc4rqohaf2js****', + ], + 'DestGroupOwnerAccount' => [ + 'description' => '目的端安全组所属阿里云账户ID。', + 'type' => 'string', + 'example' => '1234567890', + ], + 'DestPrefixListId' => [ + 'description' => '目的端前缀列表ID,用于出方向授权。', + 'type' => 'string', + 'example' => 'pl-x1j1k5ykzqlixabc****', + ], + 'DestPrefixListName' => [ + 'description' => '目的端前缀列表的名称。', + 'type' => 'string', + 'example' => 'DestPrefixListName Sample', + ], + 'SourceCidrIp' => [ + 'description' => '源端IP地址段,用于入方向授权。', + 'type' => 'string', + 'example' => '0.0.0.0/0', + ], + 'Ipv6DestCidrIp' => [ + 'description' => '目的端IPv6地址段。', + 'type' => 'string', + 'example' => '2001:db8:1233:1a00::***', + ], + 'CreateTime' => [ + 'description' => '创建时间,UTC时间。', + 'type' => 'string', + 'example' => '2018-12-12T07:28:38Z', + ], + 'Ipv6SourceCidrIp' => [ + 'description' => '源端IPv6地址段。', + 'type' => 'string', + 'example' => '2001:db8:1234:1a00::***', + ], + 'DestGroupId' => [ + 'description' => '目的端安全组,用于出方向授权。', + 'type' => 'string', + 'example' => 'sg-bp1czdx84jd88i7v****', + ], + 'DestCidrIp' => [ + 'description' => '目的端IP地址段,用于出方向授权。', + 'type' => 'string', + 'example' => '0.0.0.0/0', + ], + 'IpProtocol' => [ + 'description' => 'IP协议。', + 'type' => 'string', + 'example' => 'TCP', + ], + 'Priority' => [ + 'description' => '规则优先级。', + 'type' => 'string', + 'example' => '1', + ], + 'DestGroupName' => [ + 'description' => '目的端安全组名称。', + 'type' => 'string', + 'example' => 'testDestGroupName', + ], + 'NicType' => [ + 'description' => '网络类型。', + 'type' => 'string', + 'example' => 'intranet', + ], + 'Policy' => [ + 'description' => '授权策略。', + 'type' => 'string', + 'example' => 'Accept', + ], + 'Description' => [ + 'description' => '安全组描述信息。', + 'type' => 'string', + 'example' => 'Description Sample 01', + ], + 'PortRange' => [ + 'description' => '端口范围。', + 'type' => 'string', + 'example' => '80/80', + ], + 'SourcePrefixListName' => [ + 'description' => '源端前缀列表的名称。', + 'type' => 'string', + 'example' => 'SourcePrefixListName Sample', + ], + 'SourcePrefixListId' => [ + 'description' => '源端前缀列表ID,用于入方向授权。', + 'type' => 'string', + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'SourceGroupOwnerAccount' => [ + 'description' => '源端安全组所属阿里云账户ID。', + 'type' => 'string', + 'example' => '1234567890', + ], + 'SourceGroupName' => [ + 'description' => '源端安全组名称。', + 'type' => 'string', + 'example' => 'testSourceGroupName1', + ], + 'SourcePortRange' => [ + 'description' => '源端端口范围。', + 'type' => 'string', + 'example' => '80/80', + ], + 'PortRangeListId' => [ + 'description' => '端口列表 ID。', + 'type' => 'string', + 'example' => 'prl-2ze9743****', + ], + 'PortRangeListName' => [ + 'description' => '端口列表的名称。', + 'type' => 'string', + 'example' => 'PortRangeListNameSample', + ], + ], + ], + ], + ], + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。当使用`MaxResults`和`NextToken`方式进行分页查询,且该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'SnapshotPolicyIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SnapshotPolicyId' => [ + 'title' => '', + 'description' => '安全组关联的快照策略ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组关联的快照策略ID。', + 'type' => 'string', + 'example' => 'sgsp-mj74****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidNicType.ValueNotSupported', + 'errorMessage' => 'The specified NicType does not exist.', + ], + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => 'Invalid Parameter.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter "SecurityGroupId" is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The parameter RegionId is missing.', + ], + [ + 'errorCode' => 'InvalidParameter.AttributeNotSupported', + 'errorMessage' => 'The specified value for parameter Attribute is not supported. Valid values: snapshotPolicyIds.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The service is unavailable, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-bp1opxu1zkhn00gzv****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"InnerAccessPolicy\\": \\"Accept\\",\\n \\"Description\\": \\"This is description.\\",\\n \\"SecurityGroupId\\": \\"sg-bp1gxw6bznjjvhu3****\\",\\n \\"SecurityGroupName\\": \\"SecurityGroupName Sample\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Permissions\\": {\\n \\"Permission\\": [\\n {\\n \\"SecurityGroupRuleId\\": \\"sgr-bp12kewq32dfwrdi****\\",\\n \\"Direction\\": \\"ingress\\",\\n \\"SourceGroupId\\": \\"sg-bp12kc4rqohaf2js****\\",\\n \\"DestGroupOwnerAccount\\": \\"1234567890\\",\\n \\"DestPrefixListId\\": \\"pl-x1j1k5ykzqlixabc****\\",\\n \\"DestPrefixListName\\": \\"DestPrefixListName Sample\\",\\n \\"SourceCidrIp\\": \\"0.0.0.0/0\\",\\n \\"Ipv6DestCidrIp\\": \\"2001:db8:1233:1a00::***\\",\\n \\"CreateTime\\": \\"2018-12-12T07:28:38Z\\",\\n \\"Ipv6SourceCidrIp\\": \\"2001:db8:1234:1a00::***\\",\\n \\"DestGroupId\\": \\"sg-bp1czdx84jd88i7v****\\",\\n \\"DestCidrIp\\": \\"0.0.0.0/0\\",\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"Priority\\": \\"1\\",\\n \\"DestGroupName\\": \\"testDestGroupName\\",\\n \\"NicType\\": \\"intranet\\",\\n \\"Policy\\": \\"Accept\\",\\n \\"Description\\": \\"Description Sample 01\\",\\n \\"PortRange\\": \\"80/80\\",\\n \\"SourcePrefixListName\\": \\"SourcePrefixListName Sample\\",\\n \\"SourcePrefixListId\\": \\"pl-x1j1k5ykzqlixdcy****\\",\\n \\"SourceGroupOwnerAccount\\": \\"1234567890\\",\\n \\"SourceGroupName\\": \\"testSourceGroupName1\\",\\n \\"SourcePortRange\\": \\"80/80\\",\\n \\"PortRangeListId\\": \\"prl-2ze9743****\\",\\n \\"PortRangeListName\\": \\"PortRangeListNameSample\\"\\n }\\n ]\\n },\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"SnapshotPolicyIds\\": {\\n \\"SnapshotPolicyId\\": [\\n \\"sgsp-mj74****\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n sg-bp1gxw6bznjjvhu3****\\n Accept\\n SecurityGroupName Sample\\n This is description.\\n cn-hangzhou\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n \\n sgr-bp12swerrtfcy****\\n 0.0.0.0/0\\n Description Sample 01\\n \\n intranet\\n \\n 22/22\\n \\n \\n \\n \\n ingress\\n 1\\n TCP\\n \\n \\n Accept\\n 2018-12-12T07:28:38Z\\n \\n \\n \\n \\n \\n \\n \\n \\n vpc-bp1opxu1zkhn00gzv****\\n","errorExample":""}]', + 'title' => '查询安全组和组内规则信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySecurityGroupPolicy' => [ + 'summary' => '本接口用于修改一个普通安全组的组内连通策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29100', + 'abilityTreeNodes' => [ + 'FEATUREecsZSF49P', + ], + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InnerAccessPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组内的ECS实例之间的内网连通策略。取值范围:'."\n" + ."\n" + .'- Accept:互通。'."\n" + .'- Drop:隔离。'."\n" + ."\n" + .'>取值不区分大小写。', + 'type' => 'string', + 'required' => true, + 'example' => 'Drop', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The SecurityGroupId is invalid. Only letters, numbers and underscores are supported. Maximum length is 100 characters.', + ], + [ + 'errorCode' => 'InvalidPolicy.Malformed', + 'errorMessage' => 'The Policy is invalid. Only \'Accept\' and \'Drop\' are supported. Ignore case.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.InnerAccessPolicy', + 'errorMessage' => 'The InnerAccessPolicy attribute of enterprise level security group can\'t be modified.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}"},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":"\\n CEF72CEB-54B6-4AE8-B225-F876xxxxxxxx\\n"}]', + 'title' => '修改普通安全组的组内连通策略', + 'description' => '- 企业级安全组不支持修改组内连通策略,默认**组内隔离**。'."\n" + .'- 您可以通过[DescribeSecurityGroupAttribute](~~25555~~)查询当前安全组组内连通策略。'."\n" + .'- 安全组的组内连通策略是**组内互通**时,会忽略其他自定义访问规则,组内所有实例的内网保持默认连通。 '."\n" + ."\n" + .'- 安全组的组内连通策略是**组内隔离**时,在不添加其他访问规则的情况下,组内所有实例的内网默认不连通。但您可以自定义安全组规则改变内网状态,例如,您可以通过[AuthorizeSecurityGroup](~~25554~~)使安全组内的两台ECS实例网络互通。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySecurityGroupAttribute' => [ + 'summary' => '本接口用于修改一个指定安全组的名称或者描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29097', + 'abilityTreeNodes' => [ + 'FEATUREecs78M0YJ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + ."\n" + .'默认值:空,不会进行修改。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestDescription', + ], + ], + [ + 'name' => 'SecurityGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以`http://`和`https://`开头。支持Unicode中letter分类下的字符(其中包括英文、中文等)和数字。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'默认值:空,不会进行修改。', + 'type' => 'string', + 'required' => false, + 'example' => 'SecurityGroupTestName', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSecurityGroupName.Malformed', + 'errorMessage' => 'Specified security group name is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'Specified security group description is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid Parameter.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}"},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n"}]', + 'title' => '修改安全组的名称或者描述', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteSecurityGroup' => [ + 'summary' => '本接口用于删除一个安全组,并关联删除组内所有安全组规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28886', + 'abilityTreeNodes' => [ + 'FEATUREecsZ4BDDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。您可以调用[DescribeSecurityGroups](~~25556~~)查看安全组ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'sg-bp1fg655nh68xyz9****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The parameter "RegionId" should not be null.', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.SecurityGroupNotAuthorized', + 'errorMessage' => 'The specified security group is not authorized to operate.', + ], + ], + 403 => [ + [ + 'errorCode' => 'DependencyViolation', + 'errorMessage' => 'There is still instance(s) in the specified security group.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroup.NotFound', + 'errorMessage' => 'The specified security group is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '删除安全组', + 'description' => '- 请确保安全组内不存在ECS实例,您可以通过[DescribeInstances](~~2679689~~)进行查询。'."\n" + .'- 请确保安全组内不存在弹性网卡,您可以通过[DescribeNetworkInterfaces](~~2679884~~)进行查询。'."\n" + .'- 请确保没有其他安全组与该安全组有授权行为,您可以通过[DescribeSecurityGroupReferences](~~57320~~)进行查询。'."\n" + .'- 在您使用该接口删除安全组时若返回错误码`InvalidOperation.DeletionProtection`,说明开启了删除保护功能。创建ACK集群时,关联的安全组会开启删除保护功能,来防止误删除。删除保护功能无法手动关闭,只有在删除了关联的ACK集群后,才能够自动关闭。更多信息,请参见[关闭安全组删除保护](~~353191~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AuthorizeSecurityGroup' => [ + 'summary' => '本接口是阿里云 ECS 中用于增加一条或多条安全组入方向规则的接口。通过该接口,用户可以指定安全组入方向的访问权限,允许或者拒绝其他设备发送入方向流量到安全组内的实例,从而实现对网络访问的精细控制。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29244', + 'abilityTreeNodes' => [ + 'FEATUREecsN1X6QX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Permissions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '安全组规则数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组规则。', + 'type' => 'object', + 'properties' => [ + 'Policy' => [ + 'description' => '设置访问权限。取值范围:'."\n" + ."\n" + .'- accept:接受访问。'."\n" + ."\n" + .'- drop:拒绝访问,不返回拒绝信息,表现为发起端请求超时或者无法建立连接的类似信息。'."\n" + ."\n" + .'默认值:accept。', + 'type' => 'string', + 'required' => false, + 'example' => 'accept', + ], + 'Priority' => [ + 'description' => '安全组规则优先级,数字越小,代表优先级越高。取值范围:1~100。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + 'IpProtocol' => [ + 'description' => '网络层/传输层协议。支持两类赋值:'."\n" + .'1. 不区分大小写的协议名。取值范围:'."\n" + .'- ICMP'."\n" + .'- GRE'."\n" + .'- TCP'."\n" + .'- UDP'."\n" + .'- ALL:支持所有协议。'."\n" + .'2. 符合IANA规范的协议号取值,即0 到 255的整数。目前开放的地域列表:'."\n" + .'- 菲律宾'."\n" + .'- 英国'."\n" + .'- 马来西亚'."\n" + .'- 呼和浩特'."\n" + .'- 青岛'."\n" + .'- 美西'."\n" + .'- 新加坡', + 'type' => 'string', + 'required' => false, + 'example' => 'ALL', + ], + 'SourceCidrIp' => [ + 'description' => '需要设置访问权限的源端IPv4 CIDR地址段。支持CIDR格式和IPv4格式的IP地址范围。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6SourceCidrIp' => [ + 'description' => '需要设置访问权限的源端IPv6 CIDR地址段。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'> 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`SourceCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:250:6000::***', + ], + 'SourceGroupId' => [ + 'description' => '需要设置访问权限的源端安全组ID。'."\n" + ."\n" + .'- 至少设置`SourceGroupId`、`SourceCidrIp`、`Ipv6SourceCidrIp`或`SourcePrefixListId`参数中的一项。'."\n" + ."\n" + .'- 如果指定了`SourceGroupId`,没有指定参数`SourceCidrIp`或`Ipv6SourceCidrIp`,则参数`NicType`取值只能为`intranet`。'."\n" + ."\n" + .'- 如果同时指定了`SourceGroupId`和`SourceCidrIp`,则默认以`SourceCidrIp`为准。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'SourcePrefixListId' => [ + 'description' => '需要设置访问权限的源端前缀列表ID。您可以调用[DescribePrefixLists](~~205046~~)查询可以使用的前缀列表ID。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- 安全组的网络类型为经典网络时,不支持设置前缀列表。关于安全组以及前缀列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。'."\n" + ."\n" + .'- 当您指定了`SourceCidrIp`、`Ipv6SourceCidrIp`或`SourceGroupId`参数中的一个时,将忽略该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'PortRange' => [ + 'description' => '安全组开放的各协议相关的目的端口范围。取值范围:'."\n" + ."\n" + .'- TCP/UDP:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP:-1/-1。'."\n" + .'- GRE:-1/-1。'."\n" + .'- IpProtocol取值为ALL:-1/-1。'."\n" + ."\n" + .'了解端口的应用场景,请参见[典型应用的常用端口](~~40724~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + 'DestCidrIp' => [ + 'description' => '目的端IPv4 CIDR地址段。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6DestCidrIp' => [ + 'description' => '目的端IPv6 CIDR地址段。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。'."\n" + ."\n" + .'> 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`DestCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:250:6000::***', + ], + 'SourcePortRange' => [ + 'description' => '安全组开放的各协议相关的源端端口范围。取值范围:'."\n" + ."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- IpProtocol取值为ALL:-1/-1。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '7000/8000', + ], + 'SourceGroupOwnerAccount' => [ + 'description' => '跨账户设置安全组规则时,源端安全组所属的阿里云账户。'."\n" + ."\n" + .'- 如果`SourceGroupOwnerAccount`及`SourceGroupOwnerId`均未设置,则认为是设置您其他安全组的访问权限。'."\n" + ."\n" + .'- 如果已经设置参数`SourceCidrIp`,则参数`SourceGroupOwnerAccount`无效。', + 'type' => 'string', + 'required' => false, + 'example' => 'test@aliyun.com', + ], + 'SourceGroupOwnerId' => [ + 'description' => '跨账户设置安全组规则时,源端安全组所属的阿里云账户ID。'."\n" + ."\n" + .'- 如果`SourceGroupOwnerAccount`及`SourceGroupOwnerId`均未设置,则认为是设置您其他安全组的访问权限。'."\n" + ."\n" + .'- 如果已经设置参数`SourceCidrIp`,则参数`SourceGroupOwnerAccount`无效。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1234567890', + ], + 'NicType' => [ + 'description' => '经典网络类型安全组规则的网卡类型。取值范围:'."\n" + ."\n" + .'- internet:公网网卡。'."\n" + ."\n" + .'- intranet:内网网卡。'."\n" + ."\n" + .'专有网络VPC类型安全组规则无需设置网卡类型,默认为intranet,只能为intranet。'."\n" + ."\n" + .'设置安全组之间互相访问时,即仅指定了DestGroupId参数时,只能为intranet。'."\n" + ."\n" + .'默认值:internet。', + 'type' => 'string', + 'required' => false, + 'example' => 'intranet', + ], + 'Description' => [ + 'description' => '安全组规则的描述信息。长度为1~512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + 'PortRangeListId' => [ + 'description' => '端口列表 ID。'."\n" + .'您可以调用`DescribePortRangeLists`查询可以使用的端口列表 ID。'."\n" + .'- 当您指定了`Permissions.N.PortRange`参数时,将忽略该参数。'."\n" + .'- 安全组的网络类型为经典网络时,不支持设置端口列表。关于安全组以及端口列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'prl-2ze9743****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Policy`来设置访问权限。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'accept', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Priority`来指定安全组规则优先级。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.IpProtocol`来指定协议类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => 'ALL', + ], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceCidrIp`来指定源端IPv4 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6SourceCidrIp`来指定源端IPv6 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '2001:250:6000::***', + ], + ], + [ + 'name' => 'SourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceGroupId`来指定源端安全组ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SourcePrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourcePrefixListId`来指定源端前缀列表ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.PortRange`来指定端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => '22/22', + ], + ], + [ + 'name' => 'DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestCidrIp`来指定目的端IPv4 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6DestCidrIp`来指定目的端IPv6 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourcePortRange`来指定源端端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '22/22', + ], + ], + [ + 'name' => 'SourceGroupOwnerAccount', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceGroupOwnerAccount`来指定源端安全组所属的阿里云账户。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'test@aliyun.com', + ], + ], + [ + 'name' => 'SourceGroupOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceGroupOwnerId`来指定源端安全组所属的阿里云账户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '1234567890', + ], + ], + [ + 'name' => 'NicType', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.NicType`来指定网卡类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'intranet', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Description`来指定安全组规则的描述。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'This is description.', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified IpProtocol does not exist or IpProtocol and PortRange do not match.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.Malformed', + 'errorMessage' => 'The specified parameter PortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidSourceCidrIp.Malformed', + 'errorMessage' => 'The specified parameter SourceCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPolicy.Malformed', + 'errorMessage' => 'The specified parameter Policy is not valid.', + ], + [ + 'errorCode' => 'InvalidNicType.ValueNotSupported', + 'errorMessage' => 'The specified NicType does not exist.', + ], + [ + 'errorCode' => 'InvalidNicType.Mismatch', + 'errorMessage' => 'The specified NicType conflicts with the authorization record.', + ], + [ + 'errorCode' => 'InvalidSourceGroupId.Mismatch', + 'errorMessage' => 'Specified security group and source group are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidSourceGroup.NotFound', + 'errorMessage' => 'Specified source security group does not exist.', + ], + [ + 'errorCode' => 'InvalidPriority.Malformed', + 'errorMessage' => 'The parameter Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidPriority.ValueNotSupported', + 'errorMessage' => 'The specified parameter %s is invalid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'The specified security group rule description parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.InvalidNetworkType', + 'errorMessage' => 'The specified security group network type is not support this operation, please check the security group network types. For VPC security groups, ClassicLink must be enabled.', + ], + [ + 'errorCode' => 'MissingParameter.Source', + 'errorMessage' => 'One of the parameters SourceCidrIp, Ipv6SourceCidrIp, SourceGroupId or SourcePrefixListId in %s must be specified.', + ], + [ + 'errorCode' => 'InvalidParam.PortRange', + 'errorMessage' => 'The specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.ValueNotSupported', + 'errorMessage' => 'The parameter %s must be specified with case insensitive TCP, UDP, ICMP, GRE or All.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupId is not valid.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SourceCidrIp should be different from the DestCidrIp.', + ], + [ + 'errorCode' => 'InvalidSourcePortRange.Malformed', + 'errorMessage' => 'The specified parameter SourcePortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidPortRange.Malformed', + 'errorMessage' => 'The specified parameter PortRange must set.', + ], + [ + 'errorCode' => 'InvalidParam.SourceIp', + 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.DestIp', + 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv4ProtocolConflictWithIpv6Address', + 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6ProtocolConflictWithIpv4Address', + 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParameter.Ipv6CidrIp', + 'errorMessage' => 'The specified Ipv6CidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidGroupAuthParameter.OperationDenied', + 'errorMessage' => 'The security group can not authorize to enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidDestCidrIp.Malformed', + 'errorMessage' => 'The specified parameter DestCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'IPv6 and IPv4 addresses cannot exist at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.PrefixListAddressFamilyMismatch', + 'errorMessage' => 'The address family of the specified prefix list does not match the specified CidrIp.', + ], + [ + 'errorCode' => 'NotSupported.ClassicNetworkPrefixList', + 'errorMessage' => 'The prefix list is not supported when the network type of security group is classic.', + ], + [ + 'errorCode' => 'AuthorizedGroupRule.LimitExceed', + 'errorMessage' => 'You have reached the limit on the number of group authorization rules that you can add to a security group.When authorization object of rule is security group, the limit is 20.', + ], + [ + 'errorCode' => 'InvalidParam.SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.Permissions', + 'errorMessage' => 'The specified parameter Permissions cannot coexist with other parameters.', + ], + [ + 'errorCode' => 'InvalidParam.DuplicatePermissions', + 'errorMessage' => 'There are duplicate permissions in the specified parameter Permissions.', + ], + [ + 'errorCode' => 'InvalidGroupParameter.OperationDenied', + 'errorMessage' => 'The attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolNotSupportPortRangeList', + 'errorMessage' => 'The specified protocol does not support the port range list.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.SecurityGroupNotAuthorized', + 'errorMessage' => 'The specified security group is not authorized to operate.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidSourceGroupId.Mismatch', + 'errorMessage' => 'NicType is required or NicType expects intranet.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter SourceGroupId or SourceCidrIp cannot be both blank.', + ], + [ + 'errorCode' => 'AuthorizationLimitExceed', + 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SecurityGroupId should be different from the SourceGroupId.', + ], + [ + 'errorCode' => 'InvalidNetworkType.Mismatch', + 'errorMessage' => 'The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).', + ], + [ + 'errorCode' => 'InvalidNetworkType.Conflict', + 'errorMessage' => 'The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'LimitExceed.PrefixListAssociationResource', + 'errorMessage' => 'The number of resources associated with the prefix list exceeds the limit.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidSourceGroupId.NotFound', + 'errorMessage' => 'The SourceGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '增加安全组入方向规则', + 'description' => '### 使用须知'."\n" + .'- **数量限制:** 单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和不能超过1000。具体限制请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。 '."\n" + .'- **优先级设置:** 安全组入方向规则优先级(Priority)可选范围为1~100。数字越小,代表优先级越高,优先级相同的安全组规则,优先以拒绝访问(drop)的规则为准。 '."\n" + ."\n" + .'### 注意事项'."\n" + .'如果指定的安全组规则已存在,此次调用成功,但不会增加规则。'."\n" + ."\n" + .'### 规则确定方式'."\n" + ."\n" + .'确定一条安全组入方向规则必要的一组相关参数:'."\n" + ."\n" + .'- 源端设置:选择SourceCidrIp(IPv4 地址)、Ipv6SourceCidrIp(IPv6 地址)、SourcetPrefixListId(前缀列表 ID)、SourceGroupId(源端安全组)中的一项。'."\n" + .'- 目的端口范围:PortRange。'."\n" + .'- 协议类型:IpProtocol。'."\n" + .'- 权限策略:Policy。'."\n" + ."\n" + .'> 企业安全组不支持授权其他安全组访问,普通安全组支持授权的安全组数量最多为 20 个。'."\n" + ."\n" + .'### 请求示例'."\n" + ."\n" + .'假设要在杭州地域下指定安全组中增加几条不同源端的入方向规则:'."\n" + ."\n" + .' - 增加指定IP地址段的访问权限。'."\n" + ."\n" + .' ```'."\n" + .' "RegionId":"cn-hangzhou", //设置地域'."\n" + .' "SecurityGroupId":"sg-bp67acfmxazb4p****", //设置安全组'."\n" + .' "Permissions":['."\n" + .' {'."\n" + .' "SourceCidrIp":"10.0.0.0/8", //设置源端IPv4 地址'."\n" + .' "PortRange":"22/22", //设置端口范围'."\n" + .' "IpProtocol":"TCP", //设置协议类型'."\n" + .' "Policy":"Accept" //设置访问策略'."\n" + .' }'."\n" + .' ]'."\n" + .' ```'."\n" + ."\n" + .' - 增加一条其他安全组和一条前缀列表的访问权限。'."\n" + ."\n" + .' ```'."\n" + .' "RegionId":"cn-hangzhou",'."\n" + .' "SecurityGroupId":"sg-bp67acfmxazb4p****",'."\n" + .' "Permissions":['."\n" + .' {'."\n" + .' "SourceGroupId":"sg-bp17vs63txqxbd****", //设置源端安全组'."\n" + .' "PortRange":"22/22",'."\n" + .' "IpProtocol":"TCP",'."\n" + .' "Policy":"Drop"'."\n" + .' },{'."\n" + .' "SourcePrefixListId":"pl-x1j1k5ykzqlixdcy****", //设置源端前缀列表'."\n" + .' "PortRange":"22/22",'."\n" + .' "IpProtocol":"TCP",'."\n" + .' "Policy":"Drop"'."\n" + .' }'."\n" + .' ]'."\n" + .' ```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifySecurityGroupRule' => [ + 'summary' => '本接口用于修改指定安全组中的一条入方向安全组规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29310', + 'abilityTreeNodes' => [ + 'FEATUREecsN1X6QX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则ID。您可以通过[DescribeSecurityGroupAttribute](~~2679845~~) 查询安全组规则ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgr-bp67acfmxa123b***', + ], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => '访问权限。取值范围: '."\n" + .' '."\n" + .'- accept:接受访问。'."\n" + .'- drop:拒绝访问,不返回拒绝信息。'."\n" + ."\n" + .'默认值:accept。', + 'type' => 'string', + 'required' => false, + 'example' => 'accept', + 'default' => 'accept', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则优先级。取值范围:1~100。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'pattern' => '^\\d+$', + 'default' => '1', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '网络层/传输层协议。支持两类赋值:'."\n" + .'1. 不区分大小写的协议名。取值范围:'."\n" + .'- ICMP'."\n" + .'- GRE'."\n" + .'- TCP'."\n" + .'- UDP'."\n" + .'- ALL:支持所有协议。'."\n" + .'2. 符合IANA规范的协议号取值,即0 到 255的整数。目前开放的地域列表:'."\n" + .'- 菲律宾'."\n" + .'- 英国'."\n" + .'- 马来西亚'."\n" + .'- 呼和浩特'."\n" + .'- 青岛'."\n" + .'- 美西'."\n" + .'- 新加坡', + 'type' => 'string', + 'required' => false, + 'example' => 'ALL', + ], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '设置访问权限的源端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '设置访问权限的源端IPv6 CIDR地址块。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'> 仅支持VPC类型的IP地址,且该参数与`SourceCidrIp`参数不可同时设置。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + ], + [ + 'name' => 'SourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '设置访问权限的源端安全组ID。至少设置一项`SourceGroupId`或者`SourceCidrIp`参数。'."\n" + ."\n" + .'- 如果指定了`SourceGroupId`没有指定参数`SourceCidrIp`,则参数`NicType`取值只能为intranet。'."\n" + .'- 如果同时指定了`SourceGroupId`和`SourceCidrIp`,则默认以`SourceCidrIp`为准。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxa123b****', + ], + ], + [ + 'name' => 'SourcePrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '设置访问权限的源端前缀列表ID。您可以调用[DescribePrefixLists](~~205046~~)查询可以使用的前缀列表ID。'."\n" + ."\n" + .'当您指定了`SourceCidrIp`、`Ipv6SourceCidrIp`或`SourceGroupId`参数中的一个时,将忽略该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '目的端安全组开放的传输层协议相关的端口范围。取值范围: '."\n" + .' '."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + ], + [ + 'name' => 'DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '目的端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '目的端IPv6 CIDR地址段。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'>仅支持VPC类型的IP地址,且该参数与`DestCidrIp`参数不可同时设置。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '源端安全组开放的传输层协议相关的端口范围。取值范围: '."\n" + .' '."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用斜线(/)隔开起始端口和终止端口。例如:1/200'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + ], + [ + 'name' => 'SourceGroupOwnerAccount', + 'in' => 'query', + 'schema' => [ + 'description' => '跨账户设置安全组规则时,源端安全组所属的阿里云账户。 '."\n" + .' '."\n" + .'- 如果`SourceGroupOwnerAccount`及`SourceGroupOwnerID`均未设置,则认为是设置您其他安全组的访问权限。'."\n" + .'- 如果已经设置参数`SourceCidrIp`,则参数`SourceGroupOwnerAccount`无效。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsforCloud@Alibaba.com', + ], + ], + [ + 'name' => 'SourceGroupOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨账户设置安全组规则时,源端安全组所属的阿里云账户。 '."\n" + .' '."\n" + .'- 如果`SourceGroupOwnerId`及`SourceGroupOwnerAccount`均未设置,则认为是设置您其他安全组的访问权限。'."\n" + .'- 如果您已经设置参数`SourceCidrIp`,则参数`SourceGroupOwnerId`无效。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12345678910', + ], + ], + [ + 'name' => 'NicType', + 'in' => 'query', + 'schema' => [ + 'description' => '网卡类型。'."\n" + ."\n\n" + .'> 根据安全组规则ID修改规则时,不支持修改该参数。如果需要修改,建议先增加一条新规则,再删除当前规则。', + 'type' => 'string', + 'required' => false, + 'example' => 'intranet', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则的描述信息。长度为1~512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a new security group rule.', + ], + ], + [ + 'name' => 'PortRangeListId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表 ID。'."\n" + .'您可以调用`DescribePortRangeLists`查询可以使用的端口列表 ID。'."\n" + .'- 当您指定了PortRange参数时,将忽略该参数。'."\n" + .'- 安全组的网络类型为经典网络时,不支持设置端口列表。关于安全组以及端口列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'prl-2ze9743****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified IpProtocol does not exist or IpProtocol and PortRange do not match.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.Malformed', + 'errorMessage' => 'The specified parameter PortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidSourceCidrIp.Malformed', + 'errorMessage' => 'The specified parameter SourceCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPolicy.Malformed', + 'errorMessage' => 'The specified parameter Policy is not valid.', + ], + [ + 'errorCode' => 'InvalidNicType.ValueNotSupported', + 'errorMessage' => 'The specified NicType does not exist.', + ], + [ + 'errorCode' => 'InvalidNicType.Mismatch', + 'errorMessage' => 'The specified NicType conflicts with the authorization record.', + ], + [ + 'errorCode' => 'InvalidSourceGroupId.Mismatch', + 'errorMessage' => 'Specified security group and source group are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidSourceGroup.NotFound', + 'errorMessage' => 'Specified source security group does not exist.', + ], + [ + 'errorCode' => 'InvalidPriority.Malformed', + 'errorMessage' => 'The parameter Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidPriority.ValueNotSupported', + 'errorMessage' => 'The parameter Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'The specified security group rule description is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.Source', + 'errorMessage' => 'One of the parameters SourceCidrIp, SourceGroupId or SourcePrefixListId must be specified.', + ], + [ + 'errorCode' => 'InvalidParam.PortRange', + 'errorMessage' => 'The specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.ValueNotSupported', + 'errorMessage' => 'The parameter IpProtocol must be specified with case insensitive TCP, UDP, ICMP, GRE or All.', + ], + [ + 'errorCode' => 'InvalidParam.SourceIp', + 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.DestIp', + 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv4ProtocolConflictWithIpv6Address', + 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6ProtocolConflictWithIpv4Address', + 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParameter.Ipv6CidrIp', + 'errorMessage' => 'The specified Ipv6CidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidSourcePortRange.Malformed', + 'errorMessage' => 'The specified parameter SourcePortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupId is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SourceCidrIp', + 'errorMessage' => 'The specified param SourceCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'IPv6 and IPv4 addresses cannot exist at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.SecurityGroupRuleId', + 'errorMessage' => 'The specified parameter SecurityGroupRuleId is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.ModifySgRuleEntityType', + 'errorMessage' => 'The source or destination type of the rules cannot be modified.', + ], + [ + 'errorCode' => 'AuthorizationLimitExceed', + 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolAndPortRangeMismatch', + 'errorMessage' => 'The specified Protocol and PortRange do not match.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolAndAddressFamilyMismatch', + 'errorMessage' => 'The specified Protocol and address family do not match.', + ], + [ + 'errorCode' => 'InvalidParam.PrefixListAddressFamilyMismatch', + 'errorMessage' => 'The address family of the prefix list does not match the rule.', + ], + [ + 'errorCode' => 'InvalidParam.InvalidModifyRuleRequest', + 'errorMessage' => 'The request parameters are illegal.', + ], + [ + 'errorCode' => 'InvalidOperation.ModifyNicType', + 'errorMessage' => 'NicType is not allowed to modify.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SourceCidrIp should be different from the DestCidrIp.', + ], + [ + 'errorCode' => 'InvalidOperation.RuleDuplicate', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolNotSupportPortRangeList', + 'errorMessage' => 'The specified protocol does not support the port range list.', + ], + [ + 'errorCode' => 'InvalidSourceOrDestGroupId.DirectionMissmatch', + 'errorMessage' => 'The specified SourceGroupId or DestGroupId does not match the direction of the rule.', + ], + [ + 'errorCode' => 'InvalidOperation.ModifyPortRangeType', + 'errorMessage' => 'The PortRange type is not allowed to be modified. You cannot modify a rule from using the port list to not using it, and vice versa.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidSourceGroupId.Mismatch', + 'errorMessage' => 'NicType is required or NicType expects intrnet.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter SourceGroupId or SourceCidrIp cannot be both blank.', + ], + [ + 'errorCode' => 'AuthorizationLimitExceed', + 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SecurityGroupId should be different from the SourceGroupId.', + ], + [ + 'errorCode' => 'InvalidNetworkType.Mismatch', + 'errorMessage' => 'The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidSourceGroupId.NotFound', + 'errorMessage' => 'The SourceGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'SecurityGroupRule.NotFound', + 'errorMessage' => 'The target security group rule not exist.', + ], + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupRuleId.NotFound', + 'errorMessage' => 'The specified SecurityGroupRuleId is not exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}"},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n","errorExample":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\n"}]', + 'title' => '修改安全组入方向规则', + 'description' => '指定安全组规则ID修改安全组规则时,您需要注意以下使用限制:'."\n" + ."\n" + .'- 安全组规则的授权对象分为IPv4的CIDR地址块(或IP地址)、IPv6的CIDR地址块(或IP地址)、安全组、前缀列表,您不能通过该接口修改已有安全组规则的授权对象类型。如原来授权对象类型为IPv4的CIDR地址块,您可以更改为另一个IPv4的CIDR地址块(或IP地址),但不能修改为IPv6的CIDR地址块(或IP地址)、安全组或前缀列表。'."\n" + ."\n" + .'- 字段不支持从非空修改为空,如果需要修改建议先增加一条新规则,再删除当前规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RevokeSecurityGroup' => [ + 'summary' => '本接口用于删除指定安全组内的一条或多条入方向安全组规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29312', + 'abilityTreeNodes' => [ + 'FEATUREecs9IXIKV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupRuleId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全组规则ID数组。数组长度:0~100。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组规则ID。'."\n" + ."\n" + .'> 通过安全组规则ID删除时,该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgr-bp67acfmxa123b***', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Permissions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '安全组规则数组。数组长度:0~100。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组规则。', + 'type' => 'object', + 'properties' => [ + 'Policy' => [ + 'description' => '访问权限。取值范围: '."\n" + .' '."\n" + .'- accept:接受访问。'."\n" + .'- drop:拒绝访问,不返回拒绝信息,表现为发起端请求超时或者无法建立连接的类似信息。'."\n" + ."\n" + .'默认值:accept。', + 'type' => 'string', + 'required' => false, + 'example' => 'accept', + ], + 'Priority' => [ + 'description' => '安全组规则优先级,数字越小,代表优先级越高。取值范围:1~100。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + 'IpProtocol' => [ + 'description' => '协议类型。取值不区分大小写。取值范围: '."\n" + .' '."\n" + .'- TCP。'."\n" + .'- UDP。'."\n" + .'- ICMP。'."\n" + .'- ICMPv6。'."\n" + .'- GRE。'."\n" + .'- ALL:支持所有协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'SourceCidrIp' => [ + 'description' => '需要撤销访问权限的源端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6SourceCidrIp' => [ + 'description' => '需要撤销访问权限的源端IPv6 CIDR地址块。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n\n" + .'> 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`SourceCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + 'SourceGroupId' => [ + 'description' => '需要撤销访问权限的源端安全组ID。'."\n" + ."\n" + .'- 至少设置`SourceGroupId`、`SourceCidrIp`、`Ipv6SourceCidrIp`或`SourcePrefixListId`参数中的一项。'."\n" + ."\n" + .'- 如果指定了`SourceGroupId`,没有指定参数`SourceCidrIp`或`Ipv6SourceCidrIp`,则参数NicType取值只能为intranet。'."\n" + ."\n" + .'- 如果同时指定了`SourceGroupId`和`SourceCidrIp`,则默认以`SourceCidrIp`为准。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 企业安全组不支持授权安全组访问。'."\n" + ."\n" + .'- 普通安全组支持授权的安全组数量最多为20个。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxa123b****', + ], + 'SourcePrefixListId' => [ + 'description' => '需要撤销访问权限的源端前缀列表ID。您可以调用[DescribePrefixLists](~~205046~~)查询可以使用的前缀列表ID。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- 安全组的网络类型为经典网络时,不支持设置前缀列表。关于安全组以及前缀列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。'."\n" + .'- 当您指定了`SourceCidrIp`、`Ipv6SourceCidrIp`或`SourceGroupId`参数中的一个时,将忽略该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'PortRange' => [ + 'description' => '安全组开放的各协议相关的目的端口范围。取值范围:'."\n" + .' '."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。', + 'type' => 'string', + 'required' => false, + 'example' => '1/200', + ], + 'DestCidrIp' => [ + 'description' => '目的端IPv4 CIDR地址段。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6DestCidrIp' => [ + 'description' => '目的端IPv6 CIDR地址段。支持CIDR格式和IPv6格式的IP地址范围。 '."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。'."\n" + ."\n" + .' '."\n" + .'> 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`DestCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + 'SourcePortRange' => [ + 'description' => '安全组开放的各协议相关的源端端口范围。取值范围: '."\n" + .' '."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + 'SourceGroupOwnerAccount' => [ + 'description' => '撤销跨账户授权的安全组规则时,源端安全组所属的阿里云账户。'."\n" + ."\n" + .'- 如果`SourceGroupOwnerAccount`及`SourceGroupOwnerId`均未设置,则认为是撤销您其他安全组的访问权限。'."\n" + .'- 如果已经设置参数`SourceCidrIp`,则参数`SourceGroupOwnerAccount`无效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test@aliyun.com', + ], + 'SourceGroupOwnerId' => [ + 'description' => '撤销跨账户授权的安全组规则时,源端安全组所属的阿里云账户ID。'."\n" + ."\n" + .'- 如果`SourceGroupOwnerId`及`SourceGroupOwnerAccount`均未设置,则认为是撤销您其他安全组的访问权限。'."\n" + .'- 如果您已经设置参数`SourceCidrIp`,则参数`SourceGroupOwnerId`无效。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12345678910', + ], + 'NicType' => [ + 'description' => '经典网络类型安全组规则的网卡类型。取值范围:'."\n" + ."\n" + .'- internet:公网网卡。'."\n" + .'- intranet:内网网卡。'."\n" + ."\n" + .'专有网络VPC类型安全组规则无需设置网卡类型,默认为intranet,只能为intranet。'."\n" + ."\n" + .'撤销安全组之间授权规则,即指定了`SourceGroupId`参数时,只能为intranet。'."\n" + ."\n" + .'默认值:internet。', + 'type' => 'string', + 'required' => false, + 'example' => 'intranet', + ], + 'Description' => [ + 'description' => '安全组规则描述。长度为1~512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + 'PortRangeListId' => [ + 'description' => '端口列表 ID。'."\n" + .'您可以调用`DescribePortRangeLists`查询可以使用的端口列表 ID。'."\n" + .'- 当您指定了`Permissions.N.PortRange`参数时,将忽略该参数。'."\n" + .'- 安全组的网络类型为经典网络时,不支持设置端口列表。关于安全组以及端口列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'prl-2ze9743****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Policy`来设置访问权限。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'accept', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Priority`来指定规则优先级。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.IpProtocol`来指定协议类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => 'ALL', + ], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceCidrIp`来指定源端IPv4 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6SourceCidrIp`来指定源端IPv6 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + ], + [ + 'name' => 'SourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceGroupId`来指定源端安全组ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'sg-bp67acfmxa123b****', + ], + ], + [ + 'name' => 'SourcePrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourcePrefixListId`来指定源端前缀列表ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.PortRange`来指定端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => '1/200', + ], + ], + [ + 'name' => 'DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestCidrIp`来指定目的端IPv4 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6DestCidrIp`来指定目的端IPv6 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourcePortRange`来指定源端端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '80/80', + ], + ], + [ + 'name' => 'SourceGroupOwnerAccount', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceGroupOwnerAccount`来指定源端安全组所属的阿里云账户。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Test@aliyun.com', + ], + ], + [ + 'name' => 'SourceGroupOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceGroupOwnerId`来指定源端安全组所属的阿里云账户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '12345678910', + ], + ], + [ + 'name' => 'NicType', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.NicType`来指定网卡类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'intranet', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Description`来指定规则的描述。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'This is description.', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupId is not valid.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.ValueNotSupported', + 'errorMessage' => 'The parameter IpProtocol must be specified with case insensitive TCP, UDP, ICMP, GRE or All.', + ], + [ + 'errorCode' => 'InvalidIpPortRange.Malformed', + 'errorMessage' => 'The specified parameter PortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidSourceCidrIp.Malformed', + 'errorMessage' => 'The specified parameter SourceCidrIp is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter SourceGroupId or SourceCidrIp cannot be both blank.', + ], + [ + 'errorCode' => 'InvalidPolicy.Malformed', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidNicType.ValueNotSupported', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidSourceGroupId.Mismatch', + 'errorMessage' => 'Specified security group and source group are not in the same VPC.', + ], + [ + 'errorCode' => 'MissingParameter.Source', + 'errorMessage' => 'One of the parameters SourceCidrIp, Ipv6SourceCidrIp, SourceGroupId or SourcePrefixListId in %s must be specified.', + ], + [ + 'errorCode' => 'InvalidParam.PortRange', + 'errorMessage' => 'The specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.', + ], + [ + 'errorCode' => 'InvalidPriority.Malformed', + 'errorMessage' => 'The parameter Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidPriority.ValueNotSupported', + 'errorMessage' => 'The specified parameter %s is invalid.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SecurityGroupId should be different from the SourceGroupId.', + ], + [ + 'errorCode' => 'InvalidDestCidrIp.Malformed', + 'errorMessage' => 'The specified parameter DestCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SourceIp', + 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.DestIp', + 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv4ProtocolConflictWithIpv6Address', + 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6ProtocolConflictWithIpv4Address', + 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParameter.Ipv6CidrIp', + 'errorMessage' => 'The specified Ipv6CidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidGroupAuthParameter.OperationDenied', + 'errorMessage' => 'The security group can not authorize to enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidPortRange.Malformed', + 'errorMessage' => 'The specified parameter PortRange must set.', + ], + [ + 'errorCode' => 'InvalidSourcePortRange.Malformed', + 'errorMessage' => 'The specified parameter SourcePortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'The specified security group rule description is not valid.', + ], + [ + 'errorCode' => 'NotSupported.ClassicNetworkPrefixList', + 'errorMessage' => 'The prefix list is not supported when the network type of security group is classic.', + ], + [ + 'errorCode' => 'InvalidParam.SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Permissions', + 'errorMessage' => 'The specified parameter Permissions cannot coexist with other parameters.', + ], + [ + 'errorCode' => 'InvalidParam.DuplicatePermissions', + 'errorMessage' => 'There are duplicate permissions in the specified parameter Permissions.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified parameter SecurityGroupId is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SecurityGroupRuleId', + 'errorMessage' => 'The specified parameter SecurityGroupRuleId is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SecurityGroupRuleIdRepeated', + 'errorMessage' => 'The specified parameter SecurityGroupRuleId is repeated.', + ], + [ + 'errorCode' => 'InvalidGroupParameter.OperationDenied', + 'errorMessage' => 'The attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupRule.RuleNotExist', + 'errorMessage' => 'The specified rule does not exist.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolNotSupportPortRangeList', + 'errorMessage' => 'The specified protocol does not support the port range list.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.InvalidNetworkType', + 'errorMessage' => 'The specified security group network type is not support this operation, please check the security group network types. For VPC security groups, ClassicLink must be enabled.', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.SecurityGroupNotAuthorized', + 'errorMessage' => 'The specified security group is not authorized to operate.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidNicType.Mismatch', + 'errorMessage' => 'The specified NicType conflicts with the authorization record.', + ], + [ + 'errorCode' => 'InvalidGroupAuthItem.NotFound', + 'errorMessage' => 'Specified group authorized item does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidSourceGroupId.NotFound', + 'errorMessage' => 'The SourceGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupRuleId.NotFound', + 'errorMessage' => 'The specified SecurityGroupRuleId is not exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '删除安全组入方向规则', + 'description' => '>阿里云已于2024年7月8日对该接口进行了校验规则调整。当删除不存在的安全组规则时,从返回成功调整为返回错误码:“InvalidParam.SecurityGroupRuleId“。请您及时做好错误码兼容,避免影响线上业务。>'."\n" + .'该接口存在两种传参方式来删除规则:'."\n" + .'- 通过指定安全组规则ID参数删除规则(推荐)。'."\n" + .' - 如果指定的安全组规则ID不存在,接口调用将失败。'."\n" + ."\n" + .'- 通过指定Permissions删除规则。'."\n" + .' - 如果匹配的安全组规则不存在,此次调用成功,但不会删除规则。'."\n" + .' - 确定一条安全组入方向规则必要的一组相关参数:'."\n" + .' - 源端设置:选择SourceCidrIp(IPv4 地址)、Ipv6SourceCidrIp(IPv6 地址)、SourcetPrefixListId(前缀列表 ID)、SourceGroupId(源端安全组)中的一项。'."\n" + .' - 目的端口范围:PortRange。'."\n" + .' - 协议类型:IpProtocol。'."\n" + .' - 权限策略:Policy。'."\n" + ."\n" + .'> 不支持同时设置安全组规则ID和Permissions参数。'."\n" + ."\n" + .'### 请求示例'."\n" + .'- 根据指定安全组规则ID删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4p****", //设置安全组ID'."\n" + .'"SecurityGroupRuleId":["sgr-bpdfmk****","sgr-bpdfmg****"] //设置安全组规则ID'."\n" + .'```'."\n" + ."\n" + .'- 根据指定IP地址段删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4p****",'."\n" + .'"Permissions":['."\n" + .' {'."\n" + .' "SourceCidrIp":"10.0.0.0/8", //设置源端IP地址段'."\n" + .' "IpProtocol":"TCP", //设置协议类型'."\n" + .' "PortRange":"80/80", //设置目的端口范围'."\n" + .' "Policy":"accept" //设置访问策略'."\n" + .' }'."\n" + .']'."\n" + .'```'."\n" + ."\n" + .'- 根据其他安全组删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4p****",'."\n" + .'"Permissions":['."\n" + .' {'."\n" + .' "SourceGroupId":"sg-bp67acfmxa123b****", //设置源端安全组ID'."\n" + .' "IpProtocol":"TCP,"'."\n" + .' "PortRange":"80/80",'."\n" + .' "Policy":"accept"'."\n" + .' ]'."\n" + .'}'."\n" + .'```'."\n" + .'- 根据指定前缀列表删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4p****",'."\n" + .'"Permissions":['."\n" + .' {'."\n" + .' "SourcePrefixListId":pl-x1j1k5ykzqlixdcy****", //设置源端前缀列表ID'."\n" + .' "IpProtocol":"TCP",'."\n" + .' "PortRange":"80/80",'."\n" + .' "Policy":"accept"'."\n" + .' }'."\n" + .']'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AuthorizeSecurityGroupEgress' => [ + 'summary' => '本接口是阿里云 ECS 中用于增加一条或多条安全组出方向规则的接口。通过该接口,用户可以指定安全组出方向的访问权限,允许或拒绝安全组内的实例发送出方向流量到其他设备,从而实现对网络访问的精细控制。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29245', + 'abilityTreeNodes' => [ + 'FEATUREecsN1X6QX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源端安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源端安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源端安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Permissions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '安全组规则数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组权限规则。', + 'type' => 'object', + 'properties' => [ + 'Policy' => [ + 'description' => '设置访问权限。取值范围: '."\n" + .' '."\n" + .'- accept:接受访问。'."\n" + .'- drop:拒绝访问,不返回拒绝信息,表现为发起端请求超时或者无法建立连接的类似信息。'."\n" + ."\n" + .'默认值:accept。', + 'type' => 'string', + 'required' => false, + 'example' => 'accept', + ], + 'Priority' => [ + 'description' => '安全组规则优先级。数字越小,代表优先级越高。取值范围:1~100。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + 'IpProtocol' => [ + 'description' => '网络层/传输层协议。支持两类赋值:'."\n" + .'1. 不区分大小写的协议名。取值范围:'."\n" + .'- ICMP'."\n" + .'- GRE'."\n" + .'- TCP'."\n" + .'- UDP'."\n" + .'- ALL:支持所有协议。'."\n" + .'2. 符合IANA规范的协议号取值,即0 到 255的整数。目前开放的地域列表:'."\n" + .'- 菲律宾'."\n" + .'- 英国'."\n" + .'- 马来西亚'."\n" + .'- 呼和浩特'."\n" + .'- 青岛'."\n" + .'- 美西'."\n" + .'- 新加坡', + 'type' => 'string', + 'required' => false, + 'example' => 'ALL', + ], + 'DestCidrIp' => [ + 'description' => '需要设置访问权限的目的端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6DestCidrIp' => [ + 'description' => '需要设置访问权限的目的端IPv6 CIDR地址块。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'> 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`DestCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + 'DestGroupId' => [ + 'description' => '需要设置访问权限的目的端安全组ID。'."\n" + ."\n" + .'- 至少设置`DestGroupId`、`DestCidrIp`、`Ipv6DestCidrIp`或`DestPrefixListId`参数中的一项。'."\n" + ."\n" + .'- 如果指定了`DestGroupId`没有指定参数`DestCidrIp`,则参数`NicType`取值默认只能为intranet。'."\n" + ."\n" + .'- 如果同时指定了`DestGroupId`和`DestCidrIp`,则默认以`DestCidrIp`为准。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'DestPrefixListId' => [ + 'description' => '需要设置访问权限的目的端前缀列表ID。您可以调用[DescribePrefixLists](~~205046~~)查询可以使用的前缀列表ID。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- 安全组的网络类型为经典网络时,不支持设置前缀列表。关于安全组以及前缀列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。'."\n" + ."\n" + .'- 当您指定了`DestCidrIp`、`Ipv6DestCidrIp`或`DestGroupId`参数中的一个时,将忽略该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'PortRange' => [ + 'description' => '安全组开放的各协议相关的目的端口范围。取值范围:'."\n" + .' '."\n" + .'- TCP/UDP:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP:-1/-1。'."\n" + .'- GRE:-1/-1。'."\n" + .'- ALL:-1/-1。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + 'SourceCidrIp' => [ + 'description' => '源端IPv4 CIDR地址段。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6SourceCidrIp' => [ + 'description' => '源端IPv6 CIDR地址段。支持CIDR格式和IPv6格式的IP地址范围。 '."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。'."\n" + ."\n" + .'>仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`DestCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + 'SourcePortRange' => [ + 'description' => '安全组开放的各协议相关的源端端口范围。取值范围:'."\n" + .' '."\n" + .'- TCP/UDP协议:1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + 'DestGroupOwnerAccount' => [ + 'description' => '跨账户设置安全组规则时,目的端安全组所属的阿里云账户。 '."\n" + .' '."\n" + .'- 如果`DestGroupOwnerAccount`及`DestGroupOwnerId`均未设置,则认为是设置您其他安全组的访问权限。'."\n" + .'- 如果已经设置参数`DestCidrIp`,则参数`DestGroupOwnerAccount`无效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test@aliyun.com', + ], + 'DestGroupOwnerId' => [ + 'description' => '跨账户设置安全组规则时,目的端安全组所属的阿里云账户ID。 '."\n" + .' '."\n" + .'- 如果`DestGroupOwnerId`及`DestGroupOwnerAccount`均未设置,则认为是设置您其他安全组的访问权限。'."\n" + .'- 如果您已经设置参数`DestCidrIp`,则参数`DestGroupOwnerId`无效。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12345678910', + ], + 'NicType' => [ + 'description' => '经典网络类型安全组规则的网卡类型。取值范围: '."\n" + .' '."\n" + .'- internet:公网网卡。'."\n" + .'- intranet:内网网卡。'."\n" + .' - 专有网络VPC类型安全组规则无需设置网卡类型,默认只能为intranet。'."\n" + .' - 设置安全组之间互相访问时,即仅指定了DestGroupId参数时,默认只能为intranet。'."\n" + ."\n" + .'默认值:internet。', + 'type' => 'string', + 'required' => false, + 'example' => 'intranet', + ], + 'Description' => [ + 'description' => '安全组规则的描述信息。长度为1~512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + 'PortRangeListId' => [ + 'description' => '端口列表 ID。'."\n" + .'您可以调用`DescribePortRangeLists`查询可以使用的端口列表 ID。'."\n" + .'- 当您指定了`Permissions.N.PortRange`参数时,将忽略该参数。'."\n" + .'- 安全组的网络类型为经典网络时,不支持设置端口列表。关于安全组以及端口列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'prl-2ze9743****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Policy`来设置访问权限。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'accept', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Priority`来指定规则优先级。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.IpProtocol`来指定协议类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => 'ALL', + ], + ], + [ + 'name' => 'DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestCidrIp`来指定目的端IPv4 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6DestCidrIp`来指定目的端IPv6 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + ], + [ + 'name' => 'DestGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestGroupId`来指定目的端安全组ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'DestPrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestPrefixListId`来指定源端前缀列表ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.PortRange`来指定端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => '80/80', + ], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceCidrIp`来指定源端IPv4 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6SourceCidrIp`来指定源端IPv6 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourcePortRange`来指定源端端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '80/80', + ], + ], + [ + 'name' => 'DestGroupOwnerAccount', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestGroupOwnerAccount`来指定目的端安全组所属的阿里云账户。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Test@aliyun.com', + ], + ], + [ + 'name' => 'DestGroupOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestGroupOwnerId`来指定目的端安全组所属的阿里云账户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '12345678910', + ], + ], + [ + 'name' => 'NicType', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.NicType`来指定网卡类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'intranet', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Description`来指定规则的描述。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'This is description.', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified IpProtocol does not exist or IpProtocol and PortRange do not match.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.Malformed', + 'errorMessage' => 'The specified parameter PortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidDestCidrIp.Malformed', + 'errorMessage' => 'The specified parameter DestCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPolicy.Malformed', + 'errorMessage' => 'The specified parameter Policy is not valid.', + ], + [ + 'errorCode' => 'InvalidNicType.ValueNotSupported', + 'errorMessage' => 'The specified NicType does not exist.', + ], + [ + 'errorCode' => 'InvalidNicType.Mismatch', + 'errorMessage' => 'The specified NicType conflicts with the authorization record.', + ], + [ + 'errorCode' => 'InvalidDestGroupId.Mismatch', + 'errorMessage' => 'Specified security group and destination group are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidDestGroup.NotFound', + 'errorMessage' => 'Specified destination security group does not exist.', + ], + [ + 'errorCode' => 'InvalidPriority.Malformed', + 'errorMessage' => 'The parameter Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidPriority.ValueNotSupported', + 'errorMessage' => 'The specified parameter %s is invalid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'The specified security group rule description parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.InvalidNetworkType', + 'errorMessage' => 'The specified security group network type is not support this operation, please check the security group network types. For VPC security groups, ClassicLink must be enabled.', + ], + [ + 'errorCode' => 'MissingParameter.Dest', + 'errorMessage' => 'One of the parameters DestCidrIp, Ipv6DestCidrIp, DestGroupId or DestPrefixListId in %s must be specified.', + ], + [ + 'errorCode' => 'InvalidParam.PortRange', + 'errorMessage' => 'The specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.ValueNotSupported', + 'errorMessage' => 'The parameter %s must be specified with case insensitive TCP, UDP, ICMP, GRE or All.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupId is not valid.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SourceCidrIp should be different from the DestCidrIp.', + ], + [ + 'errorCode' => 'InvalidSourcePortRange.Malformed', + 'errorMessage' => 'The specified parameter SourcePortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidPortRange.Malformed', + 'errorMessage' => 'The specified parameter PortRange must set.', + ], + [ + 'errorCode' => 'InvalidParam.SourceIp', + 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.DestIp', + 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv4ProtocolConflictWithIpv6Address', + 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6ProtocolConflictWithIpv4Address', + 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParameter.Ipv6CidrIp', + 'errorMessage' => 'The specified Ipv6CidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidGroupAuthParameter.OperationDenied', + 'errorMessage' => 'The security group can not authorize to enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'IPv6 and IPv4 addresses cannot exist at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.PrefixListAddressFamilyMismatch', + 'errorMessage' => 'The address family of the specified prefix list does not match the specified CidrIp.', + ], + [ + 'errorCode' => 'NotSupported.ClassicNetworkPrefixList', + 'errorMessage' => 'The prefix list is not supported when the network type of security group is classic.', + ], + [ + 'errorCode' => 'AuthorizedGroupRule.LimitExceed', + 'errorMessage' => 'You have reached the limit on the number of group authorization rules that you can add to a security group.When authorization object of rule is security group, the limit is 20.', + ], + [ + 'errorCode' => 'InvalidParam.DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SourceCidrIp', + 'errorMessage' => 'The specified param SourceCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Permissions', + 'errorMessage' => 'The specified parameter Permissions cannot coexist with other parameters.', + ], + [ + 'errorCode' => 'InvalidParam.DuplicatePermissions', + 'errorMessage' => 'There are duplicate permissions in the specified parameter Permissions.', + ], + [ + 'errorCode' => 'InvalidGroupParameter.OperationDenied', + 'errorMessage' => 'The attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolNotSupportPortRangeList', + 'errorMessage' => 'The specified protocol does not support the port range list.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.SecurityGroupNotAuthorized', + 'errorMessage' => 'The specified security group is not authorized to operate.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDestGroupId.Mismatch', + 'errorMessage' => 'NicType is required or NicType expects intranet.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter DestGroupId or DestCidrIp cannot be both blank.', + ], + [ + 'errorCode' => 'AuthorizationLimitExceed', + 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SecurityGroupId should be different from the SourceGroupId.', + ], + [ + 'errorCode' => 'InvalidNetworkType.Conflict', + 'errorMessage' => 'The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.IsSame', + 'errorMessage' => 'The authorized SecurityGroupId should be different from the DestGroupId.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'LimitExceed.PrefixListAssociationResource', + 'errorMessage' => 'The number of resources associated with the prefix list exceeds the limit.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidDestGroupId.NotFound', + 'errorMessage' => 'The DestGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '增加安全组出方向规则', + 'description' => '### 使用须知'."\n" + .'- **数量限制:** 单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和不能超过1000。具体限制请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。 '."\n" + .'- **优先级设置:** 安全组出方向规则优先级(Priority)可选范围为1~100。数字越小,代表优先级越高,优先级相同的安全组规则,优先以拒绝访问(drop)的规则为准。 '."\n" + ."\n" + .'### 注意事项'."\n" + .'如果指定的安全组规则已存在,此次调用成功,但不会增加规则。'."\n" + ."\n\n" + .'### 规则确定方式'."\n" + ."\n" + .'确定一条安全组出方向规则必要的一组相关参数:'."\n" + ."\n" + .'- 目的端设置:选择DestCidrIp(IPv4 地址)、Ipv6DestCidrIp(IPv6 地址)、DestPrefixListId(前缀列表 ID)、DestGroupId(目的端安全组)中的一项。'."\n" + .'- 目的端口范围:PortRange。'."\n" + .'- 协议类型:IpProtocol。'."\n" + .'- 权限策略:Policy。'."\n" + ."\n" + .'> 企业安全组不支持授权其他安全组访问,普通安全组支持授权的安全组数量最多为 20 个。'."\n" + ."\n" + .'### 请求示例'."\n" + ."\n" + .'假设要在杭州地域下指定安全组中增加几条不同目的端的出方向规则:'."\n" + ."\n" + .' - 增加指定IP地址段的访问权限。'."\n" + ."\n" + .' ```'."\n" + .' "RegionId":"cn-hangzhou", //设置地域'."\n" + .' "SecurityGroupId":"sg-bp17vs63txqxbds9***", //设置安全组'."\n" + .' "Permissions":['."\n" + .' {'."\n" + .' "DestCidrIp":"10.0.0.0/8", //设置目的端IPv4 地址'."\n" + .' "PortRange":"-1/-1", //设置端口范围'."\n" + .' "IpProtocol":"ICMP", //设置协议类型'."\n" + .' "Policy":"Accept" //设置访问策略'."\n" + .' }'."\n" + .' ]'."\n" + .' ```'."\n" + ."\n" + .' - 增加一条其他安全组和一条前缀列表的访问权限。'."\n" + ."\n" + .' ```'."\n" + .' "RegionId":"cn-hangzhou",'."\n" + .' "SecurityGroupId":"sg-bp17vs63txqxbds9***",'."\n" + .' "Permissions":['."\n" + .' {'."\n" + .' "DestGroupId":"sg-bp67acfmxazb4pi***", //设置目的端安全组'."\n" + .' "PortRange":"22/22",'."\n" + .' "IpProtocol":"TCP",'."\n" + .' "Policy":"Drop"'."\n" + .' },{'."\n" + .' "DestPrefixListId":"pl-x1j1k5ykzqlixdcy****", //设置目的端前缀列表'."\n" + .' "PortRange":"22/22",'."\n" + .' "IpProtocol":"TCP",'."\n" + .' "Policy":"Drop"'."\n" + .' }'."\n" + .' ]'."\n" + .' ```', + ], + 'ModifySecurityGroupEgressRule' => [ + 'summary' => '本接口用于修改一条出方向安全组规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29309', + 'abilityTreeNodes' => [ + 'FEATUREecsN1X6QX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源端安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '源端安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则ID。您可以通过[DescribeSecurityGroupAttribute](~~2679845~~) 查询安全组规则ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgr-bp67acfmxazb4q****', + ], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => '访问权限。取值范围:'."\n" + ."\n" + .'- accept:接受访问。'."\n" + .'- drop:拒绝访问,不返回拒绝信息。'."\n" + ."\n" + .'默认值:accept。', + 'type' => 'string', + 'required' => false, + 'example' => 'accept', + 'default' => 'accept', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则优先级。取值范围:1~100。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'pattern' => '^\\d+$', + 'default' => '1', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '网络层/传输层协议。支持两类赋值:'."\n" + .'1. 不区分大小写的协议名。取值范围:'."\n" + .'- ICMP'."\n" + .'- GRE'."\n" + .'- TCP'."\n" + .'- UDP'."\n" + .'- ALL:支持所有协议。'."\n" + .'2. 符合IANA规范的协议号取值,即0 到 255的整数。目前开放的地域列表:'."\n" + .'- 菲律宾'."\n" + .'- 英国'."\n" + .'- 马来西亚'."\n" + .'- 呼和浩特'."\n" + .'- 青岛'."\n" + .'- 美西'."\n" + .'- 新加坡', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '目的端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '目的端IPv6 CIDR地址块。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'> 仅支持VPC类型的IP地址,且该参数与`DestCidrIp`参数不可同时设置。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + ], + [ + 'name' => 'DestGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要设置访问权限的目的端安全组ID。至少设置一项`DestGroupId`或者`DestCidrIp`参数。'."\n" + ."\n" + .'- 至少设置DestGroupId、DestCidrIp、Ipv6DestCidrIp或DestPrefixListId参数中的一项。'."\n" + .'- 如果指定了DestGroupId没有指定参数DestCidrIp,则参数NicType取值只能为intranet。'."\n" + .'- 如果同时指定了DestGroupId和DestCidrIp,则默认以DestCidrIp为准。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxa123b****', + ], + ], + [ + 'name' => 'DestPrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '目的端前缀列表ID。您可以调用[DescribePrefixLists](~~205046~~)查询可以使用的前缀列表ID。'."\n" + ."\n" + .'当您指定了`DestCidrIp`、`Ipv6DestCidrIp`或者`DestGroupId`参数中的一个时,将忽略该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '目的端安全组开放的传输层协议相关的端口范围。取值范围:'."\n" + ."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。', + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '80/80', + ], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '源端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '源端IPv6 CIDR地址块。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'> 仅支持VPC类型的IP地址,且该参数与`SourceCidrIp`参数不可同时设置。'."\n" + ."\n" + .'默认值:无。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '源端安全组开放的传输层协议相关的端口范围。取值范围:'."\n" + ."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用斜线(/)隔开起始端口和终止端口。例如:1/200'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。', + 'type' => 'string', + 'required' => false, + 'example' => '80/80', + ], + ], + [ + 'name' => 'DestGroupOwnerAccount', + 'in' => 'query', + 'schema' => [ + 'description' => '跨账户设置安全组规则时,目的端安全组所属的阿里云账户。', + 'type' => 'string', + 'required' => false, + 'example' => 'EcsforCloud@Alibaba.com', + ], + ], + [ + 'name' => 'DestGroupOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '跨账户设置安全组规则时,目的端安全组所属的阿里云账户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1234567890', + ], + ], + [ + 'name' => 'NicType', + 'in' => 'query', + 'schema' => [ + 'description' => '网卡类型。'."\n" + ."\n\n" + .'> 根据安全组规则ID修改规则时,不支持修改该参数。如果需要修改,建议先增加一条新规则,再删除当前规则。', + 'type' => 'string', + 'required' => false, + 'example' => 'intranet', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组规则的描述信息。长度为1~512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a new securitygroup rule.', + ], + ], + [ + 'name' => 'PortRangeListId', + 'in' => 'query', + 'schema' => [ + 'description' => '端口列表 ID。'."\n" + .'您可以调用`DescribePortRangeLists`查询可以使用的端口列表 ID。'."\n" + .'- 当您指定了PortRange参数时,将忽略该参数。'."\n" + .'- 安全组的网络类型为经典网络时,不支持设置端口列表。关于安全组以及端口列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'prl-2ze9743****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified IpProtocol does not exist or IpProtocol and PortRange do not match.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.Malformed', + 'errorMessage' => 'The specified parameter PortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidDestCidrIp.Malformed', + 'errorMessage' => 'The specified parameter DestCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPolicy.Malformed', + 'errorMessage' => 'The specified parameter Policy is not valid.', + ], + [ + 'errorCode' => 'InvalidNicType.ValueNotSupported', + 'errorMessage' => 'The specified NicType does not exist.', + ], + [ + 'errorCode' => 'InvalidNicType.Mismatch', + 'errorMessage' => 'The specified NicType conflicts with the authorization record.', + ], + [ + 'errorCode' => 'InvalidDestGroupId.Mismatch', + 'errorMessage' => 'Specified security group and destination group are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidDestGroup.NotFound', + 'errorMessage' => 'Specified destination security group does not exist.', + ], + [ + 'errorCode' => 'InvalidPriority.Malformed', + 'errorMessage' => 'The specified parameter Priority is not valid.', + ], + [ + 'errorCode' => 'InvalidPriority.ValueNotSupported', + 'errorMessage' => 'The specified Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'The specified security group rule description is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.InvalidNetworkType', + 'errorMessage' => 'The specified security group network type is not support this operation, please check the security group network types. For VPC security groups, ClassicLink must be enabled.', + ], + [ + 'errorCode' => 'MissingParameter.Dest', + 'errorMessage' => 'One of the parameters DestCidrIp, DestGroupId or DestPrefixListId must be specified.', + ], + [ + 'errorCode' => 'InvalidParam.PortRange', + 'errorMessage' => 'The specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.', + ], + [ + 'errorCode' => 'InvalidIpProtocol.ValueNotSupported', + 'errorMessage' => 'The specified parameter IpProtocol should not be null and only tcp, udp, icmp, gre or all is supported. Ignore case.', + ], + [ + 'errorCode' => 'InvalidParam.SourceIp', + 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.DestIp', + 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv4ProtocolConflictWithIpv6Address', + 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6ProtocolConflictWithIpv4Address', + 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParameter.Ipv6CidrIp', + 'errorMessage' => 'The specified Ipv6CidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidSourcePortRange.Malformed', + 'errorMessage' => 'The specified parameter SourcePortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SourceCidrIp', + 'errorMessage' => 'The specified param SourceCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.DestCidrIp', + 'errorMessage' => 'The specified param DestCidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'IPv6 and IPv4 addresses cannot exist at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.SecurityGroupRuleId', + 'errorMessage' => 'The specified parameter SecurityGroupRuleId is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.ModifySgRuleEntityType', + 'errorMessage' => 'The source or destination type of the rules cannot be modified.', + ], + [ + 'errorCode' => 'AuthorizationLimitExceed', + 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolAndPortRangeMismatch', + 'errorMessage' => 'The specified Protocol and PortRange do not match.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolAndAddressFamilyMismatch', + 'errorMessage' => 'The specified Protocol and address family do not match.', + ], + [ + 'errorCode' => 'InvalidParam.PrefixListAddressFamilyMismatch', + 'errorMessage' => 'The address family of the prefix list does not match the rule.', + ], + [ + 'errorCode' => 'InvalidParam.InvalidModifyRuleRequest', + 'errorMessage' => 'The request parameters are illegal.', + ], + [ + 'errorCode' => 'InvalidOperation.ModifyNicType', + 'errorMessage' => 'NicType is not allowed to modify.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SourceCidrIp should be different from the DestCidrIp.', + ], + [ + 'errorCode' => 'InvalidOperation.RuleDuplicate', + 'errorMessage' => '%s.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolNotSupportPortRangeList', + 'errorMessage' => 'The specified protocol does not support the port range list.', + ], + [ + 'errorCode' => 'InvalidSourceOrDestGroupId.DirectionMissmatch', + 'errorMessage' => 'The specified SourceGroupId or DestGroupId does not match the direction of the rule.', + ], + [ + 'errorCode' => 'InvalidOperation.ModifyPortRangeType', + 'errorMessage' => 'The PortRange type is not allowed to be modified. You cannot modify a rule from using the port list to not using it, and vice versa.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDestGroupId.Mismatch', + 'errorMessage' => 'NicType is required or NicType expects intranet.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter DestGroupId or DestCidrIp cannot be both blank.', + ], + [ + 'errorCode' => 'AuthorizationLimitExceed', + 'errorMessage' => 'The limit of authorization records in the security group reaches.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SecurityGroupId should be different from the SourceGroupId.', + ], + [ + 'errorCode' => 'InvalidNetworkType.Conflict', + 'errorMessage' => 'The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.IsSame', + 'errorMessage' => 'The authorized SecurityGroupId should be different from the DestGroupId.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidDestGroupId.NotFound', + 'errorMessage' => 'The DestGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'SecurityGroupRule.NotFound', + 'errorMessage' => 'The target security group rule do not exist.', + ], + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupRuleId.NotFound', + 'errorMessage' => 'The specified SecurityGroupRuleId is not exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + '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' => '修改安全组出方向规则', + 'description' => '指定安全组规则ID修改安全组规则时,您需要注意以下使用限制:'."\n" + ."\n" + .'- 安全组规则的授权对象分为IPv4的CIDR地址块(或IP地址)、IPv6的CIDR地址块(或IP地址)、安全组、前缀列表,您不能通过该接口修改已有安全组规则的授权对象类型。如原来授权对象类型为IPv4的CIDR地址块,您可以更改为另一个IPv4的CIDR地址块(或IP地址),但不能修改为IPv6的CIDR地址块(或IP地址)、安全组或前缀列表。'."\n" + .'- 字段不支持从非空修改为空,如果需要修改建议先增加一条新规则,再删除当前规则。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RevokeSecurityGroupEgress' => [ + 'summary' => '本接口用于删除指定安全组内的一条或多条出方向安全组规则。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29313', + 'abilityTreeNodes' => [ + 'FEATUREecs9IXIKV', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityGroupRuleId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全组规则ID数组。数组长度:0~100。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组规则ID。'."\n" + ."\n" + .'> 通过安全组规则ID删除时,该参数必填。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgr-bp67acfmxa123b***', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Permissions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '安全组规则数组。数组长度:0~100。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组规则。', + 'type' => 'object', + 'properties' => [ + 'Policy' => [ + 'description' => '访问权限。取值范围: '."\n" + .' '."\n" + .'- accept:接受访问。'."\n" + .'- drop:拒绝访问,不返回拒绝信息,表现为发起端请求超时或者无法建立连接的类似信息。'."\n" + ."\n" + .'默认值:accept。', + 'type' => 'string', + 'required' => false, + 'example' => 'accept', + ], + 'Priority' => [ + 'description' => '安全组规则优先级。数字越小,代表优先级越高。取值范围:1~100。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + 'IpProtocol' => [ + 'description' => '协议类型。取值不区分大小写。取值范围: '."\n" + .' '."\n" + .'- TCP。'."\n" + .'- UDP。'."\n" + .'- ICMP。'."\n" + .'- ICMPv6。'."\n" + .'- GRE。'."\n" + .'- ALL:支持所有协议。', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'DestCidrIp' => [ + 'description' => '需要撤销访问权限的目的端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6DestCidrIp' => [ + 'description' => '需要撤销访问权限的目的端IPv6 CIDR地址块。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'> 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`DestCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + 'DestGroupId' => [ + 'description' => '需要撤销访问权限的目的端安全组ID。'."\n" + ."\n" + .'- 至少设置一项`DestGroupId`或者`DestCidrIp`、`Ipv6DestCidrIp`或`DestPrefixListId`参数中的一项。'."\n" + .'- 如果指定了`DestGroupId`没有指定参数`DestCidrIp`,则参数`NicType`取值只能为intranet。'."\n" + .'- 如果同时指定了`DestGroupId`和`DestCidrIp`,则默认以`DestCidrIp`为准。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 企业安全组不支持授权安全组访问。'."\n" + .'- 普通安全组支持授权的安全组数量最多为20个。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxa123b****', + ], + 'DestPrefixListId' => [ + 'description' => '需要撤销访问权限的目的端前缀列表。您可以调用[DescribePrefixLists](~~205046~~)查询可以使用的前缀列表ID。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- 安全组的网络类型为经典网络时,不支持设置前缀列表。关于安全组以及前缀列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。'."\n" + .'- 当您指定了`DestCidrIp`、`Ipv6DestCidrIp`、`DestGroupId`参数中的一个时,将忽略该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + 'PortRange' => [ + 'description' => '安全组开放的各协议相关的目的端口范围。取值范围: '."\n" + .' '."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。', + 'type' => 'string', + 'required' => false, + 'example' => '22/22', + ], + 'SourceCidrIp' => [ + 'description' => '源端IPv4 CIDR地址段。支持CIDR格式和IPv4格式的IP地址范围。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.0/8', + ], + 'Ipv6SourceCidrIp' => [ + 'description' => '源端IPv6 CIDR地址段。支持CIDR格式和IPv6格式的IP地址范围。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。 '."\n" + ."\n\n" + .'> 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与`DestCidrIp`参数不可同时设置。', + 'type' => 'string', + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + 'SourcePortRange' => [ + 'description' => '安全组开放的各协议相关的源端端口范围。取值范围:'."\n" + .' '."\n" + .'- TCP/UDP协议:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。'."\n" + .'- ICMP协议:-1/-1。'."\n" + .'- GRE协议:-1/-1。'."\n" + .'- ALL:-1/-1。'."\n" + ."\n" + .'用于支持五元组规则,请参见[安全组五元组规则](~~97439~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '22/22', + ], + 'DestGroupOwnerAccount' => [ + 'description' => '撤销跨账户授权的安全组规则时,目的端安全组所属的阿里云账户。'."\n" + ."\n" + .'- 如果`DestGroupOwnerAccount`及`DestGroupOwnerId`均未设置,则认为是撤销您其他安全组的访问权限。 '."\n" + .'- 如果已经设置参数`DestCidrIp`,则参数`DestGroupOwnerAccount`无效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test@aliyun.com', + ], + 'DestGroupOwnerId' => [ + 'description' => '撤销跨账户授权的安全组规则时,目的端安全组所属的阿里云账户。'."\n" + ."\n" + .'- 如果`DestGroupOwnerId`及`DestGroupOwnerAccount`均未设置,则认为是撤销您其他安全组的访问权限。 '."\n" + .'- 如果您已经设置参数`DestCidrIp`,则参数`DestGroupOwnerId`无效。', + 'type' => 'string', + 'required' => false, + 'example' => '12345678910', + ], + 'NicType' => [ + 'description' => '经典网络类型安全组规则的网卡类型。取值范围:'."\n" + ."\n" + .'- internet:公网网卡。'."\n" + .'- intranet:内网网卡。'."\n" + ."\n" + .'专有网络VPC类型安全组规则无需设置网卡类型,默认为intranet,只能为intranet。'."\n" + ."\n" + .'撤销安全组之间授权规则,即指定了`DestGroupId`参数时,只能为intranet。'."\n" + ."\n" + .'默认值:internet。', + 'type' => 'string', + 'required' => false, + 'example' => 'intranet', + ], + 'Description' => [ + 'description' => '安全组规则的描述。长度为1~512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + 'PortRangeListId' => [ + 'description' => '端口列表 ID。'."\n" + .'您可以调用`DescribePortRangeLists`查询可以使用的端口列表 ID。'."\n" + .'- 当您指定了`Permissions.N.PortRange`参数时,将忽略该参数。'."\n" + .'- 安全组的网络类型为经典网络时,不支持设置端口列表。关于安全组以及端口列表使用限制的更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'prl-2ze9743****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Policy', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Policy`来设置访问权限。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'accept', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Priority`来指定规则优先级。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.IpProtocol`来指定协议类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => 'TCP', + ], + ], + [ + 'name' => 'DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestCidrIp`来指定目的端IPv4 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6DestCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6DestCidrIp`来指定目的端IPv6 CIDR地址块。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '2001:db8:1233:1a00::***', + ], + ], + [ + 'name' => 'DestGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestGroupId`来指定目的端安全组ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'sg-bp67acfmxa123b****', + ], + ], + [ + 'name' => 'DestPrefixListId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestPrefixListId`来指定源端前缀列表ID。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'pl-x1j1k5ykzqlixdcy****', + ], + ], + [ + 'name' => 'PortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.PortRange`来指定端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => '22/22', + ], + ], + [ + 'name' => 'SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourceCidrIp`来指定源端IPv4 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '10.0.0.0/8', + ], + ], + [ + 'name' => 'Ipv6SourceCidrIp', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Ipv6SourceCidrIp`来指定源端IPv6 CIDR地址段。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '2001:db8:1234:1a00::***', + ], + ], + [ + 'name' => 'SourcePortRange', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.SourcePortRange`来指定源端端口范围。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '22/22', + ], + ], + [ + 'name' => 'DestGroupOwnerAccount', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestGroupOwnerAccount`来指定目的端安全组所属的阿里云账户。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Test@aliyun.com', + ], + ], + [ + 'name' => 'DestGroupOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.DestGroupOwnerId`来指定目的端安全组所属的阿里云账户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'deprecated' => true, + 'required' => false, + 'example' => '12345678910', + ], + ], + [ + 'name' => 'NicType', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.NicType`来指定网卡类型。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'intranet', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '已废弃。请使用`Permissions.N.Description`来指定规则的描述。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'This is description.', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpProtocol.ValueNotSupported', + 'errorMessage' => 'The parameter IpProtocol must be specified with case insensitive TCP, UDP, ICMP, GRE or All.', + ], + [ + 'errorCode' => 'InvalidIpPortRange.Malformed', + 'errorMessage' => 'The specified parameter PortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidDestCidrIp.sMalformed', + 'errorMessage' => 'The specified parameter DestCidrIp is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter DestGroupId or DestCidrIp cannot be both blank.', + ], + [ + 'errorCode' => 'InvalidPolicy.Malformed', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidNicType.ValueNotSupported', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidDestGroupId.Mismatch', + 'errorMessage' => 'Specified security group and destination group are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidDestCidrIp.Malformed', + 'errorMessage' => 'The specified parameter DestCidrIp is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.Dest', + 'errorMessage' => 'One of the parameters DestCidrIp, Ipv6DestCidrIp, DestGroupId or DestPrefixListId in %s must be specified.', + ], + [ + 'errorCode' => 'InvalidParam.PortRange', + 'errorMessage' => 'The specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.', + ], + [ + 'errorCode' => 'InvalidPriority.Malformed', + 'errorMessage' => 'The parameter Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidPriority.ValueNotSupported', + 'errorMessage' => 'The specified parameter %s is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.SourceIp', + 'errorMessage' => 'The Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.DestIp', + 'errorMessage' => 'The Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv4ProtocolConflictWithIpv6Address', + 'errorMessage' => 'IPv6 address cannot be specified for IPv4-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParam.Ipv6ProtocolConflictWithIpv4Address', + 'errorMessage' => 'IPv4 address cannot be specified for IPv6-specific protocol.', + ], + [ + 'errorCode' => 'InvalidParameter.Ipv6CidrIp', + 'errorMessage' => 'The specified Ipv6CidrIp is not valid.', + ], + [ + 'errorCode' => 'InvalidGroupAuthParameter.OperationDenied', + 'errorMessage' => 'The security group can not authorize to enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupId is not valid.', + ], + [ + 'errorCode' => 'InvalidPortRange.Malformed', + 'errorMessage' => 'The specified parameter PortRange must set.', + ], + [ + 'errorCode' => 'InvalidSourcePortRange.Malformed', + 'errorMessage' => 'The specified parameter SourcePortRange is not valid.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupDiscription.Malformed', + 'errorMessage' => 'The specified security group rule description is not valid.', + ], + [ + 'errorCode' => 'NotSupported.ClassicNetworkPrefixList', + 'errorMessage' => 'The prefix list is not supported when the network type of security group is classic.', + ], + [ + 'errorCode' => 'InvalidParam.SourceCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.DestCidrIp', + 'errorMessage' => 'The specified parameter %s is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.Permissions', + 'errorMessage' => 'The specified parameter Permissions cannot coexist with other parameters.', + ], + [ + 'errorCode' => 'InvalidParam.DuplicatePermissions', + 'errorMessage' => 'There are duplicate permissions in the specified parameter Permissions.', + ], + [ + 'errorCode' => 'InvalidParam.SecurityGroupRuleId', + 'errorMessage' => 'The specified parameter SecurityGroupRuleId is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.SecurityGroupRuleIdRepeated', + 'errorMessage' => 'The specified parameter SecurityGroupRuleId is repeated.', + ], + [ + 'errorCode' => 'InvalidGroupParameter.OperationDenied', + 'errorMessage' => 'The attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupRule.RuleNotExist', + 'errorMessage' => 'The specified rule does not exist.', + ], + [ + 'errorCode' => 'InvalidParam.ProtocolNotSupportPortRangeList', + 'errorMessage' => 'The specified protocol does not support the port range list.', + ], + [ + 'errorCode' => 'InvalidPortRangeListId.NotFound', + 'errorMessage' => 'The specified port range list was not found.', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.SecurityGroupNotAuthorized', + 'errorMessage' => 'The specified security group is not authorized to operate.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidNicType.Mismatch', + 'errorMessage' => 'Specified nic type conflicts with the authorization record.', + ], + [ + 'errorCode' => 'InvalidGroupAuthItem.NotFound', + 'errorMessage' => 'Specified group authorized item does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSecurityGroup.IsSame', + 'errorMessage' => 'The authorized SecurityGroupId should be different from the DestGroupId.', + ], + [ + 'errorCode' => 'InvalidParamter.Conflict', + 'errorMessage' => 'The specified SecurityGroupId should be different from the SourceGroupId.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidDestGroupId.NotFound', + 'errorMessage' => 'The DestGroupId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupRuleId.NotFound', + 'errorMessage' => 'The specified SecurityGroupRuleId is not exists.', + ], + [ + 'errorCode' => 'InvalidPrefixListId.NotFound', + 'errorMessage' => 'The specified prefix list was not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '删除出方向安全组规则', + 'description' => '>阿里云已于2024年7月8日对该接口进行了校验规则调整。当删除不存在的安全组规则时,从返回成功调整为返回错误码:“InvalidSecurityGroupRule.RuleNotExist“。请您及时做好错误码兼容,避免影响线上业务。>'."\n" + .'该接口有两种传参方式来删除安全组规则:'."\n" + .'- 通过指定安全组规则ID参数删除规则(推荐)。'."\n" + .' - 如果指定的安全组规则ID不存在,会报异常。'."\n" + ."\n" + .'- 通过指定Permissions参数删除规则。'."\n" + .' - 如果匹配的安全组规则不存在,此次调用成功,但不会删除规则。'."\n" + .' - 删除一条安全组规则必要的相关参数:'."\n" + .' - 目的端设置:选择 DestCidrIp(IPv4 地址)、Ipv6DestCidrIp(IPv6 地址)、DestPrefixListId(前缀列表 ID)、DestGroupId(目的端安全组)中的一项。'."\n" + .' - 目的端口范围:PortRange。'."\n" + .' - 协议类型:IpProtocol。'."\n" + .' - 权限策略:Policy。'."\n" + ."\n" + .'> 不支持同时设置安全组规则ID和Permissions参数。'."\n" + ."\n" + .'### 请求示例'."\n" + .'- 根据安全组规则ID删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4p****", //设置安全组ID'."\n" + .'"SecurityGroupRuleId":["sgr-bpdfmk****","sgr-bpdfmg****"] //设置安全组规则ID'."\n" + .'```'."\n" + ."\n" + .'- 根据IP地址段删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4ph***",'."\n" + .'"Permissions":['."\n" + .' {'."\n" + .' "IpProtocol":"TCP", //设置协议类型'."\n" + .' "DestCidrIp":"10.0.0.0/8", //设置目的端IP地址段'."\n" + .' "PortRange":"22/22", //设置目的端口范围'."\n" + .' "Policy":"accept" // 设置访问策略'."\n" + .' }'."\n" + .']'."\n" + .'```'."\n" + .' '."\n" + .'- 根据目的端安全组删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4ph***",'."\n" + .'"Permissions":['."\n" + .' {'."\n" + .' "DestGroupId":"sg-bp67acfmxa123b****", //设置目的端安全组ID'."\n" + .' "IpProtocol":"TCP",'."\n" + .' "PortRange":"22/22",'."\n" + .' "Policy":"accept"'."\n" + .' }'."\n" + .']'."\n" + .'```'."\n" + ."\n" + .'- 根据指定前缀列表删除。'."\n" + .'```'."\n" + .'"SecurityGroupId":"sg-bp67acfmxazb4ph***",'."\n" + .'"Permissions":['."\n" + .' {'."\n" + .' "IpProtocol":"TCP",'."\n" + .' "DestPrefixListId":"pl-x1j1k5ykzqlixdcy****", //设置目的端前缀列表ID'."\n" + .' "PortRange":"22/22",'."\n" + .' "Policy":"accept",'."\n" + .' }'."\n" + .']'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSecurityGroupReferences' => [ + 'summary' => '本接口用于查询一个或多个指定安全组已经被授权的其他安全组列表信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28992', + 'abilityTreeNodes' => [ + 'FEATUREecsO3Q7NU', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全组ID数组。数组长度:0~10。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp14vtedjtobkvi****', + ], + 'required' => true, + 'example' => 'sg-bp14vtedjtobkvi****', + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'SecurityGroupReferences' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupReference' => [ + 'description' => '安全组和被授权的安全组信息集合。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组和被授权的安全组信息。', + 'type' => 'object', + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'ReferencingSecurityGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReferencingSecurityGroup' => [ + 'description' => '正在授权给这个安全组的其他安全组信息集合。', + 'type' => 'array', + 'items' => [ + 'description' => '正在授权给这个安全组的其他安全组信息。', + 'type' => 'object', + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '其他安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp67acfmxazb4j****', + ], + 'AliUid' => [ + 'description' => '其他安全组所属用户ID。', + 'type' => 'string', + 'example' => '123456****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSecurityGroupId.Malformed', + 'errorMessage' => 'The specified parameter SecurityGroupId is essential and size should less than 10', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The SecurityGroupId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"SecurityGroupReferences\\": {\\n \\"SecurityGroupReference\\": [\\n {\\n \\"SecurityGroupId\\": \\"sg-bp67acfmxazb4p****\\",\\n \\"ReferencingSecurityGroups\\": {\\n \\"ReferencingSecurityGroup\\": [\\n {\\n \\"SecurityGroupId\\": \\"sg-bp67acfmxazb4j****\\",\\n \\"AliUid\\": \\"123456****\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n CEF72CEB-54B6-4AE8-B225-F876FF7B****\\n \\n sg-bp67acfmxazb4ph****\\n \\n 123456****\\n sg-bp67acfmxazb4pi****\\n \\n \\n 1234567890\\n sg-bp67acfmxazb4pj****\\n \\n \\n","errorExample":""}]', + 'title' => '查询被授权的安全组列表', + 'description' => '- 当您无法删除某一安全组([DeleteSecurityGroup](~~25558~~))时,可以调用该接口查看指定的安全组是否已被其他安全组授权。如果指定的安全组已被授权,您可以通过[RevokeSecurityGroup](~~2679855~~)和[RevokeSecurityGroupEgress](~~2679856~~)删除对应的安全组规则来解除授权行为。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'JoinSecurityGroup' => [ + 'summary' => '本接口用于将一台ECS实例或一张弹性网卡加入到指定的安全组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29040', + 'abilityTreeNodes' => [ + 'FEATUREecsZSF49P', + ], + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。您可以调用[DescribeSecurityGroups](~~25556~~)查看您可用的安全组。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。'."\n" + ."\n" + .'> 当该参数传入值时,`NetworkInterfaceId`必须为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。'."\n" + ."\n" + .'> 当该参数传入值时,`InstanceId`必须为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp13kd656hxambfe****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。'."\n" + ."\n" + .'- 实例加入安全组的操作可以不指定地域ID。'."\n" + .'- 弹性网卡加入安全组的操作必须指定弹性网卡所在的地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InstanceSecurityGroupLimitExceeded', + 'errorMessage' => 'Exceeding the allowed amount of security groups that an instance can be in.', + ], + [ + 'errorCode' => 'InvalidInstanceId.Mismatch', + 'errorMessage' => 'Specified instance and security group are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidInstanceId.Malformed', + 'errorMessage' => 'The specified parameter "InstanceId" is not valid.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupportEnterpriseGroup', + 'errorMessage' => 'The specified instance type doesn\'t support enterprise level security group.', + ], + [ + 'errorCode' => 'InvalidOperation.MultiGroupType', + 'errorMessage' => 'The specified instance can\'t join different types of security group.', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniAndGroupNotBelongSameUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotBelongUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidStatus.EniOrInstanceIsBeingCreated', + 'errorMessage' => '%s.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'SecurityGroupInstanceLimitExceeded', + 'errorMessage' => 'The maximum number of instances in a security group is exceeded.', + ], + [ + 'errorCode' => 'InvalidInstanceId.AlreadyExists', + 'errorMessage' => 'The specified instance already exists in the specified security group.', + ], + [ + 'errorCode' => 'AclLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceSecurityGroupLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.NetworkInterfaceCountExceeded', + 'errorMessage' => 'The maximum number of NetworkInterface in a enterprise level security group is exceeded.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.EniIdAndInstanceId.Conflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.InstanceIsBeingCreated', + 'errorMessage' => 'The specified instance is being created.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n"}]', + 'title' => '加入安全组', + 'description' => '> 该API已不推荐使用。推荐您调用[ModifyInstanceAttribute](~~25503~~)接口将ECS实例加入或移除安全组;调用[ModifyNetworkInterfaceAttribute](~~58513~~)接口将弹性网卡(ENI)加入或移除安全组。'."\n" + .'- 该接口不支持同时将实例和弹性网卡加入一个安全组,即参数`InstanceId`和`NetworkInterfaceId`不能同时传值。'."\n" + .'- 您的安全组和实例必须属于同一个阿里云地域。 '."\n" + .'- 您的安全组和实例的网络类型必须相同。如果网络类型为专有网络VPC,则安全组和实例必须属于同一个VPC。'."\n" + .'- 加入安全组之前,实例必须处于**已停止**(Stopped)或者**运行中**(Running)状态。'."\n" + .'- 一台实例或一张弹性网卡最多可以加入五个安全组。更多信息,请参见[安全组使用限制](~~25412#SecurityGroupQuota1~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'LeaveSecurityGroup' => [ + 'summary' => '本接口用于将一台ECS实例或一张弹性网卡移出指定的安全组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29041', + 'abilityTreeNodes' => [ + 'FEATUREecs9IXIKV', + ], + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。'."\n" + ."\n" + .'> 当该参数传入值时,`NetworkInterfaceId`必须为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。'."\n" + ."\n" + .'> 当该参数传入值时,`InstanceId`必须为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp13kd656hxambfe****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。'."\n" + ."\n" + .'- 实例移出安全组的操作可以不指定地域ID。'."\n" + .'- 弹性网卡移出安全组的操作必须指定弹性网卡所在的地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceId.Malformed', + 'errorMessage' => 'The specified parameter "InstanceId" is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupAssociation.NotFound', + 'errorMessage' => '%s.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceLastSecurityGroup', + 'errorMessage' => 'The specified security group is the last security group for the instance.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InstanceNotInSecurityGroup', + 'errorMessage' => 'The instance not in the group.', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AtLeastInOneGroup', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParam.EniIdAndInstanceId.Conflict', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The specified SecurityGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified virtual switch %s does not exist.', + ], + ], + 504 => [ + [ + 'errorCode' => 'RequestTimeout', + 'errorMessage' => 'The request encounters an upstream server timeout.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n"}]', + 'title' => '移出安全组', + 'description' => '> 该API已不推荐使用。推荐您调用[ModifyInstanceAttribute](~~25503~~)接口将ECS实例加入或移除安全组;调用[ModifyNetworkInterfaceAttribute](~~58513~~)接口将弹性网卡(ENI)加入或移除安全组。'."\n" + ."\n" + .'>阿里云已于2024年7月8日对该接口进行了校验规则调整。当移除不在组内的实例或者网卡时,从返回成功调整为返回错误码:“InvalidSecurityGroupAssociation.NotFound”。请您及时做好错误码兼容,避免影响线上业务。>'."\n" + .'- 不支持同时将实例和弹性网卡移出一个安全组,即参数`InstanceId`和`NetworkInterfaceId`不能同时传值。'."\n" + .'- 移出安全组之前,实例必须处于**已停止**(Stopped)或者**运行中**(Running)状态。 '."\n" + .'- 一台实例或者一张弹性网卡必须至少加入一个安全组,当该实例或者弹性网卡只加入了一个安全组时,移出请求失败报错。 '."\n" + .'- 移除不在组内的实例或者网卡时,移出请求失败报错。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateKeyPair' => [ + 'summary' => '调用CreateKeyPair创建一对SSH密钥对。系统会为您保管密钥的公钥部分,并返回未加密的PEM编码的PKCS#8格式私钥。您需要自行妥善保管私钥部分。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '28833', + 'abilityTreeNodes' => [ + 'FEATUREecsNMEQ4B', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => true, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '密钥对的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '密钥对的标签值。N的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PrivateKeyBody' => [ + 'description' => '密钥对的私钥。PEM编码的PKCS#8格式的私钥部分。', + 'type' => 'string', + 'example' => 'MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj****', + ], + 'KeyPairName' => [ + 'description' => '密钥对名称。', + 'type' => 'string', + 'example' => 'testKeyPairName', + ], + 'KeyPairId' => [ + 'description' => 'SSH密钥对的ID。', + 'type' => 'string', + 'example' => 'ssh-bp67acfmxazb4p****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'KeyPairFingerPrint' => [ + 'description' => '密钥对的指纹。根据RFC4716定义的公钥指纹格式,采用MD5信息摘要算法。更多信息,请参见[RFC4716](https://tools.ietf.org/html/rfc4716)。 ', + 'type' => 'string', + 'example' => '89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidKeyPairName.Malformed', + 'errorMessage' => 'Specified Key Pair name is not valid.', + ], + [ + 'errorCode' => 'KeyPair.AlreadyExist', + 'errorMessage' => 'The key pair already exist.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'QuotaExceed.KeyPair', + 'errorMessage' => 'The key pair quota exceeds.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PrivateKeyBody\\": \\"MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj****\\",\\n \\"KeyPairName\\": \\"testKeyPairName\\",\\n \\"KeyPairId\\": \\"ssh-bp67acfmxazb4p****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"KeyPairFingerPrint\\": \\"89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n \\"KeyPairName\\": \\"test\\"\\n \\"KeyPairFingerPrint\\": \\"89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:d7\\"\\n \\"PrivateKeyBody\\": \\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n testKeyPairName\\n ssh-bp67acfmxazb4p****\\n 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**\\n MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj****\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n test\\n 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:d7\\n xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\n"}]', + 'title' => '创建密钥对', + 'description' => '除了调用CreateKeyPair创建密钥对之外,您还可以使用第三方工具创建密钥对,然后上传([ImportKeyPair](~~51774~~))到某一阿里云地域,其使用方法和系统为您创建的密钥对是一致的。'."\n" + ."\n" + .'您在每个地域的密钥对数最高为500对。更多信息,请参见[使用限制](~~25412~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ImportKeyPair' => [ + 'summary' => '导入由其他工具产生的RSA密钥对的公钥部分。导入密钥对后,阿里云为您保管公钥部分,您需要自行妥善保存密钥对的私钥部分。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '29035', + 'abilityTreeNodes' => [ + 'FEATUREecsJP60NY', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。必须保持名称唯一性。长度为2~128个字符,必须以大小写字母或中文开头,不能以http://和https:// 开头。支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => true, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'PublicKeyBody', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对的公钥内容。', + 'type' => 'string', + 'required' => true, + 'example' => 'ABC1234567', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '密钥对的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '密钥对的标签值。N的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持128个字符,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'KeyPairName' => [ + 'description' => '密钥对名称。', + 'type' => 'string', + 'example' => 'testKeyPairName', + ], + 'KeyPairFingerPrint' => [ + 'description' => '密钥对的指纹。根据RFC 4716定义的公钥指纹格式,采用MD5信息摘要算法。', + 'type' => 'string', + 'example' => '89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidKeyPairName.Malformed', + 'errorMessage' => 'Specified Key Pair name is not valid.', + ], + [ + 'errorCode' => 'InvalidPublicKeyBody.Malformed', + 'errorMessage' => 'The PublicKeyBody format is not supported.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "PublicKeyBody" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'KeyPair.AlreadyExist', + 'errorMessage' => 'The key pair already exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'QuotaExceed.KeyPair', + 'errorMessage' => 'The key pair quota exceeds.', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"KeyPairName\\": \\"testKeyPairName\\",\\n \\"KeyPairFingerPrint\\": \\"89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n \\"KeyPairName\\": \\"test\\"\\n \\"KeyPairFingerPrint\\": \\"89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:d7\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n testKeyPairName\\n 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n test\\n 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:d7\\n"}]', + 'title' => '导入密钥对公钥', + 'description' => '## 接口说明'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 您在每个地域的密钥对数最高为500对。'."\n" + .'- 导入的密钥对必须支持下列任一种加密方式:'."\n" + .' - rsa'."\n" + .' - dsa'."\n" + .' - ssh-rsa'."\n" + .' - ssh-dss'."\n" + .' - ecdsa', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeKeyPairs' => [ + 'summary' => '调用DescribeKeyPairs查询一个或多个密钥对。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28966', + 'abilityTreeNodes' => [ + 'FEATUREecsVSX1ZN', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。支持正则表达式模糊搜索,使用*匹配子表达式,示例:'."\n" + ."\n" + .'- `*SshKey`:查询以SshKey结尾的密钥对名称,包括SshKey。'."\n" + .'- `SshKey*`:查询以SshKey开头的密钥对名称,包括SshKey。'."\n" + .'- `*SshKey*`:查询名称中间有SshKey的密钥对,包括SshKey。'."\n" + .'- `SshKey`:精确匹配SshKey。', + 'type' => 'string', + 'required' => false, + 'example' => '*SshKey*', + ], + ], + [ + 'name' => 'KeyPairFingerPrint', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对的指纹。根据RFC 4716定义的公钥指纹格式,采用MD5信息摘要算法。更多详情,请参见[RFC 4716](https://tools.ietf.org/html/rfc4716)。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ABC1234567', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对列表的页码。起始值:1。'."\n" + ."\n" + .'默认值:1 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。最大值:50。'."\n" + ."\n" + .'默认值:10 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'IncludePublicKey', + 'in' => 'query', + 'schema' => [ + 'description' => '是否在返回结果中包含PublicKey。'."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对所在的企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-amnhr7u7c7hj****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '密钥对的标签键。N的取值范围:1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '密钥对的标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。 ', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '密钥对的总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'KeyPairs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'KeyPair' => [ + 'description' => '密钥对信息集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '密钥对的创建时间。', + 'type' => 'string', + 'example' => '2023-09-04T08:33Z', + ], + 'KeyPairName' => [ + 'description' => '密钥对的名称。', + 'type' => 'string', + 'example' => 'testKeyPairName', + ], + 'KeyPairFingerPrint' => [ + 'description' => '密钥对的指纹。', + 'type' => 'string', + 'example' => 'ABC1234567', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-amnhr7u7c7hj****', + ], + 'PublicKey' => [ + 'description' => '公钥内容。', + 'type' => 'string', + 'example' => 'ssh-rsa****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '密钥对的标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '密钥对的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '密钥对的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"KeyPairs\\": {\\n \\"KeyPair\\": [\\n {\\n \\"CreationTime\\": \\"2023-09-04T08:33Z\\",\\n \\"KeyPairName\\": \\"testKeyPairName\\",\\n \\"KeyPairFingerPrint\\": \\"ABC1234567\\",\\n \\"ResourceGroupId\\": \\"rg-amnhr7u7c7hj****\\",\\n \\"PublicKey\\": \\"ssh-rsa****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 2\\n 1\\n \\n \\n 2023-09-04T08:33Z\\n \\n testKeyPairName\\n ABC1234567\\n \\n \\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', + 'title' => '查询密钥对列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AttachKeyPair' => [ + 'summary' => '绑定一个SSH密钥对到一台或多台Linux实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '28792', + 'abilityTreeNodes' => [ + 'FEATUREecsI3PVYS', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '绑定SSH密钥对的实例ID。取值可以由多台实例ID组成一个JSON数组,最多支持50个ID,ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => true, + 'example' => '["i-bp1gtjxuuvwj17zr****", "i-bp17b7zrsbjwvmfy****", … "i-bp1h6jmbefj1ytos****"]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'KeyPairName' => [ + 'description' => '密钥对的名称。', + 'type' => 'string', + 'example' => 'testKeyPairName', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '绑定密钥对的实例总数量。', + 'type' => 'string', + 'example' => '2', + ], + 'FailCount' => [ + 'description' => '绑定密钥对失败的实例数量。', + 'type' => 'string', + 'example' => '0', + ], + 'Results' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Result' => [ + 'description' => '绑定密钥对成功或失败的结果集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '传递的操作状态码,其中200表示操作成功。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '传递的操作信息,当code=200时,message为successful。', + 'type' => 'string', + 'example' => 'successful', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-m5eg7be9ndloji64****', + ], + 'Success' => [ + 'description' => '此次操作是否成功。', + 'type' => 'string', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidKeyPairName.NotFound', + 'errorMessage' => 'The specified KeyPairName does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceIds.ValueNotSupported', + 'errorMessage' => 'The specified parameter InstanceIds is not valid.', + ], + [ + 'errorCode' => 'DependencyViolation.IoOptimize', + 'errorMessage' => 'The specified parameter InstanceIds is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'DependencyViolation.WindowsInstance', + 'errorMessage' => 'The instance creating is windows, cannot use ssh key pair to login', + ], + [ + 'errorCode' => 'InstanceKeyPairLimitExceeded', + 'errorMessage' => 'The specified instances are beyond the permitted range.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"KeyPairName\\": \\"testKeyPairName\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": \\"2\\",\\n \\"FailCount\\": \\"0\\",\\n \\"Results\\": {\\n \\"Result\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"InstanceId\\": \\"i-m5eg7be9ndloji64****\\",\\n \\"Success\\": \\"true\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}"},{"type":"xml","example":"\\n\\t2\\n\\t4ADF7A06-66BD-4FBF-A2ED-2364E41D8C06\\n\\t\\n\\t\\t\\n\\t\\t\\tsuccessful\\n\\t\\t\\ti-m5eg7be9ndloji64****\\n\\t\\t\\ttrue\\n\\t\\t\\t200\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tsuccessful\\n\\t\\t\\ti-m5e25x2mwr0hk33d****\\n\\t\\t\\ttrue\\n\\t\\t\\t200\\n\\t\\t\\n\\t\\n\\t0\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n"}]', + 'title' => '绑定密钥对到Linux实例', + 'description' => '当您使用该接口时,需要注意:'."\n" + ."\n" + .'- Windows实例不支持SSH密钥对。 '."\n" + .'- 绑定SSH密钥对后,将禁用用户名加密码的验证方式。 '."\n" + .'- 如果实例处于**运行中**(Running)状态,重启实例([RebootInstance](~~25502~~))后,SSH密钥对生效。 '."\n" + .'- 如果实例处于**已停止**(Stopped)状态,启动实例([StartInstance](~~25500~~))后,SSH密钥对生效。 '."\n" + .'- 如果实例已经绑定了SSH密钥对,新的SSH密钥对自动替换原来的SSH密钥对。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachKeyPair' => [ + 'summary' => '为一台或者多台Linux实例解绑SSH密钥对。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29022', + 'abilityTreeNodes' => [ + 'FEATUREecsI3PVYS', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '解绑SSH密钥对的实例ID。取值可以是由多台实例ID组成的一个JSON数组,最多支持50个ID,ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => true, + 'example' => '["i-bp1d6tsvznfghy7y****", "i-bp1ippxbaql9zet7****", … "i-bp1ib7bcz07l****"]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'KeyPairName' => [ + 'description' => '密钥对的名称。', + 'type' => 'string', + 'example' => 'testKeyPairName', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '解绑密钥对的实例总数量。', + 'type' => 'string', + 'example' => '2', + ], + 'FailCount' => [ + 'description' => '解绑密钥对失败的实例数量。', + 'type' => 'string', + 'example' => '0', + ], + 'Results' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Result' => [ + 'description' => '解绑密钥对成功或失败的结果集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => '传递的操作状态码,其中200表示操作成功。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '传递的操作信息。例如,当`Code=200`时,`Message`为`successful`。', + 'type' => 'string', + 'example' => 'successful', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1d6tsvznfghy7y****', + ], + 'Success' => [ + 'description' => '此次操作是否成功。', + 'type' => 'string', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidKeyPairName.NotFound', + 'errorMessage' => 'The specified KeyPairName does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceIds.ValueNotSupported', + 'errorMessage' => 'The specified parameter InstanceIds is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'DependencyViolation.WindowsInstance', + 'errorMessage' => 'The instance creating is windows, cannot use ssh key pair to login.', + ], + [ + 'errorCode' => 'InstanceKeyPairLimitExceeded', + 'errorMessage' => 'The specified instances are beyond the permitted range.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"KeyPairName\\": \\"testKeyPairName\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": \\"2\\",\\n \\"FailCount\\": \\"0\\",\\n \\"Results\\": {\\n \\"Result\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"InstanceId\\": \\"i-bp1d6tsvznfghy7y****\\",\\n \\"Success\\": \\"true\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}"},{"type":"xml","example":"\\n\\t2\\n\\t834B3E6B-2D1D-482F-81A4-810C327D4735\\n\\t\\n\\t\\t\\n\\t\\t\\tsuccessful\\n\\t\\t\\ti-m5eg7be9ndloji64****\\n\\t\\t\\ttrue\\n\\t\\t\\t200\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tsuccessful\\n\\t\\t\\ti-m5e25x2mwr0hk33d****\\n\\t\\t\\ttrue\\n\\t\\t\\t200\\n\\t\\t\\n\\t\\n\\t0\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n"}]', + 'title' => 'Linux实例解绑密钥对', + 'description' => '使用该接口时,请注意:'."\n" + ."\n" + .'- 解绑SSH密钥对后,您需要重启实例([RebootInstance](~~25502~~))使更改生效。 '."\n" + .'- 解绑SSH密钥对后,实例默认使用用户名和密码的验证方式。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteKeyPairs' => [ + 'summary' => '调用DeleteKeyPairs删除一对或者多对SSH密钥对。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28874', + 'abilityTreeNodes' => [ + 'FEATUREecsNMEQ4B', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'KeyPairNames', + 'in' => 'query', + 'schema' => [ + 'description' => 'SSH密钥对名称。取值可以由多个SSH密钥对名称组成一个JSON数组,最多支持100对SSH密钥对,名称之间用半角逗号(,)隔开。'."\n" + ."\n" + .'>在进行删除SSH密钥对前,您可以调用[DescribeKeyPairs](~~51773~~)查询已有密钥对。', + 'type' => 'string', + 'required' => true, + 'example' => '["TestKeyPairName-1", "TestKeyPairName-2", … "TestKeyPairName-100"]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "KeyPairNames" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidKeyPairNames.ValueNotSupported', + 'errorMessage' => 'The specified parameter "KeyPairNames" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.KeypairAlreadyAttachedInstance', + 'errorMessage' => 'The specified parameter "KeyPairNames" attached to instances can not be deleted.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceKeyPairLimitExceeded', + 'errorMessage' => 'Exceeding the allowed amount of instance which will be deleted.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n"}]', + 'title' => '批量删除密钥对', + 'description' => '删除SSH密钥对后,您需要注意:'."\n" + ."\n" + .'- 无法通过[DescribeKeyPairs](~~51773~~)查询该SSH密钥对。 '."\n" + .'- 若已有ECS实例绑定了该SSH密钥对,则该SSH密钥对不支持被删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateLaunchTemplate' => [ + 'summary' => '创建一个ECS实例启动模板,简称模板。实例启动模板能免除每次创建实例时都需要填入大量配置参数。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29253', + 'abilityTreeNodes' => [ + 'FEATUREecsIZ42RQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TemplateTag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '启动模版自身的标签对信息。'."\n" + ."\n" + .'> 当前仅支持通过API创建和查询启动模板的标签,控制台无法创建或查看。', + 'type' => 'array', + 'items' => [ + 'description' => '启动模版自身的标签对信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '启动模板的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '启动模板的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => true, + 'example' => 'testLaunchTemplateName', + ], + ], + [ + 'name' => 'VersionDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板的版本描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testVersionDescription', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID,启动实例时选择的镜像资源。您可以通过[DescribeImages](~~25534~~)查询您可以使用的镜像资源。', + 'type' => 'string', + 'required' => false, + 'example' => 'win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd', + ], + ], + [ + 'name' => 'ImageOwnerAlias', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像来源。取值范围:'."\n" + ."\n" + .'- system:阿里云提供的公共镜像。'."\n" + .'- self:您创建的自定义镜像。'."\n" + .'- others:其他阿里云用户共享给您的镜像。'."\n" + .'- marketplace:[云市场](https://market.aliyun.com/)[云市场](https://marketplace.alibabacloud.com/)提供的镜像。您查询到的云市场镜像可以直接使用,无需提前订阅。您需要自行留意云市场镜像的收费详情。', + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用镜像预设的密码。'."\n" + ."\n" + .'> 使用该参数时,Password参数必须为空,同时您需要确保使用的镜像已经设置了密码。 ', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的资源规格。更多信息,请参见[实例规格族](~~25378~~),也可以调用[DescribeInstanceTypes](~~25620~~)接口获得最新的规格表。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定新创建实例所属于的安全组ID。同一个安全组内的实例之间可以互相访问,一个安全组最多能管理1000台实例。'."\n" + ."\n" + .'> 不支持同时指定`SecurityGroupId`和`SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有网络VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp12433upq1y5scen****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建VPC类型实例时需要指定虚拟交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1s5fnvk4gn2tws0****', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。默认值为实例的`InstanceId`。'."\n" + ."\n" + .'创建多台ECS实例时,您可以批量设置有序的实例名称,并且可以包含方括号([])和逗号(,)。具体操作,请参见[批量设置有序的实例名称或主机名称](~~196048~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-node-[1,4]-alibabacloud', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '实例描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testECSDescription', + ], + ], + [ + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => [ + 'description' => '公网入带宽最大值,单位为Mbit/s。取值范围:'."\n" + ."\n" + .'- 当所购公网出带宽小于等于10 Mbit/s时:1~10,默认为10。'."\n" + .'- 当所购公网出带宽大于10 Mbit/s时:1~`InternetMaxBandwidthOut`的取值,默认为`InternetMaxBandwidthOut`的取值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s。取值范围为0~100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务器的主机名。'."\n" + ."\n" + .'- 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- Windows实例:字符长度为2~15,不支持半角句号(.),不能全是数字。允许大小写英文字母、数字和短划线(-)。'."\n" + .'- 其他类型实例(Linux等):字符长度为2~64,支持多个半角句号(.),半角句号之间为一段,每段允许大小写英文字母、数字和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testHostName', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。您可以通过参数`SystemDisk.PerformanceLevel`设置云盘的性能等级。'."\n" + .'- cloud_auto:ESSD AutoPL 云盘'."\n" + .'- cloud_essd_entry:ESSD Entry 云盘。'."\n" + ."\n" + .'已停售的实例规格且非I/O优化实例默认值为cloud,否则默认值为cloud_efficiency。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘大小,单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud:20~500。'."\n" + .'- 其他云盘种类:20~2048。'."\n" + ."\n" + .'该参数的取值必须大于或者等于max{20, ImageSize}。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '40', + ], + ], + [ + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testSystemDiskName', + ], + ], + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testSystemDiskDescription', + ], + ], + [ + 'name' => 'SystemDisk.Iops', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。取值范围:'."\n" + ."\n" + .'- PL0(默认):单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL0', + ], + ], + [ + 'name' => 'SystemDisk.DeleteWithInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘是否随实例释放。取值范围:'."\n" + ."\n" + .'- true:随实例释放。'."\n" + .'- false:不随实例释放。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘采用的自动快照策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-gc7c37d4ylw7mtnk****', + ], + ], + [ + 'name' => 'SystemDisk.ProvisionedIops', + 'in' => 'query', + 'schema' => [ + 'description' => 'ESSD AutoPL云盘预配置读写IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}'."\n" + ."\n" + .'> 当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)和[修改ESSD AutoPL云盘预配置信息](~~413275~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + ], + [ + 'name' => 'SystemDisk.BurstingEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。取值范围:'."\n" + ."\n" + .'- none:非I/O优化。'."\n" + .'- optimized:I/O优化。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的计费方式。取值范围:'."\n" + ."\n" + .'- PrePaid:包年包月。选择该类付费方式时,您必须确认自己的账号支持余额支付和信用支付您必须确认自己的账号支持信用支付,否则将返回`InvalidPayMethod`的错误提示。'."\n" + .'- PostPaid:按量付费。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买资源的时长,单位为:月。当创建实例时,参数`InstanceChargeType`取值为`PrePaid`时该参数才生效且为必选值。取值范围:1、2、3、4、5、6、7、8、9、12、24、36、48、60。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络计费方式。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'EnableVmOsConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例操作系统配置。'."\n" + .'> 该参数即将被弃用,为提高兼容性,请尽量使用其他参数。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例网络类型。取值范围:'."\n" + ."\n" + .'- classic:经典网络。'."\n" + .'- vpc:专有网络VPC。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => '实例自定义数据,需要以Base64方式编码,原始数据最多为32 KB。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZWNobyBoZWxsbyBlY3Mh', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。'."\n" + ."\n" + .'- Windows实例,忽略该参数。即使填写了该参数,仍旧只执行`Password`的内容。'."\n" + .'- Linux实例的密码登录方式会被初始化成禁止。', + 'type' => 'string', + 'required' => false, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例RAM角色名称。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色。', + 'type' => 'string', + 'required' => false, + 'example' => 'testRamRoleName', + ], + ], + [ + 'name' => 'AutoReleaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => '自动释放时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间。格式为:yyyy-MM-ddTHH:mm:ssZ。'."\n" + ."\n" + .'- 如果秒(`ss`)取值不是`00`,则自动取为当前分钟(`mm`)开始时。'."\n" + ."\n" + .'- 最短释放时间为当前时间半小时之后。'."\n" + ."\n" + .'- 最长释放时间不能超过当前时间三年。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-01-01T12:05:00Z', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '按量实例的抢占策略。当参数`InstanceChargeType`取值为`PostPaid`时生效。取值范围:'."\n" + ."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '设置实例的每小时最高价格。支持最大3位小数,参数`SpotStrategy`取值为`SpotWithPriceLimit`时生效。 ', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'maximum' => '999999', + 'minimum' => '0', + 'example' => '0.97', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:'."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'> 当SpotStrategy值为SpotWithPriceLimit或SpotAsPriceGo时该参数生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例、块存储和弹性网卡所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'TemplateResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为操作系统开启安全加固。取值范围:'."\n" + ."\n" + .'- Active:启用安全加固,只对公共镜像生效。'."\n" + .'- Deactive:不启用安全加固,对所有镜像类型生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Deactive', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '实例私网IP地址。'."\n" + ."\n" + .'专有网络VPC类型ECS实例设置私网IP地址时,必须从虚拟交换机(`VSwitchId`)的空闲网段中选择。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.**.**', + ], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp1brhwhoqinyjd6****', + ], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为主网卡指定随机生成的IPv6地址数量。取值范围为1~10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '数据盘信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '数据盘信息列表。', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => [ + 'description' => '创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。N的取值必须和`DataDisk.N.Category=cloud_essd`中的N保持一致。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1(默认):单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'Description' => [ + 'description' => '数据盘描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDataDiskDescription', + ], + 'SnapshotId' => [ + 'description' => '创建数据盘N使用的快照。N的取值范围为1~16。指定参数`DataDisk.N.SnapshotId`后,参数`DataDisk.N.Size`会被忽略,实际创建的云盘大小为指定的快照的大小。'."\n" + ."\n" + .'>不能使用早于2013年7月15日(含)创建的快照,请求会报错被拒绝。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17441ohwka0yuh****', + ], + 'Size' => [ + 'description' => '第N个数据盘的容量大小,N的取值范围为1~16,内存单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud:5~2000'."\n" + .'- cloud_efficiency:20~32768'."\n" + .'- cloud_ssd:20~32768'."\n" + .'- cloud_essd:具体取值范围与`DataDisk.N.PerformanceLevel`的取值有关。'."\n" + .' - PL0:1~32768。'."\n" + .' - PL1:20~32768。'."\n" + .' - PL2:461~32768。'."\n" + .' - PL3:1261~32768。'."\n" + .'- cloud_auto:1~32,768。'."\n" + .'- cloud_essd_entry:10~32,768。'."\n" + ."\n" + .'该参数的取值必须大于等于参数`SnapshotId`指定的快照的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + 'Device' => [ + 'description' => '数据盘的挂载点。挂载的数据盘数量不同,挂载点的命名不同:'."\n" + .'- 1~25块数据盘:/dev/xvd`[b-z]`'."\n" + ."\n" + .'- 大于25块数据盘:/dev/xvd`[aa-zz]`,例如第26块数据盘会被命名为/dev/xvdaa,第27块数据盘为/dev/xvdab,以此类推。'."\n" + ."\n" + .'> 该参数仅用于全镜像(整机镜像)场景。您可以通过将此参数设置为全镜像中数据盘对应的挂载点,并修改对应的`DataDisk.N.Size`和`DataDisk.N.Category`参数,达到修改全镜像中数据盘磁盘种类和大小的目的。', + 'type' => 'string', + 'required' => false, + 'example' => '/dev/xvdb'."\n", + ], + 'DiskName' => [ + 'description' => '数据盘名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDataDiskName', + ], + 'Category' => [ + 'description' => '数据盘n的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL 云盘'."\n" + .'- cloud_essd_entry:ESSD Entry 云盘。'."\n" + ."\n" + .'I/O优化实例的默认值为cloud_efficiency,非I/O优化实例的默认值为cloud。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + 'DeleteWithInstance' => [ + 'description' => '表示数据盘是否随实例释放。取值范围:'."\n" + ."\n" + .'- true:随实例释放。'."\n" + .'- false:不随实例释放。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'Encrypted' => [ + 'description' => '数据盘是否加密。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '数据盘采用的自动快照策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-m5e7fa9ute44ssa****', + ], + 'ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置读写IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}'."\n" + ."\n" + .'> 当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)和[修改ESSD AutoPL云盘预配置信息](~~413275~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'KMSKeyId' => [ + 'description' => '数据盘对应的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'NetworkInterface', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡信息。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡信息。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '弹性网卡所属的虚拟交换机ID。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围为1~2,设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡;设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数。此时该参数的作用等同于`VSwitchId`,但需要注意不能同时设置`VSwitchId`参数。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的虚拟交换机。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1s5fnvk4gn2tws0****', + ], + 'NetworkInterfaceName' => [ + 'description' => '弹性网卡名称。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围为1~2,设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡;设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testEniName', + ], + 'Description' => [ + 'description' => '辅助弹性网卡描述信息。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。`NetworkInterface.N`的N取值不能大于1。', + 'type' => 'string', + 'required' => false, + 'example' => 'testEniDescription', + ], + 'SecurityGroupId' => [ + 'description' => '弹性网卡所属的安全组ID。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围为1~2,设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡;设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数。此时该参数的作用等同于`SecurityGroupId`,但需要注意不能再设置`SecurityGroupId`、`SecurityGroupIds.N`或`NetworkInterface.N.SecurityGroupIds.N`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的安全组。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg****', + ], + 'PrimaryIpAddress' => [ + 'description' => '添加一张弹性网卡并设置主IP地址。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- N的取值范围为1~2:'."\n" + .' - 设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡。如果`Amount`参数取值大于1,且设置了主网卡并设置了该参数,则表示在批量创建ECS实例时,以指定的主IP地址为起始地址,依次为多台ECS实例分配连续的主IP地址,但需要注意,此时不支持再为实例绑定辅助网卡。'."\n" + .' - 设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡,但需要注意,如果`Amount`参数取值大于1且已为主网卡设置了该参数,则不支持再设置辅助网卡(即不支持再设置`NetworkInterface.2.InstanceType=Secondary`)。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则该参数的作用等同于`PrivateIpAddress`,但需要注意不能同时设置`PrivateIpAddress`参数。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,表示为辅助网卡设置主IP地址。默认从网卡所属的交换机网段中随机选择一个IP地址。'."\n" + ."\n" + .'> 创建ECS实例时,您最多能添加一张辅助网卡。实例创建成功后,您可以调用[CreateNetworkInterface](~~58504~~)和[AttachNetworkInterface](~~58515~~)添加更多的辅助网卡。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + 'SecurityGroupIds' => [ + 'description' => '弹性网卡所属的一个或多个安全组ID。'."\n" + ."\n" + .'- 第一个N的取值范围为1~2,设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡;设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡。'."\n" + .'- 第二个N表示可以指定一个或多个安全组ID。N的取值范围与实例能够加入安全组配额有关,更多信息,请参见[安全组限制](~~25412#SecurityGroupQuota1~~)。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数或`NetworkInterface.N.SecurityGroupId`。此时该参数的作用等同于`SecurityGroupIds.N`,但需要注意不能再设置`SecurityGroupId`、`SecurityGroupIds.N`或`NetworkInterface.N.SecurityGroupId`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的安全组。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡所属的一个或多个安全组ID。'."\n" + ."\n" + .'- 第一个N的取值范围为1~2,设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡;设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡。'."\n" + .'- 第二个N表示可以指定一个或多个安全组ID。N的取值范围与实例能够加入安全组配额有关,更多信息,请参见[安全组限制](~~25412#SecurityGroupQuota1~~)。'."\n" + ."\n" + .'您需要注意:'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Primary`,则必须设置该参数或`NetworkInterface.N.SecurityGroupId`。此时该参数的作用等同于`SecurityGroupIds.N`,但需要注意不能再设置`SecurityGroupId`、`SecurityGroupIds.N`或`NetworkInterface.N.SecurityGroupId`。'."\n" + ."\n" + .'- 如果`NetworkInterface.N.InstanceType`取值为`Secondary`或空值,则该参数为非必填参数。默认值为ECS实例所属的安全组。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + 'maxItems' => 16, + ], + 'InstanceType' => [ + 'description' => '弹性网卡类型。N的取值范围为1~2,设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡;设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡。'."\n" + ."\n" + .'参数取值范围:'."\n" + ."\n" + .'- Primary:主网卡。'."\n" + .'- Secondary:辅助网卡。'."\n" + ."\n" + .'默认值:Secondary。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'Secondary', + ], + 'NetworkInterfaceTrafficMode' => [ + 'description' => '主网卡的通讯模式。参数取值范围:'."\n" + ."\n" + .'- Standard:使用TCP通讯模式。'."\n" + .'- HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + 'DeleteOnRelease' => [ + 'description' => '释放实例时是否保留网卡。取值范围:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n" + .'>该参数只对辅助网卡生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 8, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '通过该模板的版本创建的实例、云盘和主网卡的标签信息。'."\n" + ."\n" + .'
'."\n" + .'使用场景'."\n" + .'通过调用CreateLaunchTemplate接口创建模版后,使用自动生成的默认版本来创建实例时,将使用此标签来标记实例、云盘和主网卡。'."\n" + .'
', + 'type' => 'array', + 'items' => [ + 'description' => '通过该模板的版本创建的实例、云盘和主网卡的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '通过该模板的版本创建的实例、云盘和主网卡的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 aliyun 和 acs:开头,不能包含 http://或 https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '通过该模板的版本创建的实例、云盘和主网卡的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能包含 http://或者 https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SecurityGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例加入的一个或多个安全组。N的取值范围与实例能够加入安全组配额有关,更多信息,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'> 不支持同时指定`SecurityGroupId`和`SecurityGroupIds.N`。', + 'type' => 'array', + 'items' => [ + 'description' => '实例加入的一个或多个安全组。N的取值范围与实例能够加入安全组配额有关,更多信息,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'> 不支持同时指定`SecurityGroupId`和`SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + ], + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + 'maxItems' => 16, + ], + ], + [ + 'name' => 'SystemDisk.Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘是否加密。取值范围:'."\n" + ."\n" + .'- true:加密。'."\n" + .'- false:不加密。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>中国香港D可用区、新加坡A可用区暂不支持在创建实例时加密系统盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => '实例释放保护属性,指定是否支持通过控制台或API([DeleteInstance](~~25507~~))释放实例。取值范围:'."\n" + .'- true:开启实例释放保护。'."\n" + ."\n" + .'- false:关闭实例释放保护。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => [ + 'description' => '设置突发性能实例的运行模式。取值范围:'."\n" + ."\n" + .'- Standard:标准模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的性能约束模式章节。'."\n" + .'- Unlimited:无性能约束模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的无性能约束模式章节。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否要自动续费。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false:不自动续费。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 当参数`InstanceChargeType`取值`PrePaid`时才生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '单次自动续费的续费时长。取值范围: '."\n" + .' '."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3。'."\n" + .'- PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月计费方式的时长单位。取值范围: '."\n" + ."\n" + .''."\n" + .'- Week。'."\n" + .'- Month(默认)。'."\n" + ."\n" + .''."\n" + ."\n" + .'Month(默认)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例元数据的访问通道。取值范围:'."\n" + ."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值:enabled。'."\n" + ."\n" + .'> 有关实例元数据的信息,请参见[实例元数据概述](~~108460~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'enabled', + ], + ], + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => [ + 'description' => '访问实例元数据时是否强制使用加固模式(IMDSv2)。取值范围:'."\n" + ."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。设置该取值后,普通模式无法访问实例元数据。'."\n" + ."\n" + .'默认值:optional。'."\n" + ."\n" + .'> 有关访问实例元数据的模式,请参见[实例元数据概述](~~108460~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'optional', + ], + ], + [ + 'name' => 'HttpPutResponseHopLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'SystemDisk.KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘对应的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + [ + 'name' => 'ImageOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '镜像相关属性信息。', + 'type' => 'object', + 'properties' => [ + 'LoginAsNonRoot' => [ + 'description' => '使用该镜像的实例是否支持使用ecs-user用户登录。'."\n" + .'可能值:'."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SecurityOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '安全选项。', + 'type' => 'object', + 'properties' => [ + 'TrustedSystemMode' => [ + 'description' => '可信系统模式。取值:vTPM。'."\n" + ."\n" + .'目前,可信系统模式支持的实例规格族:'."\n" + .'- g7、c7、r7。'."\n" + .'- 安全增强型(g7t、c7t、r7t)。'."\n" + ."\n" + .'当您创建以上实例规格族的ECS实例时,需要设置该参数。具体说明如下:'."\n" + ."\n" + .'- 如果您使用阿里云可信系统,请将该参数值设置为vTPM,在实例启动时即可通过阿里云可信系统完成可信校验。'."\n" + .'- 如果您不使用阿里云可信系统,可以不设置该参数值,但您需要注意,如果您所创建的ECS实例使用了Enclave机密计算模式(`SecurityOptions.ConfidentialComputingMode=Enclave`),则该ECS实例也会启用可信系统。'."\n" + .'- 通过OpenAPI创建可信系统的ECS实例时,只能调用`RunInstances`实现,`CreateInstance`目前不支持设置`SecurityOptions.TrustedSystemMode`参数。'."\n" + .'>如果您在创建实例的时候指定其为可信实例,那么当您更换系统盘时只能使用支持可信系统的镜像。'."\n" + ."\n" + .'关于可信系统的更多信息,请参见[安全增强型实例可信功能概述](~~201394~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'vTPM', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'LaunchTemplateId' => [ + 'description' => '实例启动模板ID。', + 'type' => 'string', + 'example' => 'lt-m5eiaupmvm2op9d****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'LaunchTemplateVersionNumber' => [ + 'description' => '实例启动模板版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegion.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidLaunchTemplateName.Malformed', + 'errorMessage' => 'The specified parameter LaunchTemplateName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "VersionDescription" is not valid.', + ], + [ + 'errorCode' => 'InvalidUserData.SizeExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidUserData.Base64FormatInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidHostName.Malformed', + 'errorMessage' => 'The specified parameter "HostName" is not valid.', + ], + [ + 'errorCode' => 'InvalidParams.CreateEniParams', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'LaunchTemplateLimitExceed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'LaunchTemplateName.Duplicated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"LaunchTemplateId\\": \\"lt-m5eiaupmvm2op9d****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"LaunchTemplateVersionNumber\\": 20\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n lt-m5eiaupmvm2op9d****\\n 2\\n","errorExample":""}]', + 'title' => '创建实例启动模板', + 'description' => '调用CreateLaunchTemplate创建模板后,会自动生成该模板的一个默认版本,版本号为1,您后续可以基于该模板创建多个版本(`CreateLaunchTemplateVersion`),版本号从1开始顺序递增。如果您在创建实例([RunInstances](~~63440~~))时不指定模板版本号,会采用默认版本。'."\n" + ."\n" + .'实例启动模板的版本中包含用于创建实例的相关配置,例如实例所属地域、镜像ID、实例规格、安全组ID和公网带宽等。如果版本中没有指定某一实例配置,您需要在创建实例时为实例指定该配置。'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 每个账号在一个地域最多能创建30个实例启动模板,且每个模板最多能有30个版本。'."\n" + ."\n" + .'- 实例启动模板的参数大多数为可选参数。创建模板时,阿里云不会验证模板中参数取值的存在性和有效性。只会在真正创建实例时校验参数取值的有效性。'."\n" + ."\n" + .'- 如果实例启动模板中设置了某一配置,创建实例([RunInstances](~~63440~~))时就无法过滤掉该配置。例如,如果模板设置了`HostName=LocalHost`,`RunInstances`中`HostName`取值为空时,实例的主机名依然是`LocalHost`。如果您想覆盖`HostName=LocalHost`这一配置,可以在`RunInstances`中取`HostName=MyHost`或其他参数值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeLaunchTemplates' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28967', + 'abilityTreeNodes' => [ + 'FEATUREecsIZ42RQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TemplateTag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '启动模版自身的标签对信息列表。'."\n" + .'> 当前仅支持通过API创建和查询启动模板的标签,控制台无法创建或查看。', + 'type' => 'array', + 'items' => [ + 'description' => '启动模版自身的标签对信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '启动模板的标签键。N的取值范围:1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '启动模板的标签值。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板列表的页码。起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'TemplateResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板所在的企业资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxazb4p****', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个实例启动模板ID数组。'."\n" + ."\n" + .'- 最多支持查询100个启动模板。'."\n" + ."\n" + .'- 您必须指定LaunchTemplateId或LaunchTemplateName以确定模板。', + 'type' => 'array', + 'items' => [ + 'description' => '实例启动模板ID。'."\n" + ."\n" + .'- 最多支持查询100个启动模板。'."\n" + ."\n" + .'- 您必须指定LaunchTemplateId或LaunchTemplateName以确定模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-m5e3ofjr1zn1aw7q****', + ], + 'required' => false, + 'example' => 'lt-m5e3ofjr1zn1aw7q****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个实例启动模板名称数组。'."\n" + ."\n" + .'- 最多支持查询100个启动模板。'."\n" + ."\n" + .'- 您必须指定LaunchTemplateId或LaunchTemplateName以确定模板。', + 'type' => 'array', + 'items' => [ + 'description' => '实例启动模板的名称。'."\n" + ."\n" + .'- 最多支持查询100个启动模板。'."\n" + ."\n" + .'- 您必须指定LaunchTemplateId或LaunchTemplateName以确定模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'wd-152630748****', + ], + 'required' => false, + 'example' => 'wd-152630748****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE12CBA', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '实例启动模板总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LaunchTemplateSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateSet' => [ + 'description' => '实例启动模板的信息集合列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例启动模板的信息集合。', + 'type' => 'object', + 'properties' => [ + 'LaunchTemplateName' => [ + 'description' => '模板名称。', + 'type' => 'string', + 'example' => 'wd-152630748****', + ], + 'DefaultVersionNumber' => [ + 'description' => '模板默认版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'ModifiedTime' => [ + 'description' => '模板新增或删除版本的时间。'."\n" + ."\n" + .'按照ISO 8601标准表示,使用UTC时间。格式为:yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2018-05-14T14:18:00Z', + ], + 'LaunchTemplateId' => [ + 'description' => '模板ID。', + 'type' => 'string', + 'example' => 'lt-m5e3ofjr1zn1aw7q****', + ], + 'CreateTime' => [ + 'description' => '启动模板创建时间。'."\n" + ."\n" + .'按照ISO 8601标准表示,使用UTC时间。格式为:yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2018-05-14T14:18:00Z', + ], + 'ResourceGroupId' => [ + 'description' => '启动模板所在的企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-acfmxazb4p****', + ], + 'CreatedBy' => [ + 'description' => '模板的创建者,即阿里云账号ID。', + 'type' => 'string', + 'example' => '20169351435666****', + ], + 'LatestVersionNumber' => [ + 'description' => '模板最新版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '启动模版自身的标签对信息列表。'."\n" + ."\n\n" + .'> 当前仅支持通过API创建和查询启动模板的标签,控制台无法创建或查看。', + 'type' => 'array', + 'items' => [ + 'description' => '启动模版自身的标签对信息列表。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '启动模板的标签键。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '启动模板的标签值。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegion.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InnerServiceFailed', + 'errorMessage' => '%s', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + 503 => [ + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE12CBA\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"LaunchTemplateSets\\": {\\n \\"LaunchTemplateSet\\": [\\n {\\n \\"LaunchTemplateName\\": \\"wd-152630748****\\",\\n \\"DefaultVersionNumber\\": 1,\\n \\"ModifiedTime\\": \\"2018-05-14T14:18:00Z\\",\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7q****\\",\\n \\"CreateTime\\": \\"2018-05-14T14:18:00Z\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4p****\\",\\n \\"CreatedBy\\": \\"20169351435666****\\",\\n \\"LatestVersionNumber\\": 1,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t04F0F334-1335-436C-A1D7-6C044FE12CBA\\r\\n\\t1\\r\\n\\t1\\r\\n\\t10\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t2018-05-14T14:18:00Z\\r\\n\\t\\t\\t2018-05-14T14:18:00Z\\r\\n\\t\\t\\tlt-m5e3ofjr1zn1aw7****\\r\\n\\t\\t\\twd-152630748****\\r\\n\\t\\t\\t1\\r\\n\\t\\t\\t1\\r\\n\\t\\t\\t194211134971****\\r\\n\\t\\t\\r\\n\\t\\r\\n","errorExample":""}]', + 'title' => '查询一个或多个可用的实例启动模板', + 'summary' => '调用DescribeLaunchTemplates接口,并可以指定TemplateTag、TemplateResourceGroupId、LaunchTemplateId等参数,查询一个或多个实例启动模板的信息,例如启动模板总个数、模板创建时间、模板最新版本号等信息集合。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteLaunchTemplate' => [ + 'summary' => '指定参数LaunchTemplateId或LaunchTemplateName删除目标地域下的一个实例启动模板。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28875', + 'abilityTreeNodes' => [ + 'FEATUREecsYZ506D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板ID。更多信息,请参见[DescribeLaunchTemplates](~~73759~~)。'."\n" + ."\n" + .'您必须指定 `LaunchTemplateId` 或 `LaunchTemplateName` 以确定启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-bp1apo0bbbkuy0rj****', + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板名称。'."\n" + ."\n" + .'您必须指定`LaunchTemplateId`或`LaunchTemplateName`以确定启动模板。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'testLaunchTemplateName', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'LaunchTemplateId' => [ + 'description' => '启动模板ID。更多信息,请参见[DescribeLaunchTemplates](~~73759~~)。'."\n" + ."\n" + .'使用启动模板创建实例时,您必须指定`LaunchTemplateId`或`LaunchTemplateName`以确定启动模板。', + 'type' => 'string', + 'example' => 'lt-bp1apo0bbbkuy0rj****', + ], + 'LaunchTemplateVersionNumbers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'versionNumbers' => [ + 'description' => '删除的实例启动模板版本号集合。', + 'type' => 'array', + 'items' => [ + 'description' => '删除的实例启动模板版本号集合。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '[3,2,1]', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegion.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InnerServiceFailed', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LaunchTemplateId\\": \\"lt-bp1apo0bbbkuy0rj****\\",\\n \\"LaunchTemplateVersionNumbers\\": {\\n \\"versionNumbers\\": [\\n 0\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n lt-bp1apo0bbbkuy0rj****\\n [1,2,3]\\n","errorExample":""}]', + 'title' => '删除实例启动模板', + 'description' => '调用该接口时,您需要注意:'."\n" + .'- 删除启动模板后,已通过启动模板创建的ECS实例不受影响。'."\n" + ."\n" + .'- 删除启动模板后,模板下的所有版本也将被同步删除且无法恢复,如果您只想删除启动模板下的某个版本,请参考[DeleteLaunchTemplateVersion](~~2679735~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateLaunchTemplateVersion' => [ + 'summary' => '在指定的ECS实例启动模板下创建一个新版本用于后续创建ECS实例、弹性伸缩组或弹性供应组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29254', + 'abilityTreeNodes' => [ + 'FEATUREecsV7EC6D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板ID。更多信息,请调用[DescribeLaunchTemplates](~~73759~~)。您必须指定`LaunchTemplateId`或`LaunchTemplateName`以确定启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-m5eiaupmvm2op9d****', + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testLaunchTemplateName', + ], + ], + [ + 'name' => 'VersionDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板版本的描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testVersionDescription', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID,启动实例时选择的镜像资源。您可以通过[DescribeImages](~~25534~~)查询您可以使用的镜像资源。', + 'type' => 'string', + 'required' => false, + 'example' => 'win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd', + ], + ], + [ + 'name' => 'ImageOwnerAlias', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像来源。'."\n" + .'> 该参数即将被弃用,为提高兼容性,请尽量使用其他参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用镜像预设的密码。取值范围:'."\n" + .'- true。'."\n" + .'- false。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 使用该参数时,Password参数必须为空。同时您需要确保使用的镜像已经设置了密码。 '."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的规格。更多信息,请参见[实例规格族](~~25378~~),您也可以调用[DescribeInstanceTypes](~~25620~~)接口获得最新的规格表。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定使用该版本创建实例所属于的安全组ID。同一个安全组内的实例之间可以互相访问。'."\n" + ."\n" + .'> 不支持同时指定`SecurityGroupId`和`SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属专有网络VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp12433upq1y5scen****', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'description' => '创建VPC类型实例时需要指定虚拟交换机ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1s5fnvk4gn2tws0****', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。默认值为实例的`InstanceId`。'."\n" + ."\n" + .'创建多台ECS实例时,您可以批量设置有序的实例名称,并且可以包含方括号([])和逗号(,)。具体操作,请参见[批量设置有序的实例名称或主机名称](~~196048~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-node-[1,4]-alibabacloud', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '实例描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => [ + 'description' => '公网入带宽最大值,单位为Mbit/s。取值范围:'."\n" + ."\n" + .'- 当所购公网出带宽小于等于10 Mbit/s时:1~10,默认为10。'."\n" + .'- 当所购公网出带宽大于10 Mbit/s时:1~`InternetMaxBandwidthOut`的取值,默认为`InternetMaxBandwidthOut`的取值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s。取值范围为0~100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => '云服务器的主机名。'."\n" + ."\n" + .'- 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- Windows实例:字符长度为2~15,不支持半角句号(.),不能全是数字。允许大小写英文字母、数字和短划线(-)。'."\n" + .'- 其他类型实例(Linux等):字符长度为2~64,支持多个半角句号(.),半角句号之间为一段,每段允许大小写英文字母、数字和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testHostName', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_essd:ESSD云盘。您可以通过参数`SystemDisk.PerformanceLevel`设置云盘的性能等级。'."\n" + .'- cloud_essd_entry:ESSD Entry 云盘。'."\n" + ."\n" + .'已停售的实例规格且非I/O优化实例默认值为cloud,否则默认值为cloud_efficiency。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘大小,单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud:20~500。'."\n" + .'- 其他云盘种类:20~2048。'."\n" + ."\n" + .'该参数的取值必须大于或者等于max{20, ImageSize}。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '40', + ], + ], + [ + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssdSystem', + ], + ], + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testSystemDiskDescription', + ], + ], + [ + 'name' => 'SystemDisk.Iops', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30000', + ], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。取值范围:'."\n" + ."\n" + .'- PL0(默认):单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL0', + ], + ], + [ + 'name' => 'SystemDisk.DeleteWithInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘是否随实例释放。取值范围:'."\n" + ."\n" + .'- true:随实例释放。'."\n" + .'- false:不随实例释放。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘采用的自动快照策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp1dgzpaxwc4load****', + ], + ], + [ + 'name' => 'SystemDisk.ProvisionedIops', + 'in' => 'query', + 'schema' => [ + 'description' => '是否修改ESSD AutoPL云盘预配置读写IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}。'."\n" + ."\n" + .'> 当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)和[修改ESSD AutoPL云盘预配置信息](~~413275~~)。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + ], + [ + 'name' => 'SystemDisk.BurstingEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。取值范围:'."\n" + ."\n" + .'- none:非I/O优化。'."\n" + .'- optimized:I/O优化。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的计费方式。取值范围:'."\n" + ."\n" + .''."\n" + .'- PrePaid:包年包月。选择该类计费方式时,您必须确认自己的账号支持余额支付和信用支付,否则将返回`InvalidPayMethod`的错误提示。'."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .''."\n" + .''."\n" + .'- PrePaid:包年包月。选择该类计费方式时,您必须确认自己的账号支持信用支付,否则将返回`InvalidPayMethod`的错误提示。'."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .''."\n" + .''."\n" + .'- PrePaid:包年包月。选择该类计费方式时,您必须确认自己的账号支持信用支付,否则将返回`InvalidPayMethod`的错误提示。'."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .''."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买资源的时长,单位为:月。当参数`InstanceChargeType`取值为`PrePaid`时该参数才生效且为必选值。取值范围:1、2、3、4、5、6、7、8、9、12、24、36、48、60。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出方向带宽计费方式。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'> **按使用流量计费**模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用**按固定带宽计费**模式。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'EnableVmOsConfig', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例操作系统配置。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例网络类型。取值范围:'."\n" + ."\n" + .'- classic:经典网络。'."\n" + .'- vpc:专有网络VPC。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => '实例自定义数据,需要以Base64方式编码,原始数据最多为32 KB。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZWNobyBoZWxsbyBl****', + ], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。'."\n" + ."\n" + .'- Windows实例,忽略该参数。即使填写了该参数,仍旧只执行`Password`的内容。'."\n" + .'- Linux实例的密码登录方式会被初始化成禁止。', + 'type' => 'string', + 'required' => false, + 'example' => 'testKeyPairName', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例RAM角色名称。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色。', + 'type' => 'string', + 'required' => false, + 'example' => 'testRamRoleName', + ], + ], + [ + 'name' => 'AutoReleaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => '自动释放时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间。格式为:yyyy-MM-ddTHH:mm:ssZ。'."\n" + ."\n" + .'- 如果秒(`ss`)取值不是`00`,则自动取为当前分钟(`mm`)开始时。'."\n" + ."\n" + .'- 最短释放时间为当前时间半小时之后。'."\n" + ."\n" + .'- 最长释放时间不能超过当前时间三年。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-01-01T12:05:00Z', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '按量实例的抢占策略。当参数`InstanceChargeType`取值为`PostPaid`时生效。取值范围:'."\n" + ."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。', + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '设置实例的每小时最高价格。支持最大3位小数。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'maximum' => '999999', + 'minimum' => '0', + 'example' => '0.97', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:'."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'> 当SpotStrategy值为SpotWithPriceLimit或SpotAsPriceGo时该参数生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为操作系统开启安全加固。取值范围:'."\n" + ."\n" + .'- Active:启用安全加固,只对公共镜像生效。'."\n" + .'- Deactive:不启用安全加固,对所有镜像类型生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '实例私网IP地址。'."\n" + ."\n" + .'专有网络VPC类型ECS实例设置私网IP地址时,必须从虚拟交换机(`VSwitchId`)的空闲网段中选择。', + 'type' => 'string', + 'required' => false, + 'example' => '10.1.**.**', + ], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为主网卡指定随机生成的IPv6地址数量。取值范围为1~10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp1brhwhoqinyjd6****', + ], + ], + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '数据盘列表。', + 'type' => 'array', + 'items' => [ + 'description' => '数据盘列表。', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => [ + 'description' => '创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。N的取值必须和`DataDisk.N.Category=cloud_essd`中的N保持一致。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1(默认):单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'Description' => [ + 'description' => '数据盘描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDataDiskDescription', + ], + 'SnapshotId' => [ + 'description' => '创建数据盘N使用的快照。N的取值范围为1~16。指定参数`DataDisk.N.SnapshotId`后,参数`DataDisk.N.Size`会被忽略,实际创建的云盘大小为指定的快照的大小。'."\n" + ."\n" + .'不能使用早于2013年7月15日(含)创建的快照,请求会报错被拒绝。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17441ohwka0yuh****', + ], + 'Size' => [ + 'description' => '第N个数据盘的容量大小,N的取值范围为1~16,内存单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud:5~2000。'."\n" + .'- cloud_efficiency:20~32768。'."\n" + .'- cloud_ssd:20~32768。'."\n" + .'- cloud_essd:具体取值范围与`DataDisk.N.PerformanceLevel`的取值有关。 '."\n" + .' - PL0:1~32768。'."\n" + .' - PL1:20~32768。'."\n" + .' - PL2:461~32768。'."\n" + .' - PL3:1261~32768。'."\n" + .'- cloud_auto:1~32,768。'."\n" + .'- cloud_essd_entry:10~32,768。'."\n" + ."\n" + .'该参数的取值必须大于等于参数`SnapshotId`指定的快照的大小。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2000', + ], + 'Device' => [ + 'description' => '数据盘的挂载点。挂载的数据盘数量不同,挂载点的命名不同:'."\n" + .'- 1~25块数据盘:/dev/xvd`[b-z]`'."\n" + ."\n" + .'- 大于25块数据盘:/dev/xvd`[aa-zz]`,例如第26块数据盘会被命名为/dev/xvdaa,第27块数据盘为/dev/xvdab,以此类推。'."\n" + ."\n" + .'> 该参数仅用于全镜像(整机镜像)场景。您可以通过将此参数设置为全镜像中数据盘对应的挂载点,并修改对应的`DataDisk.N.Size`和`DataDisk.N.Category`参数,达到修改全镜像中数据盘磁盘种类和大小的目的。', + 'type' => 'string', + 'required' => false, + 'example' => '/dev/xvdb'."\n", + ], + 'DiskName' => [ + 'description' => '数据盘名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDataDiskName', + ], + 'Category' => [ + 'description' => '数据盘N的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_auto:ESSD AutoPL云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud_essd_entry:ESSD Entry 云盘。'."\n" + ."\n" + .'I/O优化实例的默认值为cloud_efficiency,非I/O优化实例的默认值为cloud。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + 'DeleteWithInstance' => [ + 'description' => '表示数据盘是否随实例释放。取值范围:'."\n" + ."\n" + .'- true:随实例释放。'."\n" + .'- false:不随实例释放。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'Encrypted' => [ + 'description' => '数据盘是否加密。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + 'ProvisionedIops' => [ + 'description' => '是否修改ESSD AutoPL云盘预配置读写IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}。'."\n" + ."\n" + .'> 当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)和[修改ESSD AutoPL云盘预配置信息](~~413275~~)。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '数据盘采用的自动快照策略ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp67acfmxazb4p****', + ], + 'KMSKeyId' => [ + 'description' => '数据盘对应的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'NetworkInterface', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性网卡信息。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性网卡信息。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '辅助弹性网卡所属的虚拟交换机ID。实例与辅助弹性网卡必须在同一VPC的同一可用区中,可以分属于不同交换机。`NetworkInterface.N`的N取值不能大于1。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1s5fnvk4gn2tws0****', + ], + 'NetworkInterfaceName' => [ + 'description' => '辅助弹性网卡名称。`NetworkInterface.N`的N取值不能大于1。', + 'type' => 'string', + 'required' => false, + 'example' => 'testNetworkInterfaceName', + ], + 'Description' => [ + 'description' => '辅助弹性网卡描述信息。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。`NetworkInterface.N`的N取值不能大于1。', + 'type' => 'string', + 'required' => false, + 'example' => 'testNetworkInterfaceDescription', + ], + 'SecurityGroupId' => [ + 'description' => '辅助弹性网卡所属安全组的ID。辅助弹性网卡的安全组和实例的安全组必须在同一个VPC下。`NetworkInterface.N`的N取值不能大于1。'."\n" + ."\n" + .'> 不支持同时指定`NetworkInterface.N.SecurityGroupId`和`NetworkInterface.N.SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg****', + ], + 'PrimaryIpAddress' => [ + 'description' => '辅助弹性网卡的主私有IP地址。`NetworkInterface.N`的N取值不能大于1。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + 'SecurityGroupIds' => [ + 'description' => '辅助弹性网卡加入的一个或多个安全组。安全组和辅助弹性网卡必须在同一个专有网络VPC中。`SecurityGroupIds.N`的N取值范围与辅助弹性网卡能够加入安全组配额有关。更多信息,请参见[使用限制](~~25412~~)。`NetworkInterface.N`的N取值不能大于1。'."\n" + ."\n" + .'> 不支持同时指定`NetworkInterface.N.SecurityGroupId`和`NetworkInterface.N.SecurityGroupIds.N`。', + 'type' => 'array', + 'items' => [ + 'description' => '辅助弹性网卡加入的一个或多个安全组。安全组和辅助弹性网卡必须在同一个专有网络VPC中。`SecurityGroupIds.N`的N取值范围与辅助弹性网卡能够加入安全组配额有关。更多信息,请参见[使用限制](~~25412~~)。`NetworkInterface.N`的N取值不能大于1。'."\n" + ."\n" + .'> 不支持同时指定`NetworkInterface.N.SecurityGroupId`和`NetworkInterface.N.SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + 'maxItems' => 16, + ], + 'InstanceType' => [ + 'description' => '弹性网卡类型。N的取值范围为1~2,设置1个弹性网卡时,支持设置1个主网卡或1个辅助网卡;设置2个弹性网卡时,仅支持同时设置1个主网卡和1个辅助网卡。'."\n" + ."\n" + .'参数取值范围:'."\n" + ."\n" + .'- Primary:主网卡。'."\n" + .'- Secondary:辅助网卡。'."\n" + ."\n" + .'默认值:Secondary。', + 'type' => 'string', + 'required' => false, + 'example' => 'Secondary', + ], + 'NetworkInterfaceTrafficMode' => [ + 'description' => '主网卡的通讯模式。取值范围:'."\n" + ."\n" + .'- Standard:使用TCP通讯模式。'."\n" + .'- HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + 'DeleteOnRelease' => [ + 'description' => '释放实例时是否保留网卡。取值范围:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n" + .'>该参数只对辅助网卡生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 8, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '通过该版本创建的实例、云盘和主网卡的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '通过该版本创建的实例、云盘和主网卡的标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '通过该版本创建的实例、云盘和主网卡的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 aliyun 和 acs:开头,不能包含 http://或 https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '通过该版本创建的实例、云盘和主网卡的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能包含 http://或者 https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'SecurityGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例加入的一个或多个安全组。N的取值范围与实例能够加入安全组配额有关。更多信息,[使用限制](~~25412~~)。'."\n" + ."\n" + .'> 不支持同时指定`SecurityGroupId`和`SecurityGroupIds.N`。', + 'type' => 'array', + 'items' => [ + 'description' => '实例加入的一个或多个安全组。N的取值范围与实例能够加入安全组配额有关。更多信息,请参见[使用限制](~~25412~~)。'."\n" + ."\n" + .'> 不支持同时指定`SecurityGroupId`和`SecurityGroupIds.N`。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + ], + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg7****', + 'maxItems' => 16, + ], + ], + [ + 'name' => 'SystemDisk.Encrypted', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘是否加密。取值范围:'."\n" + ."\n" + .'- true:加密。'."\n" + ."\n" + .'- false:不加密。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>中国香港D可用区、新加坡A可用区暂不支持在创建实例时加密系统盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => '实例释放保护属性,指定是否支持通过控制台或API([DeleteInstance](~~25507~~))释放实例。取值范围:'."\n" + .'- true:开启实例释放保护。'."\n" + ."\n" + .'- false:关闭实例释放保护。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => [ + 'description' => '设置突发性能实例的运行模式。取值范围:'."\n" + ."\n" + .'- Standard:标准模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的性能约束模式章节。'."\n" + .'- Unlimited:无性能约束模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的无性能约束模式章节。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否要自动续费。当参数`InstanceChargeType`取值`PrePaid`时才生效。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false:不自动续费。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '单次自动续费的续费时长。取值范围: '."\n" + .' '."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3。'."\n" + .'- PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月计费方式的时长单位。取值范围: '."\n" + ."\n" + .''."\n" + .'- Week。'."\n" + .'- Month(默认)。'."\n" + ."\n" + .''."\n" + ."\n" + .'Month(默认)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => [ + 'description' => '是否启用实例元数据的访问通道。取值范围:'."\n" + ."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值:enabled。'."\n" + ."\n" + .'> 有关实例元数据的信息,请参见[实例元数据概述](~~108460~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'enabled', + ], + ], + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => [ + 'description' => '访问实例元数据时是否强制使用加固模式(IMDSv2)。取值范围:'."\n" + ."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。设置该取值后,普通模式无法访问实例元数据。'."\n" + ."\n" + .'默认值:optional。'."\n" + ."\n" + .'> 有关访问实例元数据的模式,请参见[实例元数据概述](~~108460~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'optional', + ], + ], + [ + 'name' => 'HttpPutResponseHopLimit', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'SystemDisk.KMSKeyId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘对应的KMS密钥ID。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + [ + 'name' => 'ImageOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '镜像相关属性信息。', + 'type' => 'object', + 'properties' => [ + 'LoginAsNonRoot' => [ + 'description' => '使用该镜像的实例是否支持使用ecs-user用户登录。'."\n" + .'可能值:'."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SecurityOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '安全选项。', + 'type' => 'object', + 'properties' => [ + 'TrustedSystemMode' => [ + 'description' => '可信系统模式。取值:vTPM。'."\n" + ."\n" + .'目前,可信系统模式支持的实例规格族:'."\n" + .'- g7、c7、r7。'."\n" + .'- 安全增强型(g7t、c7t、r7t)。'."\n" + ."\n" + .'当您创建以上实例规格族的ECS实例时,需要设置该参数。具体说明如下:'."\n" + ."\n" + .'- 如果您使用阿里云可信系统,请将该参数值设置为vTPM,在实例启动时即可通过阿里云可信系统完成可信校验。'."\n" + .'- 如果您不使用阿里云可信系统,可以不设置该参数值,但您需要注意,如果您所创建的ECS实例使用了Enclave机密计算模式(`SecurityOptions.ConfidentialComputingMode=Enclave`),则该ECS实例也会启用可信系统。'."\n" + .'- 通过OpenAPI创建可信系统的ECS实例时,只能调用`RunInstances`实现,`CreateInstance`目前不支持设置`SecurityOptions.TrustedSystemMode`参数。'."\n" + .'>如果您在创建实例的时候指定其为可信实例,那么当您更换系统盘时只能使用支持可信系统的镜像。'."\n" + ."\n" + .'关于可信系统的更多信息,请参见[安全增强型实例可信功能概述](~~201394~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'vTPM', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'LaunchTemplateVersionNumber' => [ + 'description' => '创建成功的启动模板版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DEX****', + ], + 'LaunchTemplateId' => [ + 'description' => '启动模板ID。更多信息,请参见[DescribeLaunchTemplates](~~73759~~)。'."\n" + ."\n" + .'使用启动模板创建实例时,您必须指定`LaunchTemplateId`或`LaunchTemplateName`以确定启动模板。', + 'type' => 'string', + 'example' => 'lt-bp1apo0bbbkuy0rj****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegion.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidUserData.SizeExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidUserData.Base64FormatInvalid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidHostName.Malformed', + 'errorMessage' => 'The specified parameter "HostName" is not valid.', + ], + [ + 'errorCode' => 'InvalidParams.CreateEniParams', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + ], + 403 => [ + [ + 'errorCode' => 'LaunchTemplateVersionLimitExceed', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidLaunchTemplate.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"LaunchTemplateVersionNumber\\": 2,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DEX****\\",\\n \\"LaunchTemplateId\\": \\"lt-bp1apo0bbbkuy0rj****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DEX****\\n lt-bp1apo0bbbkuy0rj****\\n","errorExample":""}]', + 'title' => '在实例启动模板中创建新版本', + 'description' => '## 接口说明'."\n" + .'当您想修改某个版本的参数时,能通过新建模板版本的方式修改。每个实例启动模板最多创建30个版本。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeLaunchTemplateVersions' => [ + 'summary' => '查询ECS实例启动模板版本的信息,例如实例启动模板总数、模板名称、模板版本号等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '65904', + 'abilityTreeNodes' => [ + 'FEATUREecsV7EC6D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板所属的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个实例启动模板版本号。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或多个实例启动模板版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'required' => false, + 'example' => '1', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板ID。'."\n" + ."\n" + .'您必须指定`LaunchTemplateId`或`LaunchTemplateName`以确定模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-bp168lnahrdwl39p****', + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板名称。'."\n" + ."\n" + .'您必须指定`LaunchTemplateId`或`LaunchTemplateName`以确定模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'testLaunchTemplateName', + ], + ], + [ + 'name' => 'MinVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '限定查询的最小版本号。与`MaxVersion`结合使用,可查询最小版本号和最大版本号区间的版本信息。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'MaxVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '限定查询的最大版本号。与`MinVersion`结合使用,可查询最小版本号和最大版本号区间的版本信息。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DefaultVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询默认版本。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DetailFlag', + 'in' => 'query', + 'schema' => [ + 'description' => '是否查询模板配置详细信息。取值范围:'."\n" + ."\n" + .'- true:查询模版配置详细信息,在模版基本信息的基础上,还会返回模版配置细节,如镜像ID、系统盘大小等。'."\n" + ."\n" + .'- false:只查询模版基本信息,如模版ID、模版名称、默认版本等。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '实例启动模板列表的页码。'."\n" + ."\n" + .'起始值:1。 '."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。 '."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '版本信息集合。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '3989ED0C-20A1-4351-A127-2067FF8390AX', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '实例启动模板总数。??????????', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LaunchTemplateVersionSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateVersionSet' => [ + 'description' => '模板版本的信息。', + 'type' => 'array', + 'items' => [ + 'description' => '模板版本的信息。', + 'type' => 'object', + 'properties' => [ + 'LaunchTemplateName' => [ + 'description' => '模板名称。', + 'type' => 'string', + 'example' => 'testLaunchTemplateName', + ], + 'DefaultVersion' => [ + 'description' => '模板是否为默认版本。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'VersionNumber' => [ + 'description' => '模板版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'ModifiedTime' => [ + 'description' => '模板修改时间。', + 'type' => 'string', + 'example' => '2022-01-17T08:40:00Z', + ], + 'LaunchTemplateId' => [ + 'description' => '模板ID。', + 'type' => 'string', + 'example' => 'lt-bp67acfmxazb4p****', + ], + 'CreateTime' => [ + 'description' => '模板创建时间。', + 'type' => 'string', + 'example' => '2022-01-17T08:22:43Z', + ], + 'CreatedBy' => [ + 'description' => '模板的创建者,即阿里云账号ID。', + 'type' => 'string', + 'example' => '123456789****', + ], + 'VersionDescription' => [ + 'description' => '模板版本描述。', + 'type' => 'string', + 'example' => 'testVersionDescription', + ], + 'LaunchTemplateData' => [ + 'description' => '模板具体配置。', + 'type' => 'object', + 'properties' => [ + 'DeploymentSetId' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'example' => 'ds-bp1brhwhoqinyjd6****', + ], + 'VpcId' => [ + 'description' => '专有网络VPC ID。', + 'type' => 'string', + 'example' => 'v-bp67acfmxazb4p****', + ], + 'SystemDisk.PerformanceLevel' => [ + 'description' => '创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。可能值:'."\n" + ."\n" + .'- PL0(默认):单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。'."\n", + 'type' => 'string', + 'example' => 'PL0', + ], + 'KeyPairName' => [ + 'description' => '密钥对名称。', + 'type' => 'string', + 'example' => 'testKeyPairName', + ], + 'SecurityGroupId' => [ + 'description' => '实例的安全组ID。'."\n" + ."\n" + .'> `SecurityGroupId`和`SecurityGroupIds`不会同时返回值。'."\n", + 'type' => 'string', + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'NetworkType' => [ + 'description' => '网络类型。可能值:'."\n" + ."\n" + .'- classic:经典网络。'."\n" + .'- vpc:专有网络VPC。', + 'type' => 'string', + 'example' => 'vpc', + ], + 'SpotStrategy' => [ + 'description' => '按量付费实例的竞价策略。可能值:'."\n" + ."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。', + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'EnableVmOsConfig' => [ + 'description' => '是否启用实例操作系统配置。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Description' => [ + 'description' => '实例描述。', + 'type' => 'string', + 'example' => 'testInstanceDescription', + ], + 'SpotDuration' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 可能值:'."\n" + .'- 1:创建后阿里云会保证实例运行1小时不会被自动释放;超过1小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前5分钟阿里云会通过ECS系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'> 当SpotStrategy值为SpotWithPriceLimit或SpotAsPriceGo时返回该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InstanceName' => [ + 'description' => '实例名称。', + 'type' => 'string', + 'example' => 'testInstanceName', + ], + 'SecurityEnhancementStrategy' => [ + 'description' => '是否开启安全加固。', + 'type' => 'string', + 'example' => 'active', + ], + 'UserData' => [ + 'description' => '实例自定义数据,以Base64方式编码。', + 'type' => 'string', + 'example' => 'SGVsbG9FQ1M=', + ], + 'SystemDisk.DiskName' => [ + 'description' => '系统盘名称。', + 'type' => 'string', + 'example' => 'testSystemDiskName', + ], + 'SystemDisk.Size' => [ + 'description' => '系统盘大小,单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40', + ], + 'SpotPriceLimit' => [ + 'description' => '设置实例的每小时最高价格。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.98', + ], + 'PasswordInherit' => [ + 'description' => '是否继承原镜像里设置的用户名密码。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'PrivateIpAddress' => [ + 'description' => '实例私网IP地址。', + 'type' => 'string', + 'example' => '10.1.**.**', + ], + 'ImageId' => [ + 'description' => '实例使用的镜像ID。', + 'type' => 'string', + 'example' => 'm-bp67acfmxazb4p****', + ], + 'SystemDisk.DeleteWithInstance' => [ + 'description' => '系统盘是否随实例释放。可能值:'."\n" + ."\n" + .'- true:随实例释放。'."\n" + ."\n" + .'- false:不随实例释放。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'SystemDisk.Category' => [ + 'description' => '系统盘的云盘种类。可能值:'."\n" + ."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。您可以通过参数SystemDisk.PerformanceLevel设置云盘的性能等级。'."\n" + ."\n" + .'已停售的实例规格且非I/O优化实例默认值为cloud,否则默认值为cloud_efficiency。', + 'type' => 'string', + 'example' => 'cloud_ssd', + ], + 'AutoReleaseTime' => [ + 'description' => '自动释放时间。', + 'type' => 'string', + 'example' => '2018-05-14T14:18:00Z', + ], + 'SystemDisk.Description' => [ + 'description' => '系统盘描述。', + 'type' => 'string', + 'example' => 'testSystemDiskDescription', + ], + 'ImageOwnerAlias' => [ + 'description' => '镜像来源。可能值:'."\n" + ."\n" + .'- system:阿里云提供的公共镜像。'."\n" + .'- self:您创建的自定义镜像。'."\n" + .'- others:其他阿里云用户共享给您的镜像。'."\n" + .'- marketplace:云市场镜像。', + 'type' => 'string', + 'example' => 'system', + ], + 'HostName' => [ + 'description' => '实例主机名。', + 'type' => 'string', + 'example' => 'testHostName', + ], + 'SystemDisk.Iops' => [ + 'description' => '系统盘总IOPS。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '101800', + ], + 'SystemDisk.AutoSnapshotPolicyId' => [ + 'description' => '自动快照策略ID。', + 'type' => 'string', + 'example' => 'sp-bp1j0alc2z1fhvie****', + ], + 'InternetMaxBandwidthOut' => [ + 'description' => '公网出带宽最大值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'InternetMaxBandwidthIn' => [ + 'description' => '公网入带宽最大值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'Period' => [ + 'description' => '购买资源的时长。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InstanceChargeType' => [ + 'description' => '实例计费类型。可能值:'."\n" + ."\n" + .'- PrePaid:包年包月。'."\n" + .'- PostPaid:按量付费。'."\n", + 'type' => 'string', + 'example' => 'Postpaid', + ], + 'IoOptimized' => [ + 'description' => '是否为I/O优化实例。', + 'type' => 'string', + 'example' => 'none', + ], + 'RamRoleName' => [ + 'description' => '实例RAM角色名称。', + 'type' => 'string', + 'example' => 'testRamRoleName', + ], + 'VSwitchId' => [ + 'description' => '实例所属的虚拟交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp67acfmxazb4p****', + ], + 'ResourceGroupId' => [ + 'description' => '启动模板所在的企业资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'InternetChargeType' => [ + 'description' => '公网带宽计费方式。', + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'Ipv6AddressCount' => [ + 'description' => '实例的IPv6地址数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'DataDisks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataDisk' => [ + 'description' => '数据盘集合。', + 'type' => 'array', + 'items' => [ + 'description' => '数据盘集合。', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => [ + 'description' => '创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。当`Category=cloud_essd`时该参数有返回值。可能值:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。', + 'type' => 'string', + 'example' => 'PL1', + ], + 'Description' => [ + 'description' => '数据盘描述。', + 'type' => 'string', + 'example' => 'testDiskDescription', + ], + 'SnapshotId' => [ + 'description' => '数据盘使用的快照ID。', + 'type' => 'string', + 'example' => 's-bp67acfmxazb4p****', + ], + 'Device' => [ + 'description' => '数据盘的挂载点。挂载的数据盘数量不同,挂载点的命名不同:'."\n" + .'- 1~25块数据盘:/dev/xvd`[b-z]`'."\n" + ."\n" + .'- 大于25块数据盘:/dev/xvd`[aa-zz]`,例如第26块数据盘会被命名为/dev/xvdaa,第27块数据盘为/dev/xvdab,以此类推。'."\n" + ."\n" + .'> 该参数仅用于全镜像(整机镜像)场景。您可以通过将此参数设置为全镜像中数据盘对应的挂载点,并修改对应的`DataDisk.N.Size`和`DataDisk.N.Category`参数,达到修改全镜像中数据盘磁盘种类和大小的目的。', + 'type' => 'string', + 'example' => '/dev/xvdb'."\n", + ], + 'Size' => [ + 'description' => '数据盘大小。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2000', + ], + 'DiskName' => [ + 'description' => '数据盘名称。', + 'type' => 'string', + 'example' => 'testDiskName', + ], + 'Category' => [ + 'description' => '数据盘的云盘种类。', + 'type' => 'string', + 'example' => 'cloud_ssd', + ], + 'DeleteWithInstance' => [ + 'description' => '数据盘是否随实例释放而释放。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Encrypted' => [ + 'description' => '数据盘是否加密。', + 'type' => 'string', + 'example' => 'false', + ], + 'ProvisionedIops' => [ + 'description' => '是否修改ESSD AutoPL云盘预配置读写IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}'."\n" + ."\n" + .'> 当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)和[修改ESSD AutoPL云盘预配置信息](~~413275~~)。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '自动快照策略ID。', + 'type' => 'string', + 'example' => 'sp-wz91dz3ghear2a5s****', + ], + 'KMSKeyId' => [ + 'description' => '数据盘对应的KMS密钥ID。', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + ], + ], + ], + ], + ], + 'NetworkInterfaces' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterface' => [ + 'description' => '辅助弹性网卡的属性集合。', + 'type' => 'array', + 'items' => [ + 'description' => '辅助弹性网卡的属性集合。', + 'type' => 'object', + 'properties' => [ + 'NetworkInterfaceName' => [ + 'description' => '辅助弹性网卡名称。', + 'type' => 'string', + 'example' => 'testNetworkInterfaceName', + ], + 'VSwitchId' => [ + 'description' => '弹性网卡所属的虚拟交换机ID。', + 'type' => 'string', + 'example' => 'vsw-bp67acfmxazb4p****', + ], + 'Description' => [ + 'description' => '辅助弹性网卡描述信息。', + 'type' => 'string', + 'example' => 'testNetworkInterfacesDescription', + ], + 'PrimaryIpAddress' => [ + 'description' => '辅助弹性网卡的主私有IP地址。', + 'type' => 'string', + 'example' => '203.0.*.*', + ], + 'SecurityGroupId' => [ + 'description' => '辅助弹性网卡所属的安全组ID。必须是同一个VPC下的安全组。'."\n" + ."\n" + .'> SecurityGroupId和SecurityGroupIds不会同时返回值。', + 'type' => 'string', + 'example' => 'sg-bp67acfmxazb4p****', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '辅助弹性网卡加入的一个或多个安全组。'."\n" + ."\n" + .'> SecurityGroupId和SecurityGroupIds不会同时返回值。', + 'type' => 'array', + 'items' => [ + 'description' => '辅助弹性网卡加入的一个或多个安全组。'."\n" + ."\n" + .'> SecurityGroupId和SecurityGroupIds不会同时返回值。', + 'type' => 'string', + 'example' => '["sg-bp15ed6xe1yxeycg7****"]', + ], + ], + ], + ], + 'InstanceType' => [ + 'description' => '实例的规格。', + 'type' => 'string', + 'example' => 'ecs.s2.xlarge', + ], + 'NetworkInterfaceTrafficMode' => [ + 'description' => '主网卡的通讯模式。参数取值范围:'."\n" + ."\n" + .'- Standard:使用TCP通讯模式。'."\n" + .'- HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。', + 'type' => 'string', + 'example' => 'Standard', + ], + 'DeleteOnRelease' => [ + 'description' => '释放实例时是否保留网卡。可能值:'."\n" + ."\n" + .'- true:不保留。'."\n" + ."\n" + .'- false:保留。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTag' => [ + 'description' => '实例的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例的标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '实例的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + ], + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => '实例加入的一个或多个安全组。'."\n" + ."\n" + .'> `SecurityGroupId`和`SecurityGroupIds`不会同时返回值。', + 'type' => 'array', + 'items' => [ + 'description' => '实例加入的一个或多个安全组。'."\n" + ."\n" + .'> `SecurityGroupId`和`SecurityGroupIds`不会同时返回值。', + 'type' => 'string', + 'example' => '["sg-bp15ed6xe1yxeycg7****"]', + ], + ], + ], + ], + 'SystemDisk.ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置读写IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}'."\n" + ."\n" + .'> 当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)和[修改ESSD AutoPL云盘预配置信息](~~413275~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000', + ], + 'SystemDisk.BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'SystemDisk.Encrypted' => [ + 'description' => '系统盘是否加密。可能值:'."\n" + ."\n" + .'- true:加密。'."\n" + .'- false:不加密。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>中国香港D可用区、新加坡A可用区暂不支持在创建实例时加密系统盘。', + 'type' => 'string', + 'example' => 'false', + ], + 'DeletionProtection' => [ + 'description' => '实例释放保护属性,指定是否支持通过控制台或API([DeleteInstance](~~25507~~))释放实例。取值范围:'."\n" + .'- true:开启实例释放保护。'."\n" + ."\n" + .'- false:关闭实例释放保护。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'>该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'CreditSpecification' => [ + 'description' => '突发性能实例的运行模式。可能值:'."\n" + ."\n" + .'- Standard:标准模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的性能约束模式章节。'."\n" + .'- Unlimited:无性能约束模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的无性能约束模式章节。', + 'type' => 'string', + 'example' => 'Standard', + ], + 'AutoRenew' => [ + 'description' => '是否要自动续费。当参数`InstanceChargeType`取值`PrePaid`时才生效。可能值:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false:不自动续费。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AutoRenewPeriod' => [ + 'description' => '单次自动续费的续费时长。可能值: '."\n" + .' '."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3。'."\n" + .'- PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PeriodUnit' => [ + 'description' => '包年包月计费方式的时长单位。可能值: '."\n" + ."\n" + .''."\n" + .'- Week。'."\n" + .'- Month(默认)。'."\n" + ."\n" + .''."\n" + ."\n" + .'Month(默认)。', + 'type' => 'string', + 'example' => 'Month', + ], + 'HttpEndpoint' => [ + 'description' => '是否启用实例元数据的访问通道。可能值:'."\n" + ."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。'."\n" + ."\n" + .'默认值:enabled。'."\n" + ."\n" + .'> 有关实例元数据的信息,请参见[实例元数据概述](~~108460~~)。', + 'type' => 'string', + 'example' => 'enabled', + ], + 'HttpTokens' => [ + 'description' => '访问实例元数据时是否强制使用加固模式(IMDSv2)。可能值:'."\n" + ."\n" + .'- optional:不强制使用。'."\n" + .'- required:强制使用。设置该取值后,普通模式无法访问实例元数据。'."\n" + ."\n" + .'默认值:optional。'."\n" + ."\n" + .'> 有关访问实例元数据的模式,请参见[实例元数据概述](~~108460~~)。', + 'type' => 'string', + 'example' => 'optional', + ], + 'HttpPutResponseHopLimit' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'SystemDisk.KMSKeyId' => [ + 'description' => '系统盘对应的KMS密钥ID。', + 'type' => 'string', + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****'."\n", + ], + 'ImageOptions' => [ + 'description' => '镜像相关属性信息。', + 'type' => 'object', + 'properties' => [ + 'LoginAsNonRoot' => [ + 'description' => '使用该镜像的实例是否支持使用ecs-user用户登录。'."\n" + .'可能值:'."\n" + .'- true:是。'."\n" + .'- false:否。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'SecurityOptions' => [ + 'description' => '安全选项。', + 'type' => 'object', + 'properties' => [ + 'TrustedSystemMode' => [ + 'description' => '可信系统模式。取值:vTPM。'."\n" + ."\n" + .'目前,可信系统模式支持的实例规格族:'."\n" + .'- g7、c7、r7。'."\n" + .'- 安全增强型(g7t、c7t、r7t)。'."\n" + ."\n" + .'当您创建以上实例规格族的ECS实例时,需要设置该参数。具体说明如下:'."\n" + ."\n" + .'- 如果您使用阿里云可信系统,请将该参数值设置为vTPM,在实例启动时即可通过阿里云可信系统完成可信校验。'."\n" + .'- 如果您不使用阿里云可信系统,可以不设置该参数值,但您需要注意,如果您所创建的ECS实例使用了Enclave机密计算模式(`SecurityOptions.ConfidentialComputingMode=Enclave`),则该ECS实例也会启用可信系统。'."\n" + .'- 通过OpenAPI创建可信系统的ECS实例时,只能调用`RunInstances`实现,`CreateInstance`目前不支持设置`SecurityOptions.TrustedSystemMode`参数。'."\n" + .'>如果您在创建实例的时候指定其为可信实例,那么当您更换系统盘时只能使用支持可信系统的镜像。'."\n" + ."\n" + .'关于可信系统的更多信息,请参见[安全增强型实例可信功能概述](~~201394~~)。', + 'type' => 'string', + 'example' => 'vTPM', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegion.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InnerServiceFailed', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidLaunchTemplate.NotFound', + 'errorMessage' => 'The specified LaunchTemplate is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"3989ED0C-20A1-4351-A127-2067FF8390AX\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"LaunchTemplateVersionSets\\": {\\n \\"LaunchTemplateVersionSet\\": [\\n {\\n \\"LaunchTemplateName\\": \\"testLaunchTemplateName\\",\\n \\"DefaultVersion\\": true,\\n \\"VersionNumber\\": 1,\\n \\"ModifiedTime\\": \\"2022-01-17T08:40:00Z\\",\\n \\"LaunchTemplateId\\": \\"lt-bp67acfmxazb4p****\\",\\n \\"CreateTime\\": \\"2022-01-17T08:22:43Z\\",\\n \\"CreatedBy\\": \\"123456789****\\",\\n \\"VersionDescription\\": \\"testVersionDescription\\",\\n \\"LaunchTemplateData\\": {\\n \\"DeploymentSetId\\": \\"ds-bp1brhwhoqinyjd6****\\",\\n \\"VpcId\\": \\"v-bp67acfmxazb4p****\\",\\n \\"SystemDisk.PerformanceLevel\\": \\"PL0\\",\\n \\"KeyPairName\\": \\"testKeyPairName\\",\\n \\"SecurityGroupId\\": \\"sg-bp67acfmxazb4p****\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"EnableVmOsConfig\\": false,\\n \\"Description\\": \\"testInstanceDescription\\",\\n \\"SpotDuration\\": 1,\\n \\"InstanceName\\": \\"testInstanceName\\",\\n \\"SecurityEnhancementStrategy\\": \\"active\\",\\n \\"UserData\\": \\"SGVsbG9FQ1M=\\",\\n \\"SystemDisk.DiskName\\": \\"testSystemDiskName\\",\\n \\"SystemDisk.Size\\": 40,\\n \\"SpotPriceLimit\\": 0.98,\\n \\"PasswordInherit\\": true,\\n \\"PrivateIpAddress\\": \\"10.1.**.**\\",\\n \\"ImageId\\": \\"m-bp67acfmxazb4p****\\",\\n \\"SystemDisk.DeleteWithInstance\\": true,\\n \\"SystemDisk.Category\\": \\"cloud_ssd\\",\\n \\"AutoReleaseTime\\": \\"2018-05-14T14:18:00Z\\",\\n \\"SystemDisk.Description\\": \\"testSystemDiskDescription\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"HostName\\": \\"testHostName\\",\\n \\"SystemDisk.Iops\\": 101800,\\n \\"SystemDisk.AutoSnapshotPolicyId\\": \\"sp-bp1j0alc2z1fhvie****\\",\\n \\"InternetMaxBandwidthOut\\": 100,\\n \\"InternetMaxBandwidthIn\\": 5,\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"Period\\": 1,\\n \\"InstanceChargeType\\": \\"Postpaid\\",\\n \\"IoOptimized\\": \\"none\\",\\n \\"RamRoleName\\": \\"testRamRoleName\\",\\n \\"VSwitchId\\": \\"vsw-bp67acfmxazb4p****\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"PerformanceLevel\\": \\"PL1\\",\\n \\"Description\\": \\"testDiskDescription\\",\\n \\"SnapshotId\\": \\"s-bp67acfmxazb4p****\\",\\n \\"Device\\": \\"/dev/xvdb\\\\n\\",\\n \\"Size\\": 2000,\\n \\"DiskName\\": \\"testDiskName\\",\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"DeleteWithInstance\\": true,\\n \\"Encrypted\\": \\"false\\",\\n \\"ProvisionedIops\\": 50000,\\n \\"BurstingEnabled\\": true,\\n \\"AutoSnapshotPolicyId\\": \\"sp-wz91dz3ghear2a5s****\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\"\\n }\\n ]\\n },\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterface\\": [\\n {\\n \\"NetworkInterfaceName\\": \\"testNetworkInterfaceName\\",\\n \\"VSwitchId\\": \\"vsw-bp67acfmxazb4p****\\",\\n \\"Description\\": \\"testNetworkInterfacesDescription\\",\\n \\"PrimaryIpAddress\\": \\"203.0.*.*\\",\\n \\"SecurityGroupId\\": \\"sg-bp67acfmxazb4p****\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"[\\\\\\"sg-bp15ed6xe1yxeycg7****\\\\\\"]\\"\\n ]\\n },\\n \\"InstanceType\\": \\"ecs.s2.xlarge\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"Standard\\",\\n \\"DeleteOnRelease\\": true\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"InstanceTag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"[\\\\\\"sg-bp15ed6xe1yxeycg7****\\\\\\"]\\"\\n ]\\n },\\n \\"SystemDisk.ProvisionedIops\\": 50000,\\n \\"SystemDisk.BurstingEnabled\\": true,\\n \\"SystemDisk.Encrypted\\": \\"false\\",\\n \\"DeletionProtection\\": false,\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"AutoRenew\\": true,\\n \\"AutoRenewPeriod\\": 1,\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"HttpPutResponseHopLimit\\": 3,\\n \\"SystemDisk.KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\\\n\\",\\n \\"ImageOptions\\": {\\n \\"LoginAsNonRoot\\": false\\n },\\n \\"SecurityOptions\\": {\\n \\"TrustedSystemMode\\": \\"vTPM\\"\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 3989ED0C-20A1-4351-A127-2067FF8390AX\\n 1\\n 1\\n \\n testLaunchTemplateName\\n true\\n 1\\n 2022-01-17T08:40:00Z\\n lt-bp67acfmxazb4p****\\n 2022-01-17T08:22:43Z\\n 123456789****\\n testVersionDescription\\n \\n ds-bp1brhwhoqinyjd6****\\n v-bp67acfmxazb4p****\\n PL0\\n testKeyPairName\\n sg-bp67acfmxazb4p****\\n vpc\\n NoSpot\\n false\\n testInstanceDescription\\n 1\\n testInstanceName\\n active\\n SGVsbG9FQ1M=\\n testSystemDiskName\\n 40\\n 0.98\\n true\\n 10.1.**.**\\n m-bp67acfmxazb4p****\\n true\\n cloud_ssd\\n 2018-05-14T14:18:00Z\\n testSystemDiskDescription\\n system\\n testHostName\\n 101800\\n 100\\n 5\\n ecs.g5.large\\n 1\\n Postpaid\\n none\\n testRamRoleName\\n vsw-bp67acfmxazb4p****\\n rg-bp67acfmxazb4p****\\n PayByTraffic\\n cn-hangzhou-g\\n 1\\n \\n PL1\\n testDiskDescription\\n s-bp67acfmxazb4p****\\n /dev/xvda\\n 2000\\n testDiskName\\n cloud_ssd\\n true\\n false\\n \\n \\n testNetworkInterfaceName\\n vsw-bp67acfmxazb4p****\\n testNetworkInterfacesDescription\\n 203.0.*.*\\n sg-bp67acfmxazb4p****\\n [\\"sg-bp15ed6xe1yxeycg7****\\"]\\n \\n \\n TestKey\\n TestValue\\n \\n [\\"sg-bp15ed6xe1yxeycg7****\\"]\\n \\n \\n","errorExample":""}]', + 'title' => '查询实例启动模板的版本信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyLaunchTemplateDefaultVersion' => [ + 'summary' => '调用ModifyLaunchTemplateDefaultVersion接口,并通过指定DefaultVersionNumber参数,切换启动模板的默认版本。如果您在创建实例(RunInstances)时不指定模板版本号,则会采用默认版本。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29081', + 'abilityTreeNodes' => [ + 'FEATUREecsV7EC6D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '模板所属的地域ID。您可以调用 [DescribeRegions](~~25609~~) 查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板ID。您必须指定LaunchTemplateId或LaunchTemplateName以确定模板。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-s-bp177juajht6****', + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板名称。您必须指定LaunchTemplateId或LaunchTemplateName以确定模板。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'testLaunchTemplateName', + ], + ], + [ + 'name' => 'DefaultVersionNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '设置为默认版本的启动模板版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'LaunchTemplateId' => [ + 'description' => '启动模板ID。更多信息,请参见[DescribeLaunchTemplates](~~73759~~)。', + 'type' => 'string', + 'example' => 'lt-bp1apo0bbbkuy0rj****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegion.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InnerServiceFailed', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidLaunchTemplate.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidLaunchTemplateVersion.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LaunchTemplateId\\": \\"lt-bp1apo0bbbkuy0rj****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n lt-bp1apo0bbbkuy0rj****\\n","errorExample":""}]', + 'title' => '切换启动模板的默认版本', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteLaunchTemplateVersion' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '65903', + 'abilityTreeNodes' => [ + 'FEATUREecsV7EC6D', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '模板所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DeleteVersion', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待删除的模板版本号。', + 'type' => 'array', + 'items' => [ + 'description' => '模板版本号,N的取值范围1~29。您可以调用[DescribeLaunchTemplateVersions](~~73761~~)查询启动模板版本号列表。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2', + ], + 'required' => true, + 'example' => '2', + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要删除的启动模板ID。更多信息,请参见[DescribeLaunchTemplates](~~73759~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-bp1apo0bbbkuy0rj****', + ], + ], + [ + 'name' => 'LaunchTemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => '启动模板名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'testLaunchTemplateName', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'LaunchTemplateVersions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateVersion' => [ + 'description' => '已删除的实例启动模板版本。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LaunchTemplateId' => [ + 'description' => '实例启动模板ID。', + 'type' => 'string', + 'example' => 'lt-bp1apo0bbbkuy0rj****', + ], + 'LaunchTemplateVersionNumber' => [ + 'description' => '实例启动模板版本号。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegion.NotExist', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.DeleteDefaultVersion', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InnerServiceFailed', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LaunchTemplateVersions\\": {\\n \\"LaunchTemplateVersion\\": [\\n {\\n \\"LaunchTemplateId\\": \\"lt-bp1apo0bbbkuy0rj****\\",\\n \\"LaunchTemplateVersionNumber\\": 2\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n lt-bp1apo0bbbkuy0rj****\\n 2\\n \\n","errorExample":""}]', + 'title' => '删除实例启动模板的版本', + 'summary' => '指定LaunchTemplateId、DeleteVersion等参数,删除指定实例启动模板的一个或多个版本。', + 'description' => '调用该接口时,您需要注意:'."\n" + .'- 不支持删除默认版本,您必须通过删除整个实例启动模板才能删除默认版本。'."\n" + ."\n" + .'- 如果您需要删除的版本为默认版本,可以通过调用[ModifyLaunchTemplateDefaultVersion](~~2679734~~)或在**启动模板**控制台切换默认版本以后,进行删除操作。'."\n" + ."\n" + .'- 删除版本不会影响通过该版本已创建的实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateAutoProvisioningGroup' => [ + 'summary' => '创建一个弹性供应组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28814', + 'abilityTreeNodes' => [ + 'FEATUREecs9VD134', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所在地域的ID,您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'AutoProvisioningGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'apg-test', + ], + ], + [ + 'name' => 'AutoProvisioningGroupType', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的交付类型。取值范围:'."\n" + ."\n" + .'- request:一次性异步交付。供应组仅在启动时异步交付实例集群,调度失败后不再重试。'."\n" + ."\n" + .'- instant:一次性同步交付。供应组仅在启动时同步创建实例,并在请求响应中返回创建成功的实例列表和创建失败的原因。'."\n" + ."\n" + .'- maintain:持续供应。供应组在启动时尝试交付实例集群,并监控实时容量,未达到目标容量则尝试继续创建ECS实例。'."\n" + ."\n" + .'默认值:maintain。', + 'type' => 'string', + 'required' => false, + 'example' => 'maintain', + ], + ], + [ + 'name' => 'SpotAllocationStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '创建抢占式实例的策略。取值范围:'."\n" + ."\n" + .'- lowest-price:成本优化策略。选择价格最低的实例规格。'."\n" + ."\n" + .'- diversified:均衡可用区分布策略。在扩展启动模板指定的可用区内创建实例,均匀分布到各可用区。'."\n" + ."\n" + .'- capacity-optimized:容量优化分布策略。根据库存情况,选择最优的实例规格和可用区进行创建。'."\n" + ."\n" + .'默认值:lowest-price。', + 'type' => 'string', + 'required' => false, + 'example' => 'diversified', + ], + ], + [ + 'name' => 'SpotInstanceInterruptionBehavior', + 'in' => 'query', + 'schema' => [ + 'description' => '竞价实例中断时的行为。取值范围:'."\n" + ."\n" + .'- stop:停止实例。'."\n" + ."\n" + .'- terminate:释放实例。'."\n" + ."\n" + .'默认值:terminate。', + 'type' => 'string', + 'required' => false, + 'example' => 'terminate', + ], + ], + [ + 'name' => 'SpotInstancePoolsToUseCount', + 'in' => 'query', + 'schema' => [ + 'description' => '在`SpotAllocationStrategy`为`lowest-price`时生效,表示弹性供应组选择价格最低的实例规格创建实例的数量。'."\n" + ."\n" + .'取值范围:低于`LaunchTemplateConfig.N`中N的取值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'PayAsYouGoAllocationStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '创建按量付费实例的策略。取值范围:'."\n" + ."\n" + .'- lowest-price:成本优化策略。选择价格最低的实例规格。'."\n" + ."\n" + .'- prioritized:优先级策略。按照`LaunchTemplateConfig.N.Priority`设定的优先级创建实例。'."\n" + ."\n" + .'默认值:lowest-price。', + 'type' => 'string', + 'required' => false, + 'example' => 'prioritized', + ], + ], + [ + 'name' => 'ExcessCapacityTerminationPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组实时容量超过目标容量并触发缩容时,是否释放缩容的实例。取值范围:'."\n" + ."\n" + .'- termination:释放缩容的实例。'."\n" + .'- no-termination:只将缩容的实例移出弹性供应组。'."\n" + ."\n" + .'默认值:no-termination。', + 'type' => 'string', + 'required' => false, + 'example' => 'termination', + 'default' => 'no-termination', + ], + ], + [ + 'name' => 'ValidFrom', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的启动时间,和`ValidUntil`共同确定有效时段。'."\n" + ."\n" + .'按照[ISO 8601](~~25696~~)标准表示,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mm:ssZ。'."\n" + ."\n" + .'默认值:该接口立即生效的时间戳。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-04-01T15:10:20Z', + ], + ], + [ + 'name' => 'ValidUntil', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的到期时间,和`ValidFrom`共同确定有效时段。'."\n" + ."\n" + .'按照[ISO 8601](~~25696~~)标准表示,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mm:ssZ。'."\n" + ."\n" + .'默认值:2099-12-31T23:59:59Z。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-06-01T15:10:20Z', + ], + ], + [ + 'name' => 'TerminateInstancesWithExpiration', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组到期时,是否释放组内实例。取值范围:'."\n" + ."\n" + .'- true:释放组内实例。'."\n" + .'- false:只将组内实例移出弹性供应组。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'TerminateInstances', + 'in' => 'query', + 'schema' => [ + 'description' => '删除弹性供应组时,是否释放组内实例。取值范围:'."\n" + ."\n" + .'- true:释放组内实例。'."\n" + .'- false:保留组内实例。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'MaxSpotPrice', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组内抢占式实例的最高价格。'."\n" + ."\n" + .'> 同时设置了`MaxSpotPrice`和`LaunchTemplateConfig.N.MaxPrice`时,以最低值为准。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'TotalTargetCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的目标总容量。取值范围:正整数。'."\n" + ."\n" + .'总容量必须大于等于`PayAsYouGoTargetCapacity`(指定的按量付费实例目标容量)和`SpotTargetCapacity`(指定的抢占式实例目标容量)取值之和。', + 'type' => 'string', + 'required' => true, + 'example' => '60', + ], + ], + [ + 'name' => 'PayAsYouGoTargetCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组内,按量付费实例的目标容量。取值范围:小于等于`TotalTargetCapacity`的参数取值。', + 'type' => 'string', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'SpotTargetCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组内,抢占式实例的目标容量。取值范围:小于等于`TotalTargetCapacity`的参数取值。', + 'type' => 'string', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'DefaultTargetCapacityType', + 'in' => 'query', + 'schema' => [ + 'description' => '`PayAsYouGoTargetCapacity`和`SpotTargetCapacity`之和小于`TotalTargetCapacity`时,指定差额容量的计费方式。取值范围:'."\n" + ."\n" + .'- PayAsYouGo:按量付费实例。'."\n" + .'- Spot:抢占式实例。'."\n" + ."\n" + .'默认值:Spot。', + 'type' => 'string', + 'required' => false, + 'example' => 'Spot', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组关联的实例启动模板的ID,您可以调用[DescribeLaunchTemplates](~~73759~~)查询可用的实例启动模板。同时指定启动模板与启动配置信息(`LaunchConfiguration.*`)时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'lt-bp1fgzds4bdogu03****', + ], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组关联的实例启动模板的版本,您可以调用[DescribeLaunchTemplateVersions](~~73761~~)查询可用的实例启动模板版本。'."\n" + ."\n" + .'默认值:启动模板的默认版本。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'LaunchConfiguration.ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像ID。启动实例时选择的镜像资源,您可以调用[DescribeImages](~~25534~~)查询可以使用的镜像资源。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'm-bp1g7004ksh0oeuc****', + ], + ], + [ + 'name' => 'LaunchConfiguration.SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的安全组ID。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg****', + ], + ], + [ + 'name' => 'LaunchConfiguration.IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => '是否为I/O优化实例。取值范围:'."\n" + ."\n" + .'- none:非I/O优化。'."\n" + .'- optimized:I/O优化。'."\n" + ."\n" + .'已停售的实例规格实例默认值是none,其他实例规格默认值是optimized。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'optimized ', + ], + ], + [ + 'name' => 'LaunchConfiguration.InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '网络计费类型。取值范围:'."\n" + ."\n" + .'- PayByBandwidth:按固定带宽计费。'."\n" + .'- PayByTraffic:按使用流量计费。'."\n" + ."\n" + .'> 按使用流量计费模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用按固定带宽计费模式。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'LaunchConfiguration.InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => [ + 'description' => '公网入带宽最大值,单位为Mbit/s。取值范围:'."\n" + ."\n" + .'- 当公网出带宽小于等于10 Mbit/s时:1~10,默认为10。'."\n" + .'- 当公网出带宽大于10 Mbit/s时:1~`LaunchConfiguration.InternetMaxBandwidthOut`的取值,默认为`LaunchConfiguration.InternetMaxBandwidthOut`的取值。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'LaunchConfiguration.InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => [ + 'description' => '公网出带宽最大值,单位为Mbit/s。取值范围:0~100。'."\n" + ."\n" + .'默认值:0。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'LaunchConfiguration.InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例名称。长度为2~128个字符,必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含中文、英文、数字、半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'默认值:实例的`InstanceId`。'."\n" + ."\n" + .'创建多台ECS实例时,您可以批量设置有序的实例名称。具体操作,请参见[批量设置有序的实例名称或主机名称](~~196048~~)。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-node-[1,4]-alibabacloud', + ], + ], + [ + 'name' => 'LaunchConfiguration.HostName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例主机名称。限制说明如下:'."\n" + ."\n" + .'- 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- Windows实例:字符长度为2~15,不支持半角句号(.),不能全是数字。允许大小写英文字母、数字和短划线(-)。'."\n" + .'- 其他类型实例(Linux等):字符长度为2~64,支持多个半角句号(.),点之间为一段,每段允许大小写英文字母、数字和短划线(-)。'."\n" + .'- 不支持同时设置`LaunchConfiguration.HostName`与`LaunchConfiguration.HostNames.N`,否则会返回报错信息。'."\n" + .'- 同时指定启动模板与启动配置信息时,优先使用启动模板。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k8s-node-[1,4]-ecshost', + ], + ], + [ + 'name' => 'LaunchConfiguration.InstanceDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '实例描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'Instance_Description', + ], + ], + [ + 'name' => 'LaunchConfiguration.KeyPairName', + 'in' => 'query', + 'schema' => [ + 'description' => '密钥对名称。'."\n" + ."\n" + .'- Windows实例,忽略该参数。默认为空。'."\n" + .'- Linux实例的密码登录方式会被初始化成禁止。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyPair_Name', + ], + ], + [ + 'name' => 'LaunchConfiguration.RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => '实例RAM角色名称。您可以使用RAM API [ListRoles](~~28713~~)查询您已创建的实例RAM角色。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'RAM_Name', + ], + ], + [ + 'name' => 'LaunchConfiguration.SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启安全加固。取值范围:'."\n" + ."\n" + .'- Active:启用安全加固,只对公共镜像生效。'."\n" + .'- Deactive:不启用安全加固,对所有镜像类型生效。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'LaunchConfiguration.UserData', + 'in' => 'query', + 'schema' => [ + 'description' => '实例自定义数据。需要以Base64方式编码,原始数据最多为32 KB。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZWNobyBoZWxsbyBlY3Mh', + ], + ], + [ + 'name' => 'LaunchConfiguration.SystemDiskCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的云盘种类。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。'."\n" + ."\n" + .'已停售的实例规格且非I/O优化实例默认值为cloud,否则默认值为cloud_efficiency。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + [ + 'name' => 'LaunchConfiguration.SystemDiskSize', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘大小。单位为GiB,取值范围:20~500。该参数的取值必须大于或者等于max{20, LaunchConfiguration.ImageId对应的镜像大小}。'."\n" + ."\n" + .'默认值:max{40, 参数LaunchConfiguration.ImageId对应的镜像大小}。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '40', + ], + ], + [ + 'name' => 'LaunchConfiguration.SystemDiskName', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角句号(.)、半角冒号(:)、下划线(_)或者短划线(-)。'."\n" + ."\n" + .'默认值:空。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssdSystem', + ], + ], + [ + 'name' => 'LaunchConfiguration.SystemDiskDescription', + 'in' => 'query', + 'schema' => [ + 'description' => '系统盘的描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'SystemDisk_Description', + ], + ], + [ + 'name' => 'LaunchConfiguration.SystemDiskPerformanceLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。取值范围:'."\n" + ."\n" + .'- PL0(默认):单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL0', + ], + ], + [ + 'name' => 'LaunchConfiguration.PasswordInherit', + 'in' => 'query', + 'schema' => [ + 'description' => '是否使用镜像预设的密码。取值范围:'."\n" + ."\n" + .'- true:使用。'."\n" + .'- false:不使用。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'LaunchConfiguration.ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的企业资源组ID。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'LaunchConfiguration.CreditSpecification', + 'in' => 'query', + 'schema' => [ + 'description' => '设置突发性能实例的运行模式。取值范围:'."\n" + ."\n" + .'- Standard:标准模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的性能约束模式章节。'."\n" + .'- Unlimited:无性能约束模式,实例性能请参见[什么是突发性能实例](~~59977~~)下的无性能约束模式章节。'."\n" + ."\n" + .'默认值:无。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'LaunchConfiguration.Password', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:'."\n" + ."\n" + .'``()`~!@#$%^&*-_+=|{}`[]`:;\'<>,.?/``'."\n" + ."\n" + .'其中,Windows实例不能以正斜线(/)为密码首字符。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。'."\n" + ."\n\n", + 'type' => 'string', + 'required' => false, + 'example' => 'EcsV587!', + ], + ], + [ + 'name' => 'LaunchConfiguration.DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp1frxuzdg87zh4p****', + ], + ], + [ + 'name' => 'LaunchTemplateConfig', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '扩展启动模板列表。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展启动模板信息。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '扩展启动模板中,ECS实例加入的虚拟交换机的ID。扩展模板中启动的ECS实例的可用区由虚拟交换机决定。'."\n" + ."\n" + .'> 设置了`LaunchTemplateConfig`后,`LaunchTemplateConfig.N.VSwitchId`为必选参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-sn5bsitu4lfzgc5o7****', + ], + 'MaxPrice' => [ + 'description' => '扩展启动模板中,抢占式实例的价格上限。'."\n" + ."\n" + .'> 设置了`LaunchTemplateConfig`后,`LaunchTemplateConfig.N.MaxPrice`为必选参数。', + 'type' => 'number', + 'format' => 'double', + 'required' => false, + 'example' => '3', + ], + 'Priority' => [ + 'description' => '扩展启动模板的优先级,取值为0时优先级最高。取值范围:0 ~ +∞。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'InstanceType' => [ + 'description' => '扩展启动模板对应的实例规格,N的取值范围:1~20。取值范围:请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + 'WeightedCapacity' => [ + 'description' => '扩展启动模板中,实例规格的权重。取值越高,单台实例满足计算力需求的能力越大,所需的实例数量越小。取值范围:大于0。'."\n" + ."\n" + .'您可以根据指定实例规格的计算力和集群单节点最低计算力得出权重值。假设单节点最低计算力为8 vCPU、60 GiB,则:'."\n" + ."\n" + .'- 8 vCPU、60 GiB的实例规格权重可以设置为1。'."\n" + .'- 16 vCPU、120 GiB的实例规格权重可以设置为2。', + 'type' => 'number', + 'format' => 'double', + 'required' => false, + 'example' => '2', + ], + 'MaxQuantity' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => 'false', + ], + 'Cores' => [ + 'description' => '实例规格的vCPU内核数目列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格的vCPU内核数目,用于筛选符合要求的实例规格范围。更多信息,请参见[实例规格族](~~25378~~)。N的取值范围:1~10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + 'required' => false, + 'maxItems' => 5, + ], + 'Memories' => [ + 'description' => '实例规格的内存大小列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格的内存大小,单位为GiB,用于筛选符合要求的实例规格范围。更多信息,请参见[实例规格族](~~25378~~)。N的取值范围:1~10。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '4', + ], + 'required' => false, + 'maxItems' => 5, + ], + 'InstanceFamilyLevel' => [ + 'description' => '实例规格族级别,用于筛选符合要求的实例规格范围。取值范围:'."\n" + ."\n" + .'- EntryLevel:入门级,即共享型实例规格。成本更低,但是无法保证实例计算性能的稳定。适用于平时CPU使用率低的业务场景。更多信息,请参见[共享型](~~108489~~)。'."\n" + .'- EnterpriseLevel:企业级。性能稳定,资源独享,适用于对稳定性要求高的业务场景。更多信息,请参见[实例规格族](~~25378~~)。'."\n" + .'- CreditEntryLevel:积分入门级,即突发性能实例。通过CPU积分来保证计算性能,适用于平时CPU使用率低、偶有突发CPU使用率的情况。更多信息,请参见[突发性能实例](~~59977~~)。'."\n" + ."\n" + .'N的取值范围:1~10。', + 'type' => 'string', + 'required' => false, + 'example' => 'EnterpriseLevel', + ], + 'ExcludedInstanceTypes' => [ + 'description' => '需要排除的实例规格列表。', + 'type' => 'array', + 'items' => [ + 'description' => '需要排除的实例规格。通过使用通配符(*)可以排除单个规格或者整个规格族。例如:'."\n" + ."\n" + .'- ecs.c6.large:表示排除ecs.c6.large实例规格。'."\n" + .'- ecs.c6.*:表示排除整个c6规格族的实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => ' ecs.n1.small/ecs.n1.*/*7*', + ], + 'required' => false, + 'maxItems' => 5, + ], + 'Architectures' => [ + 'description' => '实例规格所属的架构类型列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格所属的架构类型。取值范围:'."\n" + ."\n" + .'- X86:X86计算。'."\n" + .'- Heterogeneous:异构计算,例如GPU或FPGA等。'."\n" + .'- BareMental:弹性裸金属服务器。'."\n" + .'- Arm:Arm计算。'."\n" + .'- SuperComputeCluster:超级计算集群。'."\n" + ."\n" + .'默认值:包含所有架构类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'X86', + ], + 'required' => false, + 'maxItems' => 5, + ], + 'BurstablePerformance' => [ + 'description' => '是否为性能突发实例规格。取值范围:'."\n" + ."\n" + .'- Exclude:不包含性能突发实例规格。'."\n" + .'- Include:包含性能突发实例规格。'."\n" + .'- Required:只包含性能突发实例规格。'."\n" + ."\n" + .'默认值:Include。', + 'type' => 'string', + 'required' => false, + 'example' => 'Include', + ], + 'ImageId' => [ + 'description' => '镜像ID,您可以通过该参数设置当前资源池使用的镜像,如果没有设置则默认使用 `LaunchConfiguration.ImageId`或者启动模板里配置的镜像信息。您可以通过[DescribeImages](~~25534~~)查询可用的镜像资源。'."\n" + .'注:仅当`AutoProvisioningGroupType = instant` 时支持该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun_3_x64_20G_alibase_20210425.vhd', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LaunchConfiguration.DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '扩展启动模板云盘配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展启动模板云盘配置信息。', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => [ + 'description' => '创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。N的取值必须和`LaunchConfiguration.DataDisk.N.Category`中的N保持一致。取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1(默认):单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'有关如何选择ESSD性能等级,请参见[ESSD云盘](~~122389~~)。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + 'KmsKeyId' => [ + 'description' => '数据盘对应的KMS密钥ID。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'Description' => [ + 'description' => '数据盘的描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'DataDisk_Description', + ], + 'SnapshotId' => [ + 'description' => '创建数据盘N使用的快照。N的取值范围为1~16。'."\n" + ."\n" + .'指定该参数后,参数`LaunchConfiguration.DataDisk.N.Size`会被忽略,实际创建的云盘大小为指定的快照的大小。不能使用早于2013年7月15日(含)创建的快照,请求会报错被拒绝。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 's-bp17441ohwka0yuh****', + ], + 'Size' => [ + 'description' => '第N个数据盘的容量大小,N的取值范围为1~16,单位为GiB。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:20~32768。'."\n" + .'- cloud_ssd:20~32768。'."\n" + .'- cloud_essd:具体取值范围与`LaunchConfiguration.DataDisk.N.PerformanceLevel`的取值有关。'."\n" + .' - PL0:40~32768。'."\n" + .' - PL1:20~32768。'."\n" + .' - PL2:461~32768。'."\n" + .' - PL3:1261~32768'."\n" + .'- cloud:5~2000。'."\n" + ."\n" + .'> 该参数的取值必须大于等于参数`LaunchConfiguration.DataDisk.N.SnapshotId`指定的快照的大小。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + 'Device' => [ + 'description' => '数据盘的挂载点。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => '/dev/vd1', + ], + 'DiskName' => [ + 'description' => '数据盘名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角句号(.)、半角冒号(:)、下划线(_)或者短划线(-)。'."\n" + ."\n" + .'默认值:空。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssdData', + ], + 'Category' => [ + 'description' => '数据盘N的云盘类型。N的取值范围为1~16。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。'."\n" + ."\n" + .'对于I/O优化实例,默认值为cloud_efficiency。对于非I/O优化实例,默认值为cloud。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + 'DeleteWithInstance' => [ + 'description' => '数据盘是否随实例释放。取值范围:'."\n" + .'- true:数据盘随实例释放。'."\n" + .'- false:数据盘不随实例释放。'."\n" + ."\n" + .'默认值:true。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'Encrypted' => [ + 'description' => '数据盘N是否加密。取值范围:'."\n" + ."\n" + .'- true:加密。'."\n" + .'- false:不加密。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EncryptAlgorithm' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + 'ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置的读写IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50000}。'."\n" + ."\n\n" + .'>当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '40000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'>当DiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '数据盘采用的自动快照策略 ID。'."\n" + ."\n" + .'当您设置该参数后,需要注意:'."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(AutoProvisioningGroupType=instant)时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp67acfmxazb4p****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LaunchConfiguration.Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '扩展启动模板标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展启动模板标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含`http://`或`https://`。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '实例的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以acs:开头,不能包含`http://`或者`https://`。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SystemDiskConfig', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例系统盘信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例系统盘信息。', + 'type' => 'object', + 'properties' => [ + 'DiskCategory' => [ + 'description' => '实例系统盘类型。您可通过该参数指定多种候选磁盘类型,指定顺序作为各磁盘类型的优先级顺序,当某一种磁盘不可用时,自动更换磁盘类型。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssd', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'DataDiskConfig', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例数据盘信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例数据盘信息。', + 'type' => 'object', + 'properties' => [ + 'DiskCategory' => [ + 'description' => '实例数据盘类型。您可通过该参数指定多种候选磁盘类型,指定顺序作为各磁盘类型的优先级顺序,当某一种磁盘不可用时,自动更换磁盘类型。取值范围:'."\n" + ."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- cloud:普通云盘。', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_efficiency', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'LaunchConfiguration.HostNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '为一台或多台实例指定不同的主机名称列表。限制说明如下:'."\n" + ."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(`AutoProvisioningGroupType=instant`)时,该参数生效。'."\n" + .'- N表示实例个数,取值范围为1~1000,且需要和TotalTargetCapacity参数值保持一致。'."\n" + .'- 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- 同时指定启动模板与启动配置信息时,优先使用启动模板配置。', + 'type' => 'array', + 'items' => [ + 'description' => '主机名称。限制说明如下:'."\n" + ."\n" + .'- 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。'."\n" + .'- Windows实例:字符长度为2~15,不支持半角句号(.),不能全是数字。允许包含大小写英文字母、数字和短划线(-)。'."\n" + .'- 其他类型实例(Linux等):字符长度为2~64,支持多个半角句号(.),半角句号(.)之间为一段,每段允许包含大小写英文字母、数字和短划线(-)。'."\n" + .'- 不支持同时设置`LaunchConfiguration.HostName`与`LaunchConfiguration.HostNames.N`,否则会返回报错信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs-host-01 ', + ], + 'required' => false, + 'example' => 'ecs-host-01', + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'MinTargetCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的目标最小容量。取值范围:正整数。'."\n" + ."\n" + .'当您设置该参数后,需要注意:'."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(`AutoProvisioningGroupType=instant`)时,该参数生效。'."\n" + .'- 如果当前地域下的实例库存小于该参数值,则会导致调用接口失败,不会创建实例。'."\n" + .'- 如果当前地域下的实例库存大于该参数值,则按照已设置的其他参数值正常创建实例。', + 'type' => 'string', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'LaunchConfiguration.SecurityGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例所属的安全组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例所属的安全组ID。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp15ed6xe1yxeycg****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LaunchConfiguration.SystemDisk', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '实例的系统盘信息。同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'object', + 'properties' => [ + 'Encrypted' => [ + 'description' => '系统盘N是否加密。取值范围:'."\n" + ."\n" + .'- true:加密。'."\n" + ."\n" + .'- false:不加密。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + 'KMSKeyId' => [ + 'description' => '系统盘对应的KMS密钥ID。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', + ], + 'EncryptAlgorithm' => [ + 'description' => '系统盘加密算法。取值范围:'."\n" + ."\n" + .'- aes-256。'."\n" + ."\n" + .'- sm4-128。'."\n" + ."\n" + .'默认值:aes-256。'."\n" + ."\n" + .'同时指定启动模板与启动配置信息时,优先使用启动模板。'."\n" + ."\n" + .'>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'aes-256', + ], + 'ProvisionedIops' => [ + 'description' => 'ESSD AutoPL云盘预配置的读写IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。'."\n" + ."\n" + .'基准性能=min{1,800+50*容量, 50,000}。'."\n" + .'> 当SystemDisk.Category取值为cloud_auto时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '40000', + ], + 'BurstingEnabled' => [ + 'description' => '是否开启Burst(性能突发)。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'>当`SystemDisk.Category`取值为`cloud_auto`时才支持设置该参数。更多信息,请参见[ESSD AutoPL云盘](~~368372~~)。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'AutoSnapshotPolicyId' => [ + 'description' => '系统盘采用的自动快照策略 ID。'."\n" + ."\n" + .'当您设置该参数后,需要注意:'."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(AutoProvisioningGroupType=instant)时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-bp67acfmxazb4p****', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'LaunchConfiguration.Arn', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'object', + 'properties' => [ + 'Rolearn' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'acs:ram::123456789012****:role/adminrole', + ], + 'RoleType' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => '34458433936495****:alice', + ], + 'AssumeRoleFor' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456789012****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'HibernationOptionsConfigured', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LaunchConfiguration.AutoReleaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => '按量付费实例的自动释放时间。按照[ISO 8601](~~25696~~)标准表示,使用UTC+0时间。格式为:`yyyy-MM-ddTHH:mm:ssZ`。'."\n" + ."\n" + .'- 如果秒(`ss`)取值不是`00`,则自动取为当前分钟(`mm`)开始时。'."\n" + ."\n" + .'- 最短释放时间为当前时间半小时之后。'."\n" + ."\n" + .'- 最长释放时间不能超过当前时间三年。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-01-01T12:05:00Z', + ], + ], + [ + 'name' => 'LaunchConfiguration.ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '镜像族系名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'hangzhou-daily-update', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性供应组绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性供应组绑定的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '弹性供应组的标签键。'."\n" + ."\n" + .'N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '弹性供应组的标签值。'."\n" + ."\n" + .'N 的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持 128 个字符,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourcePoolOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '创建实例时使用的资源池策略。当您设置该参数后,需要注意:'."\n" + .'- 该参数只在创建按量付费实例时生效。'."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(`AutoProvisioningGroupType=instant`)时,该参数生效。', + 'type' => 'object', + 'properties' => [ + 'Strategy' => [ + 'description' => '资源池包括弹性保障服务或容量预定服务生效后生成的私有池以及公共池,供实例启动时选择。取值范围:'."\n" + ."\n" + .'- PrivatePoolFirst:私有池优先。选择此种策略时,'."\n" + .'当指定了ResourcePoolOptions.PrivatePoolIds,优先使用指定的私有池。如果未指定私有池或指定的私有池容量不足,将自动匹配开放类型的私有池。如果没有符合条件的私有池,则使用公共池创建实例。'."\n" + ."\n" + .'- PrivatePoolOnly:仅限私有池。选择此种策略时,必须指定ResourcePoolOptions.PrivatePoolIds。如果指定的私有池容量不足,则实例会启动失败。'."\n" + .' '."\n" + .'- PublicPoolOnly:使用公共池创建实例。'."\n" + ."\n" + .'默认值:PublicPoolOnly。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrivatePoolFirst', + ], + 'PrivatePoolIds' => [ + 'description' => '私有池 ID列表。取值范围:1~20。', + 'type' => 'array', + 'items' => [ + 'description' => '私有池 ID。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入Target模式私有池 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'LaunchConfiguration', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '启动配置参数。', + 'type' => 'object', + 'properties' => [ + 'Period' => [ + 'description' => '购买资源的时长,单位由`PeriodUnit`指定。当创建包年包月实例时生效且为必选值。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时,Period取值:1、2、3、4。'."\n" + .'- PeriodUnit=Month时,Period取值:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时,Period取值:1、2、3、6、12。'."\n" + ."\n" + .'PeriodUnit=Month时,Period取值:1、2、3、6、12。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'PeriodUnit' => [ + 'description' => '包年包月计费方式的时长单位。取值范围: '."\n" + ."\n" + .''."\n" + .'- Week。'."\n" + .'- Month(默认)。'."\n" + ."\n" + .''."\n" + ."\n" + .'Month(默认)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + 'AutoRenew' => [ + 'description' => '是否要自动续费。创建包年包月实例时生效。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false(默认):不自动续费。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'AutoRenewPeriod' => [ + 'description' => '单次自动续费的续费时长。取值范围: '."\n" + .' '."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3。'."\n" + .'- PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'SpotDuration' => [ + 'description' => '抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:'."\n" + .'- 1:创建后阿里云会保证实例运行1 小时不会被自动释放;超过 1 小时后,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + .'- 0:创建后,阿里云不保证实例运行1 小时,系统会自动比较出价与市场价格、检查资源库存,来决定实例的持有和回收。'."\n" + ."\n" + .'实例回收前 5 分钟阿里云会通过 ECS 系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。'."\n" + ."\n" + .'当您设置该参数后,需要注意:'."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(AutoProvisioningGroupType=instant)时,该参数生效。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'SpotInterruptionBehavior' => [ + 'description' => '抢占实例中断模式。取值范围:'."\n" + ."\n" + .'- Terminate:直接释放实例。'."\n" + ."\n" + .'- Stop:实例进入节省停机模式。'."\n" + ."\n" + .'关于节省停机模式的更多说明,请参见[节省停机模式](~~63353~~)。'."\n" + ."\n" + .'默认值:Terminate。'."\n" + ."\n" + .'当您设置该参数后,需要注意:'."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(AutoProvisioningGroupType=instant)时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Terminate', + ], + 'ImageOptions' => [ + 'description' => '镜像相关属性信息。'."\n" + ."\n" + .'当您设置该参数后,需要注意:'."\n" + .'- 仅创建一次性同步交付类型的弹性供应组(AutoProvisioningGroupType=instant)时,该参数生效。', + 'type' => 'object', + 'properties' => [ + 'LoginAsNonRoot' => [ + 'description' => '使用该镜像的实例是否支持使用 ecs-user 用户登录。可能值:'."\n" + .'- true:是'."\n" + .'- false:否', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'SchedulerOptions' => [ + 'type' => 'object', + 'properties' => [ + 'DedicatedHostId' => [ + 'type' => 'string', + 'required' => false, + ], + 'DedicatedHostClusterId' => [ + 'type' => 'string', + 'required' => false, + ], + ], + 'required' => false, + ], + 'SecurityOptions' => [ + 'type' => 'object', + 'properties' => [ + 'TrustedSystemMode' => [ + 'type' => 'string', + 'required' => false, + ], + ], + 'required' => false, + ], + 'CpuOptions' => [ + 'description' => 'CPU相关配置。', + 'type' => 'object', + 'properties' => [ + 'Core' => [ + 'description' => 'CPU 核心数。'."\n" + ."\n" + .'默认值:请参见[自定义 CPU 选项](https://help.aliyun.com/zh/ecs/user-guide/specify-and-view-cpu-options?spm=a2c4g.11186623.0.0.734f769asTEobd)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + 'ThreadsPerCore' => [ + 'description' => 'CPU 线程数。ECS 实例的 vCPU 数=CpuOptions.Core取值*CpuOptions.ThreadsPerCore取值。'."\n" + ."\n" + .'CpuOptions.ThreadsPerCore=1表示关闭 CPU 超线程。'."\n" + ."\n" + .'仅部分实例规格支持设置 CPU 线程数。'."\n" + ."\n" + .'取值范围和默认值:请参见[自定义 CPU 选项](https://help.aliyun.com/zh/ecs/user-guide/specify-and-view-cpu-options?spm=a2c4g.11186623.0.0.734f769aeIFsoj)。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'PrePaidOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '包年包月实例的容量详细配置。', + 'type' => 'object', + 'properties' => [ + 'SpecifyCapacityDistribution' => [ + 'description' => '不同实例规格的最小容量集合。仅当`AutoProvisioningGroupType = request` 时支持该参数。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格的最小容量。', + 'type' => 'object', + 'properties' => [ + 'InstanceTypes' => [ + 'description' => '实例规格集合。不允许重复,且规格在LaunchTemplateConfig.InstanceType范围内。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.large', + ], + 'required' => false, + ], + 'MinTargetCapacity' => [ + 'description' => '在`InstanceTypes`范围内需要交付的最小实例数量。'."\n" + ."\n" + .'> `sum(MinTargetCapacity)<= TotalTargetCapacity`,即所有实例规格集合的MinTargetCapacity总和不能超过TotalTargetCapacity,且当任一个实例规格集合由于库存等原因无法满足MinTargetCapacity的要求时,整个请求都会创建失败。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ExecutionMode', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AutoProvisioningGroupId' => [ + 'description' => '弹性供应组的ID。', + 'type' => 'string', + 'example' => 'apg-sn54avj8htgvtyh8****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '745CEC9F-0DD7-4451-9FE7-8B752F39****', + ], + 'LaunchResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchResult' => [ + 'description' => '弹性供应组创建的实例组成的集合。该集合值仅当弹性供应组的交付类型为一次性同步交付(`instant`)时返回。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性供应组创建的实例信息。', + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '实例所在的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'ErrorMsg' => [ + 'description' => '当实例创建失败时,返回的错误信息。', + 'type' => 'string', + 'example' => 'Specific parameter is not valid.', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'ErrorCode' => [ + 'description' => '当实例创建失败时,返回的错误码。', + 'type' => 'string', + 'example' => 'InvalidParameter', + ], + 'SpotStrategy' => [ + 'description' => '按量实例的抢占策略。可能值:'."\n" + .'- NoSpot:正常按量付费实例。'."\n" + .'- SpotWithPriceLimit:设置上限价格的抢占式实例。'."\n" + .'- SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。', + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'Amount' => [ + 'description' => '成功创建的实例ID列表内的实例数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => '成功创建的实例ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '成功创建的实例ID列表。', + 'type' => 'string', + 'example' => '["i-bp67acfmxazb4p****"]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAutoProvisioningGroupName.Malformed', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupName" is not valid.', + ], + [ + 'errorCode' => 'InvalidAutoProvisioningGroupType.ValueNotSupported', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupType" is not supported.', + ], + [ + 'errorCode' => 'InvalidFleetExcessCapacityTerminationPolicy.ValueNotSupported', + 'errorMessage' => 'The specified parameter "ExcessCapacityTerminationPolicy" is not supported.', + ], + [ + 'errorCode' => 'InvalidDefaultTargetCapacityType.ValueNotSupported', + 'errorMessage' => 'The specified parameter "DefaultTargetCapacityType" is not supported.', + ], + [ + 'errorCode' => 'InvalidSpotAllocationStrategy.ValueNotSupported', + 'errorMessage' => 'The specified parameter "SpotAllocationStrategy" is not supported.', + ], + [ + 'errorCode' => 'InvalidSpotInstanceInterruptionBehavior.ValueNotSupported', + 'errorMessage' => 'The specified parameter "SpotInstanceInterruptionBehavior" is not supported.', + ], + [ + 'errorCode' => 'InvalidPayAsYouGoAllocationStrategy.ValueNotSupported', + 'errorMessage' => 'The specified parameter "PayAsYouGoAllocationStrategy" is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.SpotAllocationStrategy', + 'errorMessage' => 'The specified parameter "SpotAllocationStrategy" is empty.', + ], + [ + 'errorCode' => 'MissingParameter.LaunchTemplateConfigs', + 'errorMessage' => 'The specified parameter "LaunchTemplateConfigs" is empty.', + ], + [ + 'errorCode' => 'InvalidValidTime.MalFormed', + 'errorMessage' => 'The specified parameter "ValidTime" is not supported.', + ], + [ + 'errorCode' => 'InvalidLaunchTemplateVersion.ValueNotSupported', + 'errorMessage' => 'The specified parameter "LaunchTemplateVersion" is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroup" should not be null.', + ], + [ + 'errorCode' => 'InvalidRegion.ValueNotSupported', + 'errorMessage' => 'The specified Region does not exist.', + ], + [ + 'errorCode' => 'InvalidDescription.ValueNotSupported', + 'errorMessage' => 'The specified description is illegal.', + ], + [ + 'errorCode' => 'InvalidLaunchTemplate.ValueNotSupported', + 'errorMessage' => 'The SecurityGroupId or imageId in LaunchTemplate is not exists.', + ], + [ + 'errorCode' => 'InvalidCapacity.ValueNotSupported', + 'errorMessage' => 'The Capacity is illegal, or the TargetCapacity is large than SpotCapacity + PayAsYouGoCapacity.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The instanceType is illegal.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'InvalidLaunchTemplateConfigs.SizeExceed', + 'errorMessage' => 'The size of LaunchTemplateConfigs exceeds limit.', + ], + [ + 'errorCode' => 'InvalidParameter.SpotInstancePoolsToUseCount', + 'errorMessage' => 'The specified parameter "SpotInstancePoolsToUseCount" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceGroupId', + 'errorMessage' => 'The specified parameter "ResourceGroupId" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetCapacity', + 'errorMessage' => 'The Capacity is illegal, TotalTargetCapacity, PayAsYouGoTargetCapacity, SpotTargetCapacity must be specified, meanwhile, the TargetCapacity must be larger than or equal to the sum of SpotCapacity and OnDemandCapacity.', + ], + [ + 'errorCode' => 'MissingParameter.WeightedCapacity', + 'errorMessage' => 'The WeightedCapacity of LaunchTemplateConfig should not be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.WeightedCapacityBeyondRange', + 'errorMessage' => 'The WeightedCaTpacity of LaunchTemplateConfig beyond permitted range.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxPrice', + 'errorMessage' => 'The specified parameter "MaxSpotPrice" or "MaxPrice" of LaunchTemplateConfig is not valid.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Duplicate.DiskCategory', + 'errorMessage' => 'The specified disk configs contains duplicate DiskCategory.', + ], + [ + 'errorCode' => 'InvalidImageFamily.Confict', + 'errorMessage' => 'The specified parameter ImageFamily should be empty when the parameter ImageId is specified.', + ], + [ + 'errorCode' => 'Invalid.ResourcePoolOptions.PrivatePoolIds', + 'errorMessage' => 'The zone or instancetype of the ResourcePoolOptions.PrivatePoolIds does not match the LaunchTemplateConfig.', + ], + [ + 'errorCode' => 'Invalid.ResourcePoolOptions.Strategy', + 'errorMessage' => 'The specified ResourcePoolOptions.Strategy is invalid.', + ], + [ + 'errorCode' => 'Invalid.ResourcePoolOptionsPrivatePoolIds.SizeExceed', + 'errorMessage' => 'The size of ResourcePoolOptions.PrivatePoolIds exceeds limit.', + ], + [ + 'errorCode' => 'MissingParameter.ResourcePoolOptions.PrivatePoolIds', + 'errorMessage' => 'The specified ResourcePoolOptions.PrivatePoolIds should not be null when ResourcePoolOptions.Strategy is PrivatePoolOnly.', + ], + [ + 'errorCode' => 'InvalidSpotDuration', + 'errorMessage' => 'The specified SpotDuration is not valid.', + ], + [ + 'errorCode' => 'InvalidSpotInterruptionBehavior', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.SecurityGroupIdRepeated', + 'errorMessage' => 'The SecurityGroupId is repeated.', + ], + [ + 'errorCode' => 'VpcMismatch.SecurityGroupAndVSwitch', + 'errorMessage' => 'Specified security group and virtual switch are not in the same VPC.', + ], + [ + 'errorCode' => 'InvalidMinTargetCapacity.NotSatisfied', + 'errorMessage' => 'The inventory of specified InstanceType does not meet the MinTargetCapacity.', + ], + [ + 'errorCode' => 'InvalidParameterRange.MinTargetCapacity', + 'errorMessage' => 'The MinTargetCapacity exceeds the limit[0-TotalTargetCapacity].', + ], + [ + 'errorCode' => 'InvalidUserData.Base64FormatInvalid', + 'errorMessage' => 'The specified parameter UserData must be base64 encoded.', + ], + [ + 'errorCode' => 'InvalidUserData.SizeExceeded', + 'errorMessage' => 'The specified parameter UserData exceeds the size.', + ], + [ + 'errorCode' => 'InvalidAutoReleaseTime.Malformed', + 'errorMessage' => 'The specified parameter AutoReleaseTime is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.AutoProvisioningGroup', + 'errorMessage' => 'The count of AutoProvisioningGroup exceeds the limit.', + ], + ], + 403 => [ + [ + 'errorCode' => 'TotalTargetCapacityLimitExceed', + 'errorMessage' => 'The TotalTargetCapacity exceeds the limit[0-2000].', + ], + [ + 'errorCode' => 'SpotTargetCapacityLimitExceed', + 'errorMessage' => 'The SpotTargetCapacity exceeds the limit[0-2000].', + ], + [ + 'errorCode' => 'PayAsYouGoTargetCapacityLimitExceed', + 'errorMessage' => 'The PayAsYouGoTargetCapacity exceeds the limit[0-2000].', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourcePoolOptionsPrivatePoolIds.NotFound', + 'errorMessage' => 'The ResourcePoolOptions.PrivatePoolIds do not exist.', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => 'The SecurityGroupId %s provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified virtual switch %s does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AutoProvisioningGroupId\\": \\"apg-sn54avj8htgvtyh8****\\",\\n \\"RequestId\\": \\"745CEC9F-0DD7-4451-9FE7-8B752F39****\\",\\n \\"LaunchResults\\": {\\n \\"LaunchResult\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ErrorMsg\\": \\"Specific parameter is not valid.\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"ErrorCode\\": \\"InvalidParameter\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"Amount\\": 1,\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[\\\\\\"i-bp67acfmxazb4p****\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n apg-sn54avj8htgvtyh8****\\n 745CEC9F-0DD7-4451-9FE7-8B752F39****\\n","errorExample":""}]', + 'title' => '创建弹性供应组', + 'description' => '- 弹性供应是一个使用抢占式实例和按量付费实例快速部署实例集群的方案,支持一键部署跨计费方式、跨可用区、跨实例规格族的实例集群。更多信息,请参见[使用弹性供应组API批量创建ECS实例](~~200772~~)。'."\n" + .'- 弹性供应以供应组为载体调度和维护计算资源,您可以通过弹性供应组稳定提供计算力,缓解抢占式实例的回收机制带来的不稳定因素。'."\n" + .'- 弹性供应为免费功能,但是您需要为通过弹性供应组创建出的实例资源付费。更多信息,请参见[抢占式实例计费](~~52088~~)和[按量付费](~~40653~~)。'."\n" + .'- 当您同时指定启动模板(`LaunchTemplateId`)与启动配置信息(`LaunchConfiguration.*`)时,系统优先使用启动模板。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAutoProvisioningGroups' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28900', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所在地域的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的列表页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '2', + 'default' => '10', + ], + ], + [ + 'name' => 'AutoProvisioningGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'testAutoProvisioningGroupName', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'AutoProvisioningGroupId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性供应组ID列表。可输入最多20个弹性供应组ID。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性供应组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'apg-sn54avj8htgvtyh8****', + ], + 'required' => false, + 'example' => 'apg-sn54avj8htgvtyh8****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'AutoProvisioningGroupStatus', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性供应组的状态列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性供应组的状态,取值范围:'."\n" + ."\n" + .'- submitted:完成创建,但弹性供应组尚未开始执行调度任务。'."\n" + .'- active:弹性供应组已开始执行调度任务。'."\n" + .'- deleted:弹性供应组已删除。'."\n" + .'- delete-running:弹性供应组删除中。'."\n" + .'- modifying:弹性供应组修改中。', + 'type' => 'string', + 'required' => false, + 'example' => 'active', + ], + 'required' => false, + 'example' => 'active', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性供应组绑定的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性供应组绑定的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '弹性供应组的标签键。'."\n" + ."\n" + .'N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '弹性供应组的标签值。'."\n" + ."\n" + .'N 的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持 128 个字符,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '745CEC9F-0DD7-4451-9FE7-8B752F39****', + ], + 'PageNumber' => [ + 'description' => '页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询到的弹性供应组的个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'AutoProvisioningGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AutoProvisioningGroup' => [ + 'description' => '弹性供应组的详细信息。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性供应组的详细信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2019-04-01T15:10:20Z', + ], + 'AutoProvisioningGroupName' => [ + 'description' => '弹性供应组的名称。', + 'type' => 'string', + 'example' => 'EcsDocTest', + ], + 'Status' => [ + 'description' => '弹性供应组的状态。可能值:'."\n" + ."\n" + .'- submitted:完成创建,但弹性供应组尚未开始执行调度任务。'."\n" + .'- active:弹性供应组已开始执行调度任务。'."\n" + .'- deleted:弹性供应组已删除。'."\n" + .'- delete-running:弹性供应组删除中。'."\n" + .'- modifying:弹性供应组修改中。', + 'type' => 'string', + 'example' => 'submitted', + ], + 'TerminateInstances' => [ + 'description' => '删除弹性供应组时,是否释放组内实例。可能值:'."\n" + ."\n" + .'- true:释放组内实例。'."\n" + .'- false:保留组内实例。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'MaxSpotPrice' => [ + 'description' => '抢占式实例的最高价格。'."\n" + ."\n" + .'> 同时设置了MaxSpotPrice和LaunchTemplateConfig.N.MaxPrice时,以最低值为准。'."\n" + ."\n" + .'LaunchTemplateConfig.N.MaxPrice在创建弹性供应组时设置,且不可修改。', + 'type' => 'number', + 'format' => 'float', + 'example' => '2', + ], + 'State' => [ + 'description' => '弹性供应组整体调度的执行状态。可能值:'."\n" + ."\n" + .'- fulfilled:已成功完成调度任务。'."\n" + .'- pending-fulfillment:创建实例中。'."\n" + .'- pending-termination:移除实例中。'."\n" + .'- error:调度时发生异常,未能交付实例集群。', + 'type' => 'string', + 'example' => 'fulfilled', + ], + 'LaunchTemplateId' => [ + 'description' => '关联的实例启动模板的ID。', + 'type' => 'string', + 'example' => 'lt-bp1fgzds4bdogu03****', + ], + 'ValidFrom' => [ + 'description' => '弹性供应组的启动时间,和`ValidUntil`结合确定有效时段。', + 'type' => 'string', + 'example' => '2019-04-01T15:10:20Z', + ], + 'LaunchTemplateVersion' => [ + 'description' => '关联的实例启动模板的版本。', + 'type' => 'string', + 'example' => '1', + ], + 'TerminateInstancesWithExpiration' => [ + 'description' => '弹性供应组到期时,是否释放组内实例。可能值:'."\n" + ."\n" + .'- true:释放组内实例。'."\n" + .'- false:只将组内实例移出弹性供应组。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'RegionId' => [ + 'description' => '所在地域的ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ValidUntil' => [ + 'description' => '弹性供应组的到期时间,和`ValidFrom`结合确定有效时段。', + 'type' => 'string', + 'example' => '2019-06-01T15:10:20Z', + ], + 'AutoProvisioningGroupType' => [ + 'description' => '交付类型。可能值:'."\n" + ."\n" + .'- request:一次性。供应组仅在启动时交付实例集群,调度失败后不再重试。'."\n" + ."\n" + .'- maintain:持续供应。供应组在启动时尝试交付实例集群,并监控实时容量,未达到目标容量则尝试继续创建ECS实例。', + 'type' => 'string', + 'example' => 'maintain', + ], + 'AutoProvisioningGroupId' => [ + 'description' => '弹性供应组ID。', + 'type' => 'string', + 'example' => 'apg-sn54avj8htgvtyh8****', + ], + 'ExcessCapacityTerminationPolicy' => [ + 'description' => '弹性供应组实时容量超过目标容量并触发缩容时,是否释放缩容的实例。可能值:'."\n" + ."\n" + .'- termination:释放缩容的实例。'."\n" + .'- no-termination:只将缩容的实例移出弹性供应组。', + 'type' => 'string', + 'example' => 'termination', + ], + 'ResourceGroupId' => [ + 'description' => '弹性供应组所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'LaunchTemplateConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateConfig' => [ + 'description' => '扩展启动模板的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MaxPrice' => [ + 'description' => '扩展启动模板对应实例规格的价格上限。', + 'type' => 'number', + 'format' => 'float', + 'example' => '3', + ], + 'Priority' => [ + 'description' => '扩展启动模板对应的实例规格的优先级,取值为0时最高。', + 'type' => 'number', + 'format' => 'float', + 'example' => '1', + ], + 'VSwitchId' => [ + 'description' => '扩展启动模板对应的虚拟交换机的ID。', + 'type' => 'string', + 'example' => 'vsw-sn5bsitu4lfzgc5o7****', + ], + 'WeightedCapacity' => [ + 'description' => '扩展启动模板对应的实例规格的权重。', + 'type' => 'number', + 'format' => 'float', + 'example' => '2', + ], + 'InstanceType' => [ + 'description' => '扩展启动模板对应的实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + ], + ], + ], + ], + ], + 'SpotOptions' => [ + 'description' => '抢占式实例相关的策略。', + 'type' => 'object', + 'properties' => [ + 'InstancePoolsToUseCount' => [ + 'description' => '弹性供应组选择价格最低的实例规格创建实例的数量。'."\n" + ."\n" + .'> 该参数在创建弹性供应组时被设置,且不可修改。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'AllocationStrategy' => [ + 'description' => '创建抢占式实例的策略。可能值:'."\n" + ."\n" + .'- lowest-price:成本优化策略。选择价格最低的实例规格。'."\n" + ."\n" + .'- diversified:均衡可用区分布策略。在扩展启动模板指定的可用区内创建实例,均匀分布到各可用区。', + 'type' => 'string', + 'example' => 'diversified', + ], + 'InstanceInterruptionBehavior' => [ + 'description' => '停止了超额的抢占式实例后的下一步动作。可能值:'."\n" + ."\n" + .'- stop:保持停止状态。'."\n" + .'- terminate:释放。', + 'type' => 'string', + 'example' => 'stop', + ], + ], + ], + 'PayAsYouGoOptions' => [ + 'description' => '按量付费实例相关的策略。', + 'type' => 'object', + 'properties' => [ + 'AllocationStrategy' => [ + 'description' => '创建按量付费实例的策略。可能值:'."\n" + ."\n" + .'- lowest-price:成本优化策略。选择价格最低的实例规格。'."\n" + ."\n" + .'- prioritized:优先级策略。按照LaunchTemplateConfig.N.Priority设定的优先级创建实例。'."\n" + ."\n" + .'> LaunchTemplateConfig.N.Priority在创建弹性供应组时设置,且不可修改。', + 'type' => 'string', + 'example' => 'prioritized', + ], + ], + ], + 'TargetCapacitySpecification' => [ + 'description' => '弹性供应组的目标容量设置。', + 'type' => 'object', + 'properties' => [ + 'SpotTargetCapacity' => [ + 'description' => '抢占式实例的目标容量。', + 'type' => 'number', + 'format' => 'float', + 'example' => '20', + ], + 'PayAsYouGoTargetCapacity' => [ + 'description' => '按量付费实例的目标容量。', + 'type' => 'number', + 'format' => 'float', + 'example' => '30', + ], + 'DefaultTargetCapacityType' => [ + 'description' => '`PayAsYouGoTargetCapacity`和`SpotTargetCapacity`之和小于`TotalTargetCapacity`时,指定的差额容量的计费方式。可能值:'."\n" + ."\n" + .'- PayAsYouGo:按量付费实例'."\n" + .'- Spot:抢占式实例', + 'type' => 'string', + 'example' => 'Spot', + ], + 'TotalTargetCapacity' => [ + 'description' => '弹性供应组的目标总容量,由以下三个部分组成:'."\n" + ."\n" + .'- PayAsYouGoTargetCapacity'."\n" + .'- SpotTargetCapacity'."\n" + .'- PayAsYouGoTargetCapacity和SpotTargetCapacity之外的差额容量', + 'type' => 'number', + 'format' => 'float', + 'example' => '60', + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '弹性供应组绑定的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性供应组绑定的标签。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '弹性供应组的标签键。'."\n" + ."\n" + .'N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagValue' => [ + 'description' => '弹性供应组的标签值。'."\n" + ."\n" + .'N 的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持 128 个字符,不能包含http://或者https://。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The regionId should not be null.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupName" is not valid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"745CEC9F-0DD7-4451-9FE7-8B752F39****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"AutoProvisioningGroups\\": {\\n \\"AutoProvisioningGroup\\": [\\n {\\n \\"CreationTime\\": \\"2019-04-01T15:10:20Z\\",\\n \\"AutoProvisioningGroupName\\": \\"EcsDocTest\\",\\n \\"Status\\": \\"submitted\\",\\n \\"TerminateInstances\\": false,\\n \\"MaxSpotPrice\\": 2,\\n \\"State\\": \\"fulfilled\\",\\n \\"LaunchTemplateId\\": \\"lt-bp1fgzds4bdogu03****\\",\\n \\"ValidFrom\\": \\"2019-04-01T15:10:20Z\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"TerminateInstancesWithExpiration\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ValidUntil\\": \\"2019-06-01T15:10:20Z\\",\\n \\"AutoProvisioningGroupType\\": \\"maintain\\",\\n \\"AutoProvisioningGroupId\\": \\"apg-sn54avj8htgvtyh8****\\",\\n \\"ExcessCapacityTerminationPolicy\\": \\"termination\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"LaunchTemplateConfigs\\": {\\n \\"LaunchTemplateConfig\\": [\\n {\\n \\"MaxPrice\\": 3,\\n \\"Priority\\": 1,\\n \\"VSwitchId\\": \\"vsw-sn5bsitu4lfzgc5o7****\\",\\n \\"WeightedCapacity\\": 2,\\n \\"InstanceType\\": \\"ecs.g5.large\\"\\n }\\n ]\\n },\\n \\"SpotOptions\\": {\\n \\"InstancePoolsToUseCount\\": 2,\\n \\"AllocationStrategy\\": \\"diversified\\",\\n \\"InstanceInterruptionBehavior\\": \\"stop\\"\\n },\\n \\"PayAsYouGoOptions\\": {\\n \\"AllocationStrategy\\": \\"prioritized\\"\\n },\\n \\"TargetCapacitySpecification\\": {\\n \\"SpotTargetCapacity\\": 20,\\n \\"PayAsYouGoTargetCapacity\\": 30,\\n \\"DefaultTargetCapacityType\\": \\"Spot\\",\\n \\"TotalTargetCapacity\\": 60\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 1\\n 10\\n 85331AC9-82C0-4604-9A14-048865BE****\\n \\n \\n false\\n false\\n 2019-06-17T15:22Z\\n maintain\\n \\n lowest-price\\n \\n test61****\\n \\n no-termination\\n active\\n 5\\n 1\\n 2100-01-01T07:59Z\\n \\n 180\\n 300\\n 120\\n PayAsYouGo\\n \\n fulfilled\\n lt-uf657o6auob6aivd****\\n cn-shanghai\\n apg-uf6c7pl7b30t4m98****\\n \\n 1\\n terminate\\n lowest-price\\n \\n \\n \\n 3\\n 1\\n vsw-uf6qbjwokzl67uqqf****\\n 1\\n ecs.c5.xlarge\\n \\n \\n 2\\n 2\\n vsw-uf6n6iy1ib39eqvph****\\n 1\\n ecs.g5.large\\n \\n \\n 1\\n 3\\n vsw-uf6gs8uerj5osels4****\\n 1\\n ecs.hfc5.large\\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询弹性供应组', + 'summary' => '查询一个或多个弹性供应组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAutoProvisioningGroupInstances' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28899', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询列表的页码。'."\n" + ."\n" + .'起始值:1'."\n" + ."\n" + .'默认值:1', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100'."\n" + ."\n" + .'默认值:10', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AutoProvisioningGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'apg-uf6jel2bbl62wh13****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B48A12CD-1295-4A38-A8F0-0E92C937****', + ], + 'PageNumber' => [ + 'description' => '页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询到的弹性供应组内实例的个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Instances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => '弹性供应组下所有实例的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '实例状态。', + 'type' => 'string', + 'example' => 'Running', + ], + 'CreationTime' => [ + 'description' => '实例创建时间。', + 'type' => 'string', + 'example' => '2017-12-10T04:04Z', + ], + 'IsSpot' => [ + 'description' => '是否为抢占式实例。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'CPU' => [ + 'description' => '实例的vCPU核数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'InstanceId' => [ + 'description' => '实例ID。'."\n", + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'NetworkType' => [ + 'description' => '实例的网络类型,取值范围:'."\n" + ."\n" + .'- vpc:专有网络'."\n" + .'- classic:经典网络', + 'type' => 'string', + 'example' => 'vpc', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'RegionId' => [ + 'description' => '实例所属地域的ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'IoOptimized' => [ + 'description' => '是否为I/O优化型实例。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'OsType' => [ + 'description' => '实例的操作系统类型,取值范围:'."\n" + ."\n" + .'- windows:操作系统类型为Windows。'."\n" + .'- linux:操作系统类型为Linux。', + 'type' => 'string', + 'example' => 'linux', + ], + 'ZoneId' => [ + 'description' => '实例所属可用区。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'Memory' => [ + 'description' => '内存大小,单位MiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1024', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupId" should not be null.', + ], + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The regionId should not be null.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAutoProvisioningGroupId.NotFound', + 'errorMessage' => 'The specified AutoProvisioningGroupId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B48A12CD-1295-4A38-A8F0-0E92C937****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"Status\\": \\"Running\\",\\n \\"CreationTime\\": \\"2017-12-10T04:04Z\\",\\n \\"IsSpot\\": true,\\n \\"CPU\\": 2,\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IoOptimized\\": true,\\n \\"OsType\\": \\"linux\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"Memory\\": 1024\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 2\\n 2\\n A43735F7-30BD-4D89-AB8A-030EB24B****\\n \\n \\n 2019-06-17T15:25Z\\n true\\n linux\\n vpc\\n Running\\n 8192\\n cn-shanghai\\n i-bp67acfmxazb4p****\\n 2\\n cn-shanghai-a\\n ecs.g5.large\\n \\n \\n 2019-06-17T15:25Z\\n true\\n linux\\n vpc\\n Running\\n 8192\\n cn-shanghai\\n i-bp67acfmxazb5p****\\n 2\\n cn-shanghai-a\\n ecs.g5.large\\n \\n \\n","errorExample":""}]', + 'title' => '查询弹性供应组内的实例', + 'summary' => '查询一个弹性供应组内的实例信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyAutoProvisioningGroup' => [ + 'summary' => '修改一个弹性供应组的配置信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29043', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所在地域的ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AutoProvisioningGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'apg-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'ExcessCapacityTerminationPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组实时容量超过目标容量并触发缩容时,是否释放缩容的实例。取值范围:'."\n" + ."\n" + .'- termination:释放缩容的实例。'."\n" + .'- no-termination:只将缩容的实例移出弹性供应组。', + 'type' => 'string', + 'required' => false, + 'example' => 'no-termination', + ], + ], + [ + 'name' => 'DefaultTargetCapacityType', + 'in' => 'query', + 'schema' => [ + 'description' => 'PayAsYouGoTargetCapacity和SpotTargetCapacity之和小于TotalTargetCapacity时,指定差额容量的计费方式。取值范围:'."\n" + ."\n" + .'- PayAsYouGo:按量付费实例。'."\n" + .'- Spot:抢占式实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'Spot', + ], + ], + [ + 'name' => 'TerminateInstancesWithExpiration', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组到期时,是否释放组内实例。取值范围:'."\n" + ."\n" + .'- true:释放组内实例。'."\n" + .'- false:只将组内实例移出弹性供应组。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MaxSpotPrice', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组内抢占式实例的最高价格。'."\n" + ."\n" + .'> 同时设置了MaxSpotPrice和LaunchTemplateConfig.N.MaxPrice时,以最低值为准。LaunchTemplateConfig.N.MaxPrice在创建弹性供应组时设置,且不可修改。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.5', + ], + ], + [ + 'name' => 'TotalTargetCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的目标总容量。取值范围:正整数。'."\n" + ."\n" + .'总容量必须大于等于PayAsYouGoTargetCapacity(指定的按量付费实例目标容量)和SpotTargetCapacity(指定的抢占式实例目标容量)取值之和。', + 'type' => 'string', + 'required' => false, + 'example' => '70', + ], + ], + [ + 'name' => 'PayAsYouGoTargetCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组内,按量付费实例的目标容量。取值范围:小于TotalTargetCapacity的参数取值。', + 'type' => 'string', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'SpotTargetCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组内,抢占式实例的目标容量。取值范围:小于TotalTargetCapacity的参数取值。', + 'type' => 'string', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'AutoProvisioningGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'apg-test', + ], + ], + [ + 'name' => 'LaunchTemplateConfig', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '扩展启动模板列表。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展启动模板列表。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '扩展启动模板中,ECS实例加入的虚拟交换机的ID。扩展模板中启动的ECS实例的可用区由虚拟交换机决定。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-sn5bsitu4lfzgc5o7****', + ], + 'MaxPrice' => [ + 'description' => '扩展启动模板中,抢占式实例的价格上限。', + 'type' => 'number', + 'format' => 'double', + 'required' => false, + 'example' => '3', + ], + 'Priority' => [ + 'description' => '扩展启动模板的优先级,取值为0时优先级最高。取值范围:大于0。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'InstanceType' => [ + 'description' => '扩展启动模板对应的实例规格,N的取值范围:1~20。取值范围:请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + 'WeightedCapacity' => [ + 'description' => '扩展启动模板中,实例规格的权重。取值越高,单台实例满足计算力需求的能力越大,所需的实例数量越小。取值范围:大于0。'."\n" + ."\n" + .'您可以根据指定实例规格的计算力和集群单节点最低计算力得出权重值。假设单节点最低计算力为8 vCPU、60 GiB,则:'."\n" + ."\n" + .'- 8 vCPU、60 GiB的实例规格权重可以设置为1。'."\n" + .'- 16 vCPU、120 GiB的实例规格权重可以设置为2。', + 'type' => 'number', + 'format' => 'double', + 'required' => false, + 'example' => '2', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B48A12CD-1295-4A38-A8F0-0E92C937****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupId" should not be null.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidLaunchTemplateConfigs.SizeExceed', + 'errorMessage' => 'The size of LaunchTemplateConfigs exceeds limit.', + ], + [ + 'errorCode' => 'QuotaExceed.LaunchTemplateConfigs', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'VpcMismatch.SecurityGroupAndVSwitch', + 'errorMessage' => 'Specified security group and virtual switch are not in the same VPC.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupName" is not valid.', + ], + [ + 'errorCode' => 'AutoProvisioningGroup.Unauthorized', + 'errorMessage' => 'Unauthorized to operate current action.', + ], + [ + 'errorCode' => 'AutoProvisioningGroup.IncorrectStatus', + 'errorMessage' => 'Current status of AutoProvisioningGroup does not support curren action.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetCapacity', + 'errorMessage' => 'The Capacity is illegal, TotalTargetCapacity, PayAsYouGoTargetCapacity, SpotTargetCapacity must be specified, meanwhile, the TargetCapacity must be larger than or equal to the sum of SpotCapacity and OnDemandCapacity.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAutoProvisioningGroupId.NotFound', + 'errorMessage' => 'The specified AutoProvisioningGroupId does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxPrice', + 'errorMessage' => 'The specified parameter "MaxSpotPrice" is not valid.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified virtual switch %s does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B48A12CD-1295-4A38-A8F0-0E92C937****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 928E2273-5715-46B9-A730-238DC996****\\n","errorExample":""}]', + 'title' => '修改弹性供应组的配置', + 'description' => '修改弹性供应组前,请注意:'."\n" + ."\n" + .'- 如果修改了供应组容量或者容量相关设置,供应组会在修改完成后执行一次调度任务。'."\n" + .'- 如果供应组处于删除中状态,无法修改供应组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAutoProvisioningGroupHistory' => [ + 'summary' => '调用DescribeAutoProvisioningGroupHistory查询弹性供应组的调度任务信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28898', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所在地域的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询的当前页码。起始值:1'."\n" + ."\n" + .'默认值:1', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。最大值:100'."\n" + ."\n" + .'默认值:10', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '5', + 'default' => '10', + ], + ], + [ + 'name' => 'AutoProvisioningGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'apg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '查询调度历史的起始时间。按照[ISO8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-04-01T15:10:20Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '查询调度历史的结束时间。按照[ISO8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-06-20T15:10:20Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B48A12CD-1295-4A38-A8F0-0E92C937****', + ], + 'PageNumber' => [ + 'description' => '页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询到的调度任务的总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'AutoProvisioningGroupHistories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AutoProvisioningGroupHistory' => [ + 'description' => '所有调度任务的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '单次调度任务的状态。可能值:'."\n" + ."\n" + .'- prepare:调度任务执行中。'."\n" + .'- success:调度任务执行成功。'."\n" + .'- failed:调度任务执行失败。', + 'type' => 'string', + 'example' => 'success', + ], + 'StartTime' => [ + 'description' => '开始执行单次调度任务的时间。', + 'type' => 'string', + 'example' => '2019-04-01T15:10:20Z', + ], + 'TaskId' => [ + 'description' => '单次调度任务的ID。', + 'type' => 'string', + 'example' => 'apg-task-bp67acfmxazb4p****', + ], + 'LastEventTime' => [ + 'description' => '单次调度任务最后一次实例创建活动的执行时间。', + 'type' => 'string', + 'example' => '2019-04-01T15:10:20Z', + ], + 'ActivityDetails' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ActivityDetail' => [ + 'description' => '单次调度任务的详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '单次调度任务一次实例创建活动的执行状态。可能值:'."\n" + ."\n" + .'- Successful:实例创建成功。'."\n" + .'- Failed:实例创建失败。'."\n" + .'- InProgress:实例创建中。'."\n" + .'- Warning:实例部分创建成功。', + 'type' => 'string', + 'example' => 'Successful', + ], + 'Detail' => [ + 'description' => '单次调度任务一次实例创建活动的执行详情。', + 'type' => 'string', + 'example' => 'New ECS instances "i-bp67acfmxazb4p****, i-bp67acfmxazb5p****" created.', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupId" should not be null.', + ], + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The regionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.periodTime', + 'errorMessage' => 'The format of startTime or endTime is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAutoProvisioningGroupId.NotFound', + 'errorMessage' => 'The specified AutoProvisioningGroupId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B48A12CD-1295-4A38-A8F0-0E92C937****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"AutoProvisioningGroupHistories\\": {\\n \\"AutoProvisioningGroupHistory\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"StartTime\\": \\"2019-04-01T15:10:20Z\\",\\n \\"TaskId\\": \\"apg-task-bp67acfmxazb4p****\\",\\n \\"LastEventTime\\": \\"2019-04-01T15:10:20Z\\",\\n \\"ActivityDetails\\": {\\n \\"ActivityDetail\\": [\\n {\\n \\"Status\\": \\"Successful\\",\\n \\"Detail\\": \\"New ECS instances \\\\\\"i-bp67acfmxazb4p****, i-bp67acfmxazb5p****\\\\\\" created.\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 1\\n 10\\n BA55349F-6E36-4E64-964B-419515D1****\\n \\n \\n success\\n \\n \\n New ECS instances i-bp67acfmxazb4ph***, i-bp67acfmxazb4pi*** created.\\n Successful\\n \\n \\n 2019-06-17T08:48:00Z\\n 2019-06-17T08:47:52Z\\n apg-task-uf66bqtabg10wcf6****\\n \\n \\n","errorExample":""}]', + 'title' => '查询弹性供应组的调度任务信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteAutoProvisioningGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28856', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组所在地域的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AutoProvisioningGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性供应组的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'apg-bpuf6jel2bbl62wh13****', + ], + ], + [ + 'name' => 'TerminateInstances', + 'in' => 'query', + 'schema' => [ + 'description' => '删除弹性供应组时是否释放组内实例。取值范围:'."\n" + ."\n" + .'- true:释放组内实例。'."\n" + .'- false:组内实例继续运行。'."\n" + ."\n" + .'>此参数值默认继承于调用`CreateAutoProvisioningGroup`创建弹性供应组时设置的`TerminateInstances`参数值,您也可以在调用本接口删除弹性供应组时,重新设置`TerminateInstances`参数值。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B48A12CD-1295-4A38-A8F0-0E92C937****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.InstanceType', + 'errorMessage' => 'The specified parameter "TerminateInstances" should be not empty.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified parameter "AutoProvisioningGroupId" should not be null.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', + ], + [ + 'errorCode' => 'AutoProvisioningGroup.Unauthorized', + 'errorMessage' => 'Unauthorized to operate current action.', + ], + [ + 'errorCode' => 'AutoProvisioningGroup.IncorrectStatus', + 'errorMessage' => 'Current status of AutoProvisioningGroup does not support curren action.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAutoProvisioningGroupId.NotFound', + 'errorMessage' => 'The specified AutoProvisioningGroupId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B48A12CD-1295-4A38-A8F0-0E92C937****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 928E2273-5715-46B9-A730-238DC996****\\n","errorExample":""}]', + 'title' => '删除弹性供应组', + 'summary' => '指定参数AutoProvisioningGroupId、TerminateInstances删除一个弹性供应组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateDeploymentSet' => [ + 'summary' => '在指定的地域内创建一个部署集。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28821', + 'abilityTreeNodes' => [ + 'FEATUREecsZSKDHB', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'OnUnableToRedeployFailedInstance', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集内实例宕机迁移后,缺乏可供打散的实例库存的紧急处理方案。取值范围: '."\n" + .' '."\n" + .'- CancelMembershipAndStart:将实例移出部署集,宕机迁移后即刻启动实例。'."\n" + .'- KeepStopped:维持实例的部署集属性,实例保持停止状态。'."\n" + ."\n" + .'默认值:CancelMembershipAndStart。', + 'type' => 'string', + 'required' => false, + 'example' => 'CancelMembershipAndStart', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集描述信息。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DeploymentSetName', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDeploymentSetName', + ], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Granularity', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Strategy', + 'in' => 'query', + 'schema' => [ + 'description' => '部署策略。取值范围:'."\n" + ."\n" + .'- Availability:高可用策略。'."\n" + ."\n" + .'- AvailabilityGroup:部署集组高可用策略。'."\n" + ."\n" + .'- LowLatency:网络低时延策略。'."\n" + ."\n" + .'默认值:Availability。', + 'type' => 'string', + 'required' => false, + 'example' => 'Availability', + ], + ], + [ + 'name' => 'GroupCount', + 'in' => 'query', + 'schema' => [ + 'description' => '为部署集组高可用策略设置分组数量。取值范围:1~7。'."\n" + ."\n" + .'默认值:3。'."\n" + ."\n" + .'> 该参数仅当`Strategy=AvailabilityGroup`时生效。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DeploymentSetId' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'example' => 'ds-bp1frxuzdg87zh4pzq****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter RegionId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidDeploymentSetName.Malformed', + 'errorMessage' => 'Specified deployment set name is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Domain', + 'errorMessage' => 'The specified parameter Domain is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Strategy', + 'errorMessage' => 'The specified parameter Strategy is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.granularity', + 'errorMessage' => 'The specified parameter Granularity is not valid.', + ], + [ + 'errorCode' => 'DependencyViolation.domain.granularity', + 'errorMessage' => 'The DeploymentSet domain and granularity is violation.', + ], + [ + 'errorCode' => 'DependencyViolation.strategy.granularity', + 'errorMessage' => 'The DeploymentSet strategy and granularity is violation.', + ], + [ + 'errorCode' => 'DeploymentSet.GroupQuotaFull', + 'errorMessage' => 'The deploymentSet group quota is full.', + ], + [ + 'errorCode' => 'InvalidParameter.GroupCount', + 'errorMessage' => 'The specified parameter "GroupCount" is not valid.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The zoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'QuotaExceed.DeploymentSet', + 'errorMessage' => 'The deploymentSet quota is full.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4pzq****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ds-bp1frxuzdg87zh4pzq****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '在指定的地域内创建部署集', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDeploymentSetSupportedInstanceTypeFamily' => [ + 'summary' => '调用DescribeDeploymentSetSupportedInstanceTypeFamily,并指定RegionId、Strategy参数,查询支持各部署集策略的实例规格族。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28919', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Strategy', + 'in' => 'query', + 'schema' => [ + 'description' => '部署策略。取值范围:'."\n" + ."\n" + .'- Availability:高可用策略。'."\n" + ."\n" + .'- AvailabilityGroup:部署集组高可用策略。'."\n" + ."\n" + .'- LowLatency:网络低时延策略。'."\n" + ."\n" + .'默认值:Availability。', + 'type' => 'string', + 'required' => false, + 'example' => 'Availability', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceTypeFamilies' => [ + 'description' => '支持对应部署集策略的实例规格族。', + 'type' => 'string', + 'example' => 'ecs.i2g,ecs.i1,ecs.i2ne,ecs.i2gne', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B7DB-A3DC7DE1****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceTypeFamilies\\": \\"ecs.i2g,ecs.i1,ecs.i2ne,ecs.i2gne\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B7DB-A3DC7DE1****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B7DB-A3DC7DE1****\\n ecs.sccgn6ex,ecs.i2g,ecs.i1,ecs.i2ne,ecs.i2gne,ecs.hfc6,ecs.hfg6,ecs.hfr6,ecs.sn1nec,ecs.sn2nec,ecs.se1nec,ecs.c6,ecs.g6,ecs.r6,ecs.scch5s,ecs.sccg5s,ecs.ic5,ecs.c5,ecs.d1,ecs.d1-c14d3,ecs.d1-c8d3,ecs.d1ne,ecs.g5,ecs.hfc5,ecs.hfg5,ecs.i2,ecs.mn4,ecs.n1,ecs.n1.tiny,ecs.n2,ecs.n4,ecs.r5,ecs.se1,ecs.se1ne,ecs.sn1,ecs.sn1ne,ecs.sn2,ecs.sn2ne,ecs.xn4,ecs.s1,ecs.s2,ecs.s3,ecs.t1,ecs.scch5,ecs.ebmg5,ecs.sccg5,ecs.sccgn6,ecs.re6,ecs.d2,ecs.d2s,ecs.d2c,ecs.sccgn6ne-inc,ecs.g5ne\\n","errorExample":""}]', + 'title' => '查询支持部署集的实例规格族', + 'description' => '## 接口说明'."\n" + ."\n" + .'更多实例规格族的详情,请参见[实例规格族](~~25378~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDeploymentSets' => [ + 'summary' => '查询一个或多个部署集的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28918', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集列表的页码。'."\n" + ."\n" + .'起始值为1。'."\n" + ."\n" + .'默认值为1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'DeploymentSetIds', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID列表。取值可以由多个部署集ID组成一个JSON数组,格式为`["ds-xxxxxxxxx", "ds-yyyyyyyyy", … "ds-zzzzzzzzz"]`。最多支持100个ID,ID之间用半角逗号(,)隔开。 ', + 'type' => 'string', + 'required' => false, + 'example' => '["ds-bp67acfmxazb4ph****", "ds-bp67acfmxazb4pi****", … "ds-bp67acfmxazb4pj****"]', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Strategy', + 'in' => 'query', + 'schema' => [ + 'description' => '部署策略。取值范围:'."\n" + ."\n" + .'- Availability:高可用策略。'."\n" + .'- AvailabilityGroup:部署集组高可用策略。', + 'type' => 'string', + 'required' => false, + 'example' => 'Availability', + ], + ], + [ + 'name' => 'DeploymentSetName', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能`以http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDeploymentSetName', + ], + ], + [ + 'name' => 'Granularity', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageNumber' => [ + 'description' => '部署集列表的页数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '查询到的部署集总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => '部署集所处的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'DeploymentSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DeploymentSet' => [ + 'description' => '由DeploymentSet组成的数组格式,返回部署集详细信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '部署集的创建时间。', + 'type' => 'string', + 'example' => '2021-12-07T06:01:46Z', + ], + 'Strategy' => [ + 'description' => '部署策略。', + 'type' => 'string', + 'example' => 'LooseDispersion', + ], + 'DeploymentSetId' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'example' => 'ds-bp67acfmxazb4ph****', + ], + 'AccountId' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + 'DeploymentStrategy' => [ + 'description' => '部署策略。该返回值对应请求参数`Strategy`的值。', + 'type' => 'string', + 'example' => 'Availability', + ], + 'DeploymentSetDescription' => [ + 'description' => '部署集的描述信息。', + 'type' => 'string', + 'example' => 'testDeploymentSetDescription', + ], + 'Domain' => [ + 'description' => '部署域。', + 'type' => 'string', + 'example' => 'default', + ], + 'GroupCount' => [ + 'description' => '部署集中的分组数量。'."\n" + ."\n" + .'> 当部署集策略为部署集组高可用策略(AvailabilityGroup)时,该返回值生效。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Granularity' => [ + 'description' => '部署粒度。', + 'type' => 'string', + 'example' => 'host', + ], + 'DeploymentSetName' => [ + 'description' => '部署集名称。', + 'type' => 'string', + 'example' => 'testDeploymentSetName', + ], + 'InstanceAmount' => [ + 'description' => '部署集内的实例数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => '部署集内的实例ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4ph****', + ], + ], + ], + ], + 'Capacities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Capacity' => [ + 'description' => '由Capacity组成的数组格式。仅当部署集内有存量ECS实例时提供返回结果,返回结果包含部署集可用区维度的容量信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => [ + 'description' => '可用区ID。只返回部署集内存量ECS实例所属的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-i', + ], + 'UsedAmount' => [ + 'description' => '部署集内属于该可用区的ECS实例数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'AvailableAmount' => [ + 'description' => '该可用区内,还可以加入当前部署集的ECS实例数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '18', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidDeploymentSetIds.TooManyInput', + 'errorMessage' => 'The parameter DeploymentSets size should less than 100.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DeploymentSets\\": {\\n \\"DeploymentSet\\": [\\n {\\n \\"CreationTime\\": \\"2021-12-07T06:01:46Z\\",\\n \\"Strategy\\": \\"LooseDispersion\\",\\n \\"DeploymentSetId\\": \\"ds-bp67acfmxazb4ph****\\",\\n \\"AccountId\\": 0,\\n \\"DeploymentStrategy\\": \\"Availability\\",\\n \\"DeploymentSetDescription\\": \\"testDeploymentSetDescription\\",\\n \\"Domain\\": \\"default\\",\\n \\"GroupCount\\": 3,\\n \\"Granularity\\": \\"host\\",\\n \\"DeploymentSetName\\": \\"testDeploymentSetName\\",\\n \\"InstanceAmount\\": 3,\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"i-bp67acfmxazb4ph****\\"\\n ]\\n },\\n \\"Capacities\\": {\\n \\"Capacity\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-i\\",\\n \\"UsedAmount\\": 2,\\n \\"AvailableAmount\\": 18\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n 2021-12-07T06:01:46Z\\n host\\n testDeploymentSetDescription\\n default\\n \\n i-bp67acfmxazb4ph****\\n i-bp67acfmxazb4pi****\\n i-bp67acfmxazb4pj****\\n \\n 3\\n LooseDispersion\\n testDeploymentSetName\\n Availability\\n ds-bp67acfmxazb4ph****\\n \\n \\n 1\\n cn-hangzhou-h\\n 19\\n \\n \\n 2\\n cn-hangzhou-i\\n 18\\n \\n \\n \\n \\n 1\\n 1\\n 1\\n cn-hangzhou\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', + 'title' => '查询部署集的属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceDeployment' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29073', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph***', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。调用[DescribeDedicatedHosts](~~134242~~)查看可以使用的专有宿主机。'."\n" + ."\n" + .'修改ECS实例宿主机(即将ECS实例从共享宿主机迁移至专有宿主机,或在不同专有宿主机间迁移ECS实例)时:'."\n" + .'- 若将实例迁移至指定专有宿主机上,必须设置该参数。'."\n" + .'- 若将实例迁移至系统自动为您选择的专有宿主机上,必须将该参数设置为空,并将参数`Tenancy`设置为host。'."\n" + ."\n" + .'自动部署功能详情,请参见[专有宿主机功能特性](~~118938~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'dh-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID。'."\n" + ."\n" + .'将ECS实例加入一个部署集,或调整ECS实例的部署集时,该参数为必填参数。'."\n" + ."\n" + .'> 修改专有宿主机的相关参数(`Tenancy`、`Affinity`和`DedicatedHostId`)时,不可同时修改部署集。', + 'type' => 'string', + 'required' => false, + 'example' => 'ds-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'DeploymentSetGroupNo', + 'in' => 'query', + 'schema' => [ + 'description' => '当ECS实例要加入或调整的部署集策略为部署集组高可用策略(AvailabilityGroup)时,可以通过该参数指定实例在部署集中的分组号。取值范围:1~7。'."\n" + ."\n" + .'> 如果您为ECS实例调整部署集,且部署集策略为部署集组高可用策略(`AvailablilityGroup`),当不指定该参数时,系统会自动在各组之间均衡分配ECS实例。如果您为ECS实例指定的仍是当前实例所属的部署集,系统也会重新在各组之间均衡分配ECS实例。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => '实例在调整部署集时,是否强制更换实例宿主机。取值范围:'."\n" + .' '."\n" + .'- true:允许。允许重启运行中(Running)、已停止(Stopped)状态的ECS实例。已停止状态的实例不包括启用节省停机模式的按量付费ECS实例。'."\n" + .' > 如果您指定的ECS实例搭载了本地盘,则本地盘也会允许强制更换,这可能导致在更换宿主机时本地盘数据丢失,请谨慎操作。'."\n" + ."\n" + .'- false:不允许。只在当前宿主机上加入部署集。这可能导致更换部署集失败。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => [ + 'description' => '实例是否与专有宿主机关联。取值范围:'."\n" + ."\n" + .'- host:关联。已启用节省停机模式的实例停机后再次启动时,仍部署在原专有宿主机上。'."\n" + ."\n" + .'- default:不关联。已启用节省停机模式的实例停机后再次启动时,若原专有宿主机资源不足,可迁移至自动部署资源池中的其它专有宿主机上。'."\n" + ."\n" + .'实例从共享宿主机迁移至专有宿主机时,默认值为default。', + 'type' => 'string', + 'required' => false, + 'example' => 'host', + ], + ], + [ + 'name' => 'Tenancy', + 'in' => 'query', + 'schema' => [ + 'description' => '实例是否在专有宿主机上部署。取值:host,仅支持实例在专有宿主机上部署。', + 'type' => 'string', + 'required' => false, + 'example' => 'host', + ], + ], + [ + 'name' => 'MigrationType', + 'in' => 'query', + 'schema' => [ + 'description' => '是否先停止实例,再迁移到目标专有宿主机。取值范围:'."\n" + ."\n" + .'- reboot:先停止实例再迁移。'."\n" + ."\n" + .'- live:不停止实例,直接迁移。此时,您必须指定参数DedicatedHostId。该取值不支持在迁移ECS实例的同时变更实例规格。'."\n" + ."\n" + .'默认值:reboot。', + 'type' => 'string', + 'required' => false, + 'example' => 'live', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例要变更的目标实例规格。调用[DescribeInstanceTypes](~~25620~~)接口可获取最新实例规格列表。'."\n" + ."\n" + .'修改ECS实例宿主机时,可同时变更ECS实例规格。目标实例规格必须与指定专有宿主机的规格相匹配,详情请参见[宿主机规格](~~68564~~)。'."\n" + .'- 变更实例规格时,必须指定专有宿主机ID,即设置参数`DedicatedHostId`的值。'."\n" + .'- 使用自动部署功能迁移ECS实例时,不能变更实例规格。'."\n" + ."\n\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.large', + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机集群ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dc-bp67acfmxazb4ph****', + ], + ], + [ + 'name' => 'RemoveFromDeploymentSet', + 'in' => 'query', + 'schema' => [ + 'description' => '是否将所选实例移出所选部署集。取值范围:'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 当该参数为true时,必须指定具有所属关系的InstanceId和DeploymentSetId。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.UnstoppedInstance', + 'errorMessage' => 'Operation denied due to unstopped instance.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostStatus.NotSupport', + 'errorMessage' => 'Operation denied due to dedicated host status.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can\'t exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'NoAvaliableDedicatedHost', + 'errorMessage' => 'There\'s no enough resource on the specified dedicated host.', + ], + [ + 'errorCode' => 'OperationDenied.LocalDiskInstance', + 'errorMessage' => 'Operation denied due to instance has local disk.', + ], + [ + 'errorCode' => 'InvalidParameter.Param', + 'errorMessage' => 'Requested param is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.Tenancy', + 'errorMessage' => 'The specified Tenancy is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.DedicatedHostId', + 'errorMessage' => 'The specified dedicated host id is the same with present host id!', + ], + [ + 'errorCode' => 'InvalidDedicatedHost.NotEnoughResource', + 'errorMessage' => 'There\'s no available dedicated host to perform the operation.', + ], + [ + 'errorCode' => 'OperationDenied.InvalidInstance', + 'errorMessage' => 'The specified instance is not dedicated instance.', + ], + [ + 'errorCode' => 'ChargeTypeViolation.PostPaidDedicatedHost', + 'errorMessage' => 'Prepaid instance onto postpaid dedicated host is not allowed.', + ], + [ + 'errorCode' => 'OperationDenied.NotSupport', + 'errorMessage' => 'Ecs on dedicatedHost has been migrated.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'OperationDenied.CannotPerform', + 'errorMessage' => 'Live migration cannot be performed.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidParameter.Tenancy', + 'errorMessage' => 'The specified Tenancy is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Affinity', + 'errorMessage' => 'The specified Affinity is invalid.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupport', + 'errorMessage' => 'The parameter EcsMigrationType conflict with InstanceType, live migration do not support InstanceType alter on ddh.', + ], + [ + 'errorCode' => 'InvalidParam.InstanceId', + 'errorMessage' => 'The specified InstanceId should be on dedicatedHost.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.NotFound', + 'errorMessage' => 'The specified DedicatedHostClusterId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.Invalid', + 'errorMessage' => 'The specified Dedicated Host Cluster is invalid.', + ], + [ + 'errorCode' => 'InvalidDestinationZone.DeploymentSetMismatch', + 'errorMessage' => 'Error happened, %s.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The resource is out of usage.', + ], + [ + 'errorCode' => 'InvalidDeploymentSetId.NoAvailableResources', + 'errorMessage' => 'There are no available resources for the specified deployment, you can set the parameter force to true to retry, or wait for additional resource to become available.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDeploymentSetId.NotFound', + 'errorMessage' => 'The specified deployment set does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + [ + 'errorCode' => 'OperationDenied.UnstoppedInstance', + 'errorMessage' => 'Operation denied due to unstopped instance.', + ], + [ + 'errorCode' => 'InvalidInstanceNetworkType.NotSupport', + 'errorMessage' => 'The specified Instance network type not support.', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.NotSupport', + 'errorMessage' => 'The Dedicated host not support the specified instance charge type.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupport', + 'errorMessage' => 'The Dedicated host not support the specified instance type.', + ], + [ + 'errorCode' => 'InvalidParameter.DeploymentSetGroupNo', + 'errorMessage' => 'Parameter DeploymentSetGroupNo is invalid.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotSupport', + 'errorMessage' => 'Cannot choose instance present host as destination host.', + ], + [ + 'errorCode' => 'InvalidDedicatedHost.NotFound', + 'errorMessage' => 'No available host.', + ], + [ + 'errorCode' => 'InvalidParam.DedicatedHostId', + 'errorMessage' => 'Parameter dedicated host id must been provided in such operation.', + ], + [ + 'errorCode' => 'InvalidDedicatedHost.ZoneNotMatch', + 'errorMessage' => 'The specify dedicated host zone location not match the instance zone location.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupport', + 'errorMessage' => 'The specified DedicatedHost operation not supported on MPS.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE7****\\n","errorExample":""}]', + 'title' => '修改实例部署集', + 'summary' => '修改ECS实例的部署集,或迁移ECS实例至专有宿主机。支持在迁移ECS实例的同时变更实例规格。', + 'description' => '迁移ECS实例至专有宿主机,或在迁移实例同时变更ECS实例规格时,必须满足以下条件:'."\n" + ."\n" + .'- ECS实例必须处于**已停止**(Stopped)状态,迁移后实例自动重启。'."\n" + .'- 只支持专有网络VPC类型的ECS实例。'."\n" + .'- ECS实例与专有宿主机必须属于同一账号、同一地域和可用区。'."\n" + .'- 按量付费ECS实例可以迁移到包年包月专有宿主机上。包年包月ECS实例只能在包年包月专有宿主机之间迁移,且实例到期时间不能超过目标专有宿主机的到期时间。'."\n" + .'- 将ECS实例从共享宿主机迁移至专有宿主机时,实例的计费方式只能是按量付费,不支持包年包月实例和抢占式实例。'."\n" + .'- ECS实例可以指定专有宿主机集群重新部署。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDeploymentSetAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29055', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ds-bp1frxuzdg87zh4p****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '新的部署集描述信息。长度为2~256个英文或中文字符,不能以http://和https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestDescription', + ], + ], + [ + 'name' => 'DeploymentSetName', + 'in' => 'query', + 'schema' => [ + 'description' => '新的部署集名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'DeploymentSetTestName', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter RegionId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidDeploymentSetName.Malformed', + 'errorMessage' => 'Specified deployment set name is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidDeploymentSetId.NotFound', + 'errorMessage' => 'The specified DeploymentSetId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":"{\\n\\t\\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}"},{"type":"xml","example":"\\n\\t04F0F334-1335-436C-A1D7-6C044FE73368\\n","errorExample":"\\n\\t04F0F334-1335-436C-A1D7-6C044FE73368\\n"}]', + 'title' => '修改部署集的名称和描述信息', + 'summary' => '修改一个部署集的名称和描述信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteDeploymentSet' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28862', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '部署集所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '即将删除的部署集ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ds-bp1g5ahlkal88d7x****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "DeploymentSetId" that is mandatory for processing this request is not supplied.', + ], + ], + 403 => [ + [ + 'errorCode' => 'DependencyViolation.NotEmpty', + 'errorMessage' => 'There are still instance(s) in the specified DeploymentSetId.', + ], + [ + 'errorCode' => 'DependencyViolation.ReferByHPC', + 'errorMessage' => 'The specified deployment set is still referred by an HPC cluster.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":"\\n\\t04F0F334-1335-436C-A1D7-6C044FE73368\\n"},{"type":"xml","example":"\\n\\t04F0F334-1335-436C-A1D7-6C044FE73368\\n","errorExample":"https://ecs.example.com/?Action=DeleteDeploymentSet\\n&RegionId=cn-hangzhou\\n&DeploymentSetId=ds-bp1frxuzdg87zh4pzqkc\\n&<公共请求参数>"}]', + 'title' => '删除部署集', + 'summary' => '删除一个部署集。', + 'description' => '在删除部署集之前请确保部署集内没有实例。如果存在实例,必须移出或者释放实例后才能删除部署集,具体操作,请参见[调整实例所属部署集](~~108407~~)和[释放ECS实例](~~25442~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateElasticityAssurance' => [ + 'summary' => '通过指定弹性保障服务所属地域下的可用区、实例规格、购买时长、是否自动续费等参数创建弹性保障服务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28824', + 'abilityTreeNodes' => [ + 'FEATUREecsC0XNJQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障服务的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对信息。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '弹性保障服务的标签值。N的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '弹性保障服务的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长。时长单位由`PeriodUnit`参数确定。取值范围:'."\n" + ."\n" + .'- 当`PeriodUnit`参数值为`Month`时,该参数的取值:1、2、3、4、5、6、7、8、9。'."\n" + .'- 当`PeriodUnit`参数值为`Year`时,该参数的取值:1、2、3、4、5。'."\n" + .'- 当`PeriodUnit`参数值为`Day`时,该参数的取值:1~365。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '时长单位。取值范围:'."\n" + ."\n" + .'- Month:月'."\n" + .'- Year:年'."\n" + .'- Day:天'."\n" + .' > `PeriodUnit`取值为`Day`时,必须同时指定RecurrenceRules,表示创建弹性保障-分时保障。'."\n" + ."\n" + .'默认值:Year。', + 'type' => 'string', + 'required' => false, + 'example' => 'Year', + 'default' => 'Year', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Name', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务的名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'eapTestName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务的描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务的匹配模式。取值范围:'."\n" + ."\n" + .'- Open:开放模式的弹性保障服务。实例启动时将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。'."\n" + .'- Target:指定模式的弹性保障服务。实例启动时将使用指定的私有池容量,如果该私有池容量不可用,则实例会启动失败。'."\n" + ."\n" + .'默认值:Open。', + 'type' => 'string', + 'required' => false, + 'example' => 'Open', + 'default' => 'Open', + ], + ], + [ + 'name' => 'AssuranceTimes', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障的总次数。取值:Unlimited,目前仅支持在服务生效期内的无限次模式。'."\n" + ."\n" + .'默认值:Unlimited。', + 'type' => 'string', + 'required' => false, + 'example' => 'Unlimited', + 'default' => 'Unlimited', + ], + ], + [ + 'name' => 'InstanceAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '在一个实例规格内,需要预留的实例的总数量。'."\n" + ."\n" + .'取值范围:1~1000。'."\n" + ."\n" + .'>此参数为必填参数。>', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '2', + ], + ], + [ + 'name' => 'InstanceCpuCoreCount', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => 'null', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务生效时间。默认为调用该接口创建服务的时间。时间格式以ISO 8601为标准,需要使用UTC +0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '2020-10-30T06:32:00Z', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障服务所属地域下的可用区ID。目前仅支持在一个可用区下创建弹性保障服务。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障服务所属地域下的可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-h', + ], + 'required' => true, + 'example' => 'cn-hangzhou-h', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例规格。目前仅支持为一个实例规格设置弹性保障服务。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.xlarge', + ], + 'required' => true, + 'example' => 'ecs.c6.xlarge', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RecurrenceRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障-分时保障重复规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障-分时保障重复规则。', + 'type' => 'object', + 'properties' => [ + 'StartHour' => [ + 'description' => '分时保障生效时间,取值必须为整点。'."\n" + ."\n" + .'> 同时指定`StartHour`和`EndHour`,且两者至少需要相差4小时。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + 'RecurrenceType' => [ + 'description' => '重复规则的策略类型。取值范围:'."\n" + .'- Daily:按天重复。'."\n" + .'- Weekly:按周重复。'."\n" + .'- Monthly:按月重复。'."\n" + ."\n" + .'> 必须同时指定`RecurrenceType`和`RecurrenceValue`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Daily', + ], + 'EndHour' => [ + 'description' => '分时保障结束时间,取值必须为整点。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + 'RecurrenceValue' => [ + 'description' => '重复规则执行数值。'."\n" + ."\n" + .'- `RecurrenceType`为`Daily`时,只能填一个值,取值范围:1~31。表示每几天执行一次。'."\n" + .'- `RecurrenceType`为`Weekly`时,可以填入多个值,多个值间使用半角逗号(,)隔开。周日、周一、周二、周三、周四、周五、周六的值依次为:0,1,2,3,4,5,6。例如`1,2`表示周一和周二执行。'."\n" + .'- `RecurrenceType`为`Monthly`时,格式为`A-B`。A、B的取值范围为1~31,并且B必须大于等于A。例如:`1-5`表示每月的1~5日重复执行。'."\n" + ."\n" + .'> 必须同时指定`RecurrenceType`和`RecurrenceValue`。', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动续费。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false:不自动续费。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '自动续费的时长,单位:月。取值范围:1、2、3、6、12、24、36。'."\n" + ."\n\n" + ."\n" + .'- 当`PeriodUnit=Month`时,默认值为1;'."\n" + ."\n" + .'- 当`PeriodUnit=Year`时,默认值为12。'."\n" + ."\n\n" + .'> 当参数`AutoRenew`取值`True`时,该参数为必填参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PrivatePoolOptionsId' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + ], + 'OrderId' => [ + 'description' => '生成的订单ID。', + 'type' => 'string', + 'example' => '1234567890', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.PeriodUnitUnsupported', + 'errorMessage' => 'TimeDivisionElasticityAssurance only supports PeriodUnit of Day.', + ], + [ + 'errorCode' => 'InvalidParameter.RegionId', + 'errorMessage' => 'The specified RegionId is invalid.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified instanceType or zone is not available or not authorized.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidStartTime.NotSupported', + 'errorMessage' => 'The specified StartTime should be within 180 calendar days from the current date, and you must specify a precision to hour.', + ], + [ + 'errorCode' => 'InvalidStartTime.MalFormed', + 'errorMessage' => 'The specified StartTime is out of the permitted range.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptionsName.MalFormed', + 'errorMessage' => 'The specified PrivatePoolOptions.Name is not valid.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The specified ZoneId is not valid.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The specified InstanceType is not valid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool status is not valid.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + [ + 'errorCode' => 'Invalid.PeriodUnit', + 'errorMessage' => 'Only Month or Year is supported for PeriodUnit.', + ], + [ + 'errorCode' => 'AccountForbidden.ProductCreationLimited', + 'errorMessage' => 'The commodity must be officially operated by Aliyun and in pay-as-you-go billing method.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'There is no authority to create private pool in the specified region.', + ], + [ + 'errorCode' => 'PriceNotFound', + 'errorMessage' => 'The price of your queried resource is not available now, please try other resources.', + ], + [ + 'errorCode' => 'InvalidRecurrenceRules.CountLimitExceeded', + 'errorMessage' => 'The count of RecurrenceRules exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidRecurrenceRulesStartHourEndHour.TooShort', + 'errorMessage' => 'The recurrence hour between RecurrenceRules.StartHour and RecurrenceRules.EndHour is too short.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesStartHourEndHour', + 'errorMessage' => 'The specified parameter RecurrenceRules.StartHour or RecurrenceRules.EndHour is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueMonthly', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Monthly is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueWeekly', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Weekly is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueDaily', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Daily is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceType', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceType is invalid.', + ], + [ + 'errorCode' => 'InvalidAutoRenewPeriod.ValueNotSupported', + 'errorMessage' => 'The specified autoRenewPeriod is invalid.', + ], + [ + 'errorCode' => 'InvalidOperation.ElasticityAssuranceActiveTimeTooShort', + 'errorMessage' => 'The total active time of the ElasticityAssurance is too short.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified InstanceType is invalid.', + ], + [ + 'errorCode' => 'Invalid.ZoneIds', + 'errorMessage' => 'At least one of the specified ZoneIds are invalid.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The specified zone is not available for purchase.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticityAssuranceCapacity', + 'errorMessage' => 'ElasticityAssurance Capacity quota exceeded.', + ], + [ + 'errorCode' => 'InvalidAccount.NotSupportEA', + 'errorMessage' => 'According to business rules, this account cannot purchase ECS ElasticityAssurance.', + ], + ], + [ + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The specified zoneId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PrivatePoolOptionsId\\": \\"eap-bp67acfmxazb4****\\",\\n \\"OrderId\\": \\"1234567890\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n eap-bp67acfmxazb4****\\n 1234567890\\n","errorExample":""}]', + 'title' => '创建弹性保障服务', + 'description' => '弹性保障服务为您提供了兼顾灵活性和确定性的全新的资源购买和使用方式,是一种能够为按量付费的ECS实例提供确定性保障的资源预定服务。更多信息,请参见[弹性保障概述](~~193630~~)。'."\n" + ."\n" + .'- 购买弹性保障服务后,普通弹性保障服务支持退款,分时弹性保障服务不支持退款。计费请参见[资源保障](~~432502~~)。'."\n" + .'- 通过弹性保障服务只能创建计费方式为按量付费的ECS实例。'."\n" + .'- 目前弹性保障次数只开放了无限次的模式,即`AssuranceTimes`参数只支持设置为`Unlimited`。无限次模式的弹性保障服务在保障生效后,将自动启动。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeElasticityAssurances' => [ + 'summary' => '查询弹性保障服务的详细信息。例如弹性保障服务的状态、匹配模式、生效方式、失效时间、已使用的实例的数量等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28928', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障服务绑定的标签键值对列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N表示可以设置多个标签键进行过滤,N的取值范围为1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。N表示可以设置多个标签键进行过滤,N的取值范围为1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务查询起始标志。由上一次的请求结果中获取。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Ids', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务ID列表。取值可以由多个ID组成一个JSON数组,最多支持100个ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["eap-bp67acfmxazb4****", "eap-bp67acfmxazb5****"]', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格。通过实例规格只可以查询还在生效中的弹性保障服务,已释放的服务只能通过`PrivatePoolOptions.Ids`查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.large', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域下的可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-h', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的计费方式。取值:PostPaid,目前仅支持按量付费。'."\n" + ."\n" + .'默认值:PostPaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务的状态。取值范围:'."\n" + ."\n" + .'- All:所有状态。'."\n" + .'- Deactived:待激活(该状态白名单邀测中)。'."\n" + .'- Preparing:准备中。'."\n" + .'- Prepared:待生效。'."\n" + .'- Active:生效中。'."\n" + .'- Released:已释放。'."\n" + ."\n" + .'若不指定,则查询除Pending、Released以外状态的弹性保障。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'PackageType', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务类型,取值范围:'."\n" + ."\n" + .'- ElasticityAssurance:普通弹性保障(未指定RecurrenceRules时为普通弹性保障)。'."\n" + ."\n" + .'- TimeDivisionElasticityAssurance:分时弹性保障(指定RecurrenceRules时为分时弹性保障)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ElasticityAssurance', + 'default' => 'ElasticityAssurance', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '弹性保障服务下一个查询起始标志。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的记录条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '弹性保障服务每页显示行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ElasticityAssuranceSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ElasticityAssuranceItem' => [ + 'description' => '弹性保障服务详细信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障服务详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '弹性保障服务的状态。可能值:'."\n" + ."\n" + .'- Preparing:准备中。'."\n" + .'- Prepared:待生效。'."\n" + .'- Active:生效中。'."\n" + .'- Released:已释放。', + 'type' => 'string', + 'example' => 'Active', + ], + 'PrivatePoolOptionsMatchCriteria' => [ + 'description' => '弹性保障服务的匹配模式。可能值:'."\n" + ."\n" + .'- Open:开放模式的弹性保障服务。启动实例时将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。'."\n" + .'- Target:指定模式的弹性保障服务。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。', + 'type' => 'string', + 'example' => 'Target', + ], + 'PrivatePoolOptionsId' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'example' => 'eap-bp1ir35kqtn8ywci****', + ], + 'UsedAssuranceTimes' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'LatestStartTime' => [ + 'description' => '> 该参数暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'PrivatePoolOptionsName' => [ + 'description' => '弹性保障服务名称。', + 'type' => 'string', + 'example' => 'eapTestName', + ], + 'RegionId' => [ + 'description' => '弹性保障服务所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'EndTime' => [ + 'description' => '弹性保障服务失效时间。', + 'type' => 'string', + 'example' => '2021-12-03T16:00Z', + ], + 'StartTime' => [ + 'description' => '弹性保障服务生效时间。', + 'type' => 'string', + 'example' => '2020-12-03T05:25Z', + ], + 'Description' => [ + 'description' => '弹性保障服务描述。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'TotalAssuranceTimes' => [ + 'description' => '弹性保障服务的总次数。目前仅支持在服务生效期内的无限次模式。', + 'type' => 'string', + 'example' => 'Unlimited', + ], + 'AllocatedResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AllocatedResource' => [ + 'description' => '资源分配详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源分配详情。', + 'type' => 'object', + 'properties' => [ + 'UsedAmount' => [ + 'description' => '已使用的实例的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'TotalAmount' => [ + 'description' => '在一个实例规格内,需要预留的实例的总数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'AvailableAmount' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'zoneId' => [ + 'description' => '弹性保障服务所属地域下的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.c6.large', + ], + 'ElasticityAssuranceUsages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ElasticityAssuranceUsage' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'array', + 'items' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'object', + 'properties' => [ + 'AccountId' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'example' => '1144775968548340', + ], + 'ServiceName' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'example' => 'name', + ], + 'UsedAmount' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '弹性保障服务绑定的标签键值对列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障服务绑定的标签键值对信息。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'InstanceChargeType' => [ + 'description' => '实例的计费方式。目前仅支持按量付费。'."\n" + ."\n" + .'可能值:PostPaid。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'StartTimeType' => [ + 'description' => '弹性保障生效方式。可能值:'."\n" + ."\n" + .'- Now:立即生效。'."\n" + .'- Later:指定时间生效。', + 'type' => 'string', + 'example' => 'Now', + ], + 'ElasticityAssuranceOwnerId' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'example' => 'e114477596854834', + ], + 'RecurrenceRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RecurrenceRule' => [ + 'description' => '弹性保障-分时保障重复规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障-分时保障重复规则。', + 'type' => 'object', + 'properties' => [ + 'RecurrenceType' => [ + 'description' => '重复规则的策略类型。可能值:'."\n" + .'- Daily:按天重复。'."\n" + .'- Weekly:按周重复。'."\n" + .'- Monthly:按月重复。', + 'type' => 'string', + 'example' => 'Daily', + ], + 'RecurrenceValue' => [ + 'description' => '重复规则执行数值。可能值'."\n" + ."\n" + .'- `RecurrenceType`为`Daily`时,只能填一个值,取值范围:1~31。表示每几天执行一次。'."\n" + .'- `RecurrenceType`为`Weekly`时,可以填入多个值,多个值间使用半角逗号(,)隔开。周日、周一、周二、周三、周四、周五、周六的值依次为:0,1,2,3,4,5,6。例如`1,2`表示周一和周二执行。'."\n" + .'- `RecurrenceType`为`Monthly`时,格式为`A-B`。A、B的取值范围为1~31,并且B必须大于等于A。例如:`1-5`表示每月的1~5日重复执行。', + 'type' => 'string', + 'example' => '1', + ], + 'StartHour' => [ + 'description' => '分时保障生效时间。', + 'type' => 'integer', + 'format' => 'int32', + 'exclusiveMaximum' => true, + 'example' => '4', + ], + 'EndHour' => [ + 'description' => '分时保障结束时间。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + ], + 'PackageType' => [ + 'description' => '弹性保障服务类型,可能值:'."\n" + ."\n" + .'- ElasticityAssurance:普通弹性保障。'."\n" + ."\n" + .'- TimeDivisionElasticityAssurance:分时弹性保障。', + 'type' => 'string', + 'example' => 'ElasticityAssurance', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified PrivatePoolOptions.Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified PrivatePoolOptions.Ids is invalid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The specified resource group is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 10,\\n \\"ElasticityAssuranceSet\\": {\\n \\"ElasticityAssuranceItem\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"PrivatePoolOptionsMatchCriteria\\": \\"Target\\",\\n \\"PrivatePoolOptionsId\\": \\"eap-bp1ir35kqtn8ywci****\\",\\n \\"UsedAssuranceTimes\\": 0,\\n \\"LatestStartTime\\": \\"null\\",\\n \\"PrivatePoolOptionsName\\": \\"eapTestName\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": \\"2021-12-03T16:00Z\\",\\n \\"StartTime\\": \\"2020-12-03T05:25Z\\",\\n \\"Description\\": \\"This is description.\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"TotalAssuranceTimes\\": \\"Unlimited\\",\\n \\"AllocatedResources\\": {\\n \\"AllocatedResource\\": [\\n {\\n \\"UsedAmount\\": 2,\\n \\"TotalAmount\\": 2,\\n \\"AvailableAmount\\": 5,\\n \\"zoneId\\": \\"cn-hangzhou-h\\",\\n \\"InstanceType\\": \\"ecs.c6.large\\",\\n \\"ElasticityAssuranceUsages\\": {\\n \\"ElasticityAssuranceUsage\\": [\\n {\\n \\"AccountId\\": \\"1144775968548340\\",\\n \\"ServiceName\\": \\"name\\",\\n \\"UsedAmount\\": 1\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"StartTimeType\\": \\"Now\\",\\n \\"ElasticityAssuranceOwnerId\\": \\"e114477596854834\\",\\n \\"RecurrenceRules\\": {\\n \\"RecurrenceRule\\": [\\n {\\n \\"RecurrenceType\\": \\"Daily\\",\\n \\"RecurrenceValue\\": \\"1\\",\\n \\"StartHour\\": 4,\\n \\"EndHour\\": 10\\n }\\n ]\\n },\\n \\"PackageType\\": \\"ElasticityAssurance\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n Active\\n 0\\n This is description.\\n 2021-12-03T16:00Z\\n rg-bp67acfmxazb4p****\\n eapTestName\\n \\n PostPaid\\n 2020-12-03T05:25Z\\n Now\\n Target\\n \\n \\n 2\\n cn-hangzhou-h\\n 2\\n ecs.c6.large\\n \\n \\n eap-bp1ir35kqtn8ywci****\\n Unlimited\\n cn-hangzhou\\n \\n \\n TestKey\\n TestValue\\n \\n \\n \\n \\n 1\\n caeba0bbb2be03f84eb48b699f0a4883\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 10\\n","errorExample":""}]', + 'title' => '查询弹性保障服务的信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeElasticityAssuranceInstances' => [ + 'summary' => '调用DescribeElasticityAssuranceInstances查询弹性保障服务已匹配的运行状态的实例列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28927', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'最大值:100'."\n" + ."\n" + .'默认值:10', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务查询起始标志。由上一次的请求结果中获取。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '弹性保障服务下一个查询起始标志。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的记录条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'MaxResults' => [ + 'description' => '分页查询时每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ElasticityAssuranceItem' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceIdSet' => [ + 'description' => '弹性保障服务已匹配的实例列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id is invalid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 10,\\n \\"ElasticityAssuranceItem\\": {\\n \\"InstanceIdSet\\": [\\n {\\n \\"InstanceId\\": \\"i-bp67acfmxazb4****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2\\n CAF995AD-487E-4A2F-A064-A209CBA9B4EC\\n fdf5da380c6d6b48\\n 10\\n \\n \\n i-bp67acfmxazb4****\\n \\n \\n i-bp67acfmxazb5****\\n \\n \\n","errorExample":""}]', + 'title' => '查询弹性保障服务已匹配实例列表', + 'description' => '当弹性保障服务失效后,实例与弹性保障服务对应的私有池的匹配关联数据也会失效。此时调用该接口查询已失效的服务,返回值为空。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyElasticityAssurance' => [ + 'summary' => '修改一个弹性保障服务的部分信息,包含名称、描述、容量(暂时只支持缩容)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29060', + 'abilityTreeNodes' => [ + 'FEATUREecs7WMRSF', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Name', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务的名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'eapTestName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务的描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'InstanceAmount', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => '弹性保障服务需要预留的实例总数量。取值范围:已使用的实例数量~1000。该参数不能与其他参数同时修改。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RecurrenceRules', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障-分时保障重复规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障-分时保障重复规则。'."\n" + ."\n" + .'> 修改后的重复规则将于次日生效。', + 'type' => 'object', + 'properties' => [ + 'RecurrenceType' => [ + 'description' => '重复规则的策略类型。取值范围:'."\n" + .'- Daily:按天重复。'."\n" + .'- Weekly:按周重复。'."\n" + .'- Monthly:按月重复。'."\n" + ."\n" + .'> 必须同时指定`RecurrenceType`和`RecurrenceValue`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Daily', + ], + 'RecurrenceValue' => [ + 'description' => '重复规则执行数值。'."\n" + ."\n" + .'- `RecurrenceType`为`Daily`时,只能填一个值,取值范围:1~31。表示每几天执行一次。'."\n" + .'- `RecurrenceType`为`Weekly`时,可以填入多个值,多个值间使用半角逗号(,)隔开。周日、周一、周二、周三、周四、周五、周六的值依次为:0,1,2,3,4,5,6。例如`1,2`表示周一和周二执行。'."\n" + .'- `RecurrenceType`为`Monthly`时,格式为`A-B`。A、B的取值范围为1~31,并且B必须大于等于A。例如:`1-5`表示每月的1~5日重复执行。'."\n" + ."\n" + .'> 必须同时指定`RecurrenceType`和`RecurrenceValue`。', + 'type' => 'string', + 'required' => false, + 'example' => '5', + ], + 'StartHour' => [ + 'description' => '分时保障生效时间,取值必须为整点。'."\n" + ."\n" + .'> 同时指定`StartHour`和`EndHour`,且两者至少需要相差4小时。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '24', + 'minimum' => '0', + 'example' => '4', + ], + 'EndHour' => [ + 'description' => '分时保障结束时间,取值必须为整点。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '24', + 'minimum' => '0', + 'example' => '10', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8455DD10-84F8-43C9-8365-5F448EB169B6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRecurrenceRules.CountLimitExceeded', + 'errorMessage' => 'The count of RecurrenceRules exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidRecurrenceRules.Unsupported', + 'errorMessage' => 'The specified parameter RecurrenceRules does not support for this resource package.', + ], + [ + 'errorCode' => 'InvalidRecurrenceRulesStartHourEndHour.TooShort', + 'errorMessage' => 'The recurrence hour between RecurrenceRules.StartHour and RecurrenceRules.EndHour is too short.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesStartHourEndHour', + 'errorMessage' => 'The specified parameter RecurrenceRules.StartHour or RecurrenceRules.EndHour is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueMonthly', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Monthly is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueWeekly', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Weekly is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceValueDaily', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceValue for Daily is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.RecurrenceRulesRecurrenceType', + 'errorMessage' => 'The specified parameter RecurrenceRules.RecurrenceType is invalid.', + ], + [ + 'errorCode' => 'InvalidInstanceAmount.ValueNotSupported', + 'errorMessage' => 'The specified parameter InstanceAmount is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.ValueNotSupported', + 'errorMessage' => 'The specified Description is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.ValueNotSupported', + 'errorMessage' => 'The specified EndTime is invalid.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivatePoolOptions.Name', + 'errorMessage' => 'The parameter PrivatePoolOptions.Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.ClientToken', + 'errorMessage' => 'The parameter ClientToken is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Description', + 'errorMessage' => 'The parameter Description is invalid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.ModifyTotalActiveTimeUnsupported', + 'errorMessage' => 'Not support to modify the total active time of resource package.', + ], + [ + 'errorCode' => 'IncorrectPrivatePoolStatus', + 'errorMessage' => 'The current status of the private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'InvalidPrivatePoolOptionsName.ValueNotSupported', + 'errorMessage' => 'The specified PrivatePoolOptions.Name is invalid.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The specified Platform is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.PlatformNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.EndTimeTypeNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.StartTimeNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.InstanceAmountNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceAmount.ValueNotSupported', + 'errorMessage' => 'The specified InstanceAmount is invalid.', + ], + [ + 'errorCode' => 'InvalidPrivatePoolOptions.Id', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceAmount.LessThanUsedAmount', + 'errorMessage' => 'The specified parameter InstanceAmount is less than UsedAmount.', + ], + [ + 'errorCode' => 'InvalidOperation.InstanceAmountAndOtherAttributesUnsupported', + 'errorMessage' => 'Modify InstanceAmount and other attributes simultaneously is not supported.', + ], + [ + 'errorCode' => 'QuotaExceed.ElasticityAssuranceCapacity', + 'errorMessage' => 'ElasticityAssurance Capacity quota exceeded.', + ], + ], + [ + [ + 'errorCode' => 'InvalidPrivatePoolId.NotFound', + 'errorMessage' => 'The specified private pool does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8455DD10-84F8-43C9-8365-5F448EB169B6\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 8455DD10-84F8-43C9-8365-5F448EB169B6\\r\\n","errorExample":""}]', + 'title' => '修改弹性保障服务信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RenewElasticityAssurances' => [ + 'summary' => '对一个或多个已购买的弹性保障服务进行续费。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '235538', + 'abilityTreeNodes' => [ + 'FEATUREecsCFPC21', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~2680071~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长。时长单位由`PeriodUnit`参数确定。取值范围:'."\n" + ."\n" + .'- 当`PeriodUnit`参数值为`Month`时,该参数的取值:1、2、3、4、5、6、7、8、9。'."\n" + ."\n" + .'- 当`PeriodUnit`参数值为`Year`时,该参数的取值:1、2、3。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长单位。取值范围:'."\n" + ."\n" + .'- Month:月'."\n" + ."\n" + .'- Year:年'."\n" + ."\n" + .'默认值:Year。', + 'type' => 'string', + 'required' => false, + 'example' => 'Year', + 'default' => 'Year', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。'."\n" + ."\n" + .'`ClientToken`只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付。可能值:'."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:true。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障服务ID列表。'."\n" + ."\n" + .'**限制**:单次续费的弹性保障服务数量最多不超过20个。'."\n" + ."\n" + .'您可以调用[DescribeElasticityAssurances](~~2679748~~)查看已购买的弹性保障服务。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动续费。取值范围:'."\n" + ."\n" + .'- true:自动续费。'."\n" + ."\n" + .'- false:不自动续费。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '自动续费的时长,单位:月。取值范围:1、2、3、6、12、24、36。'."\n" + ."\n" + .'- 当`PeriodUnit=Month`时,默认值为1;'."\n" + ."\n" + .'- 当`PeriodUnit=Year`时,默认值为12。'."\n" + ."\n\n" + .'>当参数`AutoRenew`取值为`true`时,该参数为必填。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'OrderId' => [ + 'description' => '续费订单ID。', + 'type' => 'string', + 'example' => '182372800****', + ], + 'PrivatePoolOptionsIdSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivatePoolOptionsId' => [ + 'description' => '弹性保障服务ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'ChargeType is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified parameter PrivatePoolOptions.Id does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.PeriodUnit', + 'errorMessage' => 'The specified PeriodUnit is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Period', + 'errorMessage' => 'The specified parameter Period or PeriodUnit is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivatePoolOptionsId', + 'errorMessage' => 'The specified parameter PrivatePoolOptions.Id is invalid.', + ], + [ + 'errorCode' => 'InvalidAutoRenewPeriod.ValueNotSupported', + 'errorMessage' => 'The specified autoRenewPeriod is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + [ + 'errorCode' => 'InvalidOperation.PackageTypeUnsupported', + 'errorMessage' => 'Not support to renew this type of resource package.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'IncorrectPrivatePoolStatus', + 'errorMessage' => 'The current status of the private pool does not support this operation.', + ], + [ + 'errorCode' => 'InvalidPrivatePoolId.NotFound', + 'errorMessage' => 'The specified private pool does not exist.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"OrderId\\": \\"182372800****\\",\\n \\"PrivatePoolOptionsIdSet\\": {\\n \\"PrivatePoolOptionsId\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => '续费弹性保障服务', + ], + 'ModifyElasticityAssuranceAutoRenewAttribute' => [ + 'summary' => '修改一个或多个弹性保障服务的自动续费属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '263144', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '设置实例自动续费时长。'."\n" + ."\n\n" + ."\n" + .'- 当`PeriodUnit`为`Year`时,取值范围:1、3、5。'."\n" + ."\n" + .'- 当`PeriodUnit`为`Month`时,取值范围:1。'."\n" + ."\n\n" + ."\n\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长的单位。取值范围:'."\n" + ."\n" + .'- Month:月'."\n" + ."\n" + .'- Year:年'."\n" + ."\n" + .'默认值:Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的自动续费状态。取值范围:'."\n" + ."\n" + .'- AutoRenewal:设置为自动续费。'."\n" + ."\n" + .'- Normal:取消自动续费。'."\n" + ."\n" + .'- NotRenewal:不再续费。传入该值后,系统不再发送到期提醒,只在到期前第三天发送不续费提醒。不再续费的弹性保障服务可以更改成待续费(`Normal`)后,再自行续费或设置为自动续费。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待修改的弹性保障服务ID列表。'."\n" + ."\n" + .'> 单次修改的弹性保障服务数量最多不超过 50 个。', + 'type' => 'array', + 'items' => [ + 'description' => '待修改的弹性保障服务ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp1bgwq0gqeukw1l****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2A4EA075-CB5B-41B7-B0EB-70D339F64DE7', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id is invalid.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'InvalidParameter.Period', + 'errorMessage' => 'The specified Period is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.PeriodUnit', + 'errorMessage' => 'The specified PeriodUnit is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter.RenewalStatus', + 'errorMessage' => 'The specified parameter RenewalStatus is not valid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2A4EA075-CB5B-41B7-B0EB-70D339F64DE7\\"\\n}","type":"json"}]', + 'title' => '修改弹性保障服务自动续费', + ], + 'DescribeElasticityAssuranceAutoRenewAttribute' => [ + 'summary' => '查询一个或多个弹性保障服务的自动续费属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '263139', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '弹性保障服务ID列表。'."\n" + ."\n\n" + .'**限制**:单次查询的弹性保障服务数量最多不超过50个。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障服务ID列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '查询的弹性保障服务信息集合。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'ElasticityAssuranceRenewAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ElasticityAssuranceRenewAttribute' => [ + 'description' => '弹性保障服务自动续费属性组成的数组。', + 'type' => 'array', + 'items' => [ + 'description' => '弹性保障服务自动续费属性。', + 'type' => 'object', + 'properties' => [ + 'PeriodUnit' => [ + 'description' => '自动续费时长的单位,可能值:'."\n" + ."\n" + .'- Month(默认)'."\n" + .'- Year', + 'type' => 'string', + 'example' => 'Month', + ], + 'Period' => [ + 'description' => '自动续费时长。可能值:'."\n" + .'1、2、3、6、12、24、36。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PrivatePoolOptionsId' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****'."\n", + ], + 'RenewalStatus' => [ + 'description' => '是否自动续费弹性保障。可能值:'."\n" + ."\n" + .'- AutoRenewal:设置为自动续费。'."\n" + ."\n" + .'- Normal:取消自动续费。'."\n" + ."\n" + .'- NotRenewal:不再续费。', + 'type' => 'string', + 'example' => 'Normal', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id is invalid.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptionsId', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ElasticityAssuranceRenewAttributes\\": {\\n \\"ElasticityAssuranceRenewAttribute\\": [\\n {\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"PrivatePoolOptionsId\\": \\"eap-bp67acfmxazb4****\\\\n\\",\\n \\"RenewalStatus\\": \\"Normal\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查询弹性保障服务自动续费', + ], + 'PurchaseElasticityAssurance' => [ + 'summary' => '本接口旨在为用户提供便捷、高效的方式来购买弹性保障服务。当用户存在资源准备完毕,处于未激活状态的弹性保障服务时,可以通过该接口进行购买。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '245831', + 'abilityTreeNodes' => [ + 'FEATUREecs7WMRSF', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域 ID。您可以调用[DescribeRegions](~~2679950~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买时长。时长单位由PeriodUnit参数确定。取值范围:'."\n" + ."\n" + .'- 当PeriodUnit参数值为Month时,该参数的取值:1、2、3、4、5、6、7、8、9。'."\n" + .'- 当PeriodUnit参数值为Year时,该参数的取值:1、2、3、4、5。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '时长单位。取值范围:'."\n" + ."\n" + .'- Month:月'."\n" + .'- Year:年'."\n" + ."\n" + .'默认值:Year。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + 'default' => 'Year', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务的匹配模式。取值范围:'."\n" + ."\n" + .'- Open:开放模式的弹性保障服务。实例启动时将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。'."\n" + .'- Target:指定模式的弹性保障服务。实例启动时将使用指定的私有池容量,如果该私有池容量不可用,则实例会启动失败。'."\n" + ."\n" + .'默认值:Open。', + 'type' => 'string', + 'required' => false, + 'example' => 'Open', + 'default' => 'Open', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务生效时间。默认为调用该接口创建服务的时间。时间格式以ISO8601为标准,需要使用UTC +0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。更多信息,请参见[ISO8601](~~25696~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '2024-06-18T00:00:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.MalFormed', + 'errorMessage' => 'The specified StartTime is out of the permitted range.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.PeriodUnit', + 'errorMessage' => 'The specified PeriodUnit is not supported.', + ], + ], + [ + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectPrivatePoolStatus', + 'errorMessage' => 'The current status of the private pool does not support this operation.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '购买一个准备完毕的弹性保障服务', + 'description' => '请确保在使用该接口前,已充分了解弹性保障产品的收费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)[价格](https://www.alibabacloud.com/zh?spm=5176.28117011.nav-v2-dropdown-language.exp-location-zh.9ae4165bF98IHz&_p_lc=1)。'."\n" + ."\n" + .'购买弹性保障服务前,您可以调用[DescribeElasticityAssurances](~~2679748~~)查询可购买的弹性保障服务。', + ], + 'CreateCapacityReservation' => [ + 'summary' => '指定需要预留的实例规格、总数量,生效方式和可用区等,创建容量预定服务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28816', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务所在的企业资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '容量预定服务绑定的标签对列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '容量预定服务的标签值。N的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '容量预定服务的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Name', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'crpTestName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务生效后生成的私有资源池的类型。取值范围:'."\n" + ."\n" + .'- Open:开放模式。启动实例时将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。'."\n" + .'- Target:专用模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。'."\n" + ."\n" + .'默认值:Open。', + 'type' => 'string', + 'required' => false, + 'example' => 'Open', + 'default' => 'Open', + ], + ], + [ + 'name' => 'InstanceAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '在一个实例规格内,需要预留的实例的总数量。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'minimum' => '1', + 'example' => '2', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格。目前仅支持为一个实例规格设置容量预定服务。您可以调用[DescribeInstanceTypes](~~25620~~)查询云服务器ECS提供的实例规格信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecs.g6.xlarge', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的生效方式。目前调用API的方式仅支持设置为立即生效。'."\n" + ."\n" + .'> 该参数不传值即表示设置为立即生效。', + 'type' => 'string', + 'required' => false, + 'example' => '2021-10-30T05:32:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的失效时间。时间格式以ISO 8601为标准,并需要使用UTC +0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。更多信息,请参见[ISO 8601](~~25696~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '2021-10-30T06:32:00Z', + ], + ], + [ + 'name' => 'EndTimeType', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的失效方式。取值范围:'."\n" + ."\n" + .'- Limited:指定时间释放。必须同时指定`EndTime`参数。'."\n" + .'- Unlimited:手动释放。不限制时间。', + 'type' => 'string', + 'required' => false, + 'example' => 'Unlimited', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '实例使用的镜像的操作系统类型。该参数与地域级预留实例券的`Platform`参数对应。如果容量预定服务和地域级预留实例券的操作系统类型相匹配,则可以使用地域级预留实例券来抵扣容量预定服务中的未使用容量的账单。取值范围:'."\n" + ."\n" + .'- Windows:Windows Server类型的操作系统。'."\n" + .'- Linux:Linux及类Unix类型的操作系统。'."\n" + ."\n" + .'默认值:Linux。'."\n" + ."\n" + .'> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'Linux', + 'default' => 'linux', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '容量预定服务所属地域下的可用区ID。目前仅支持在一个可用区下创建容量预定服务。', + 'type' => 'array', + 'items' => [ + 'description' => '容量预定服务所属地域下的可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-h', + ], + 'required' => true, + 'example' => 'cn-hangzhou-h', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PrivatePoolOptionsId' => [ + 'description' => '容量预定服务ID。', + 'type' => 'string', + 'example' => 'crp-bp67acfmxazb4****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.RegionId', + 'errorMessage' => 'The specified RegionId is invalid.', + ], + [ + 'errorCode' => 'NoStock', + 'errorMessage' => 'The stock in the availability zone is insufficient.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter StartTime is missing.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified instanceType or zone is not available or not authorized.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidStartTime.NotSupported', + 'errorMessage' => 'The specified StartTime should be within 180 calendar days from the current date, and you must specify a precision to hour.', + ], + [ + 'errorCode' => 'InvalidStartTime.MalFormed', + 'errorMessage' => 'The specified StartTime is out of the permitted range.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptionsName.MalFormed', + 'errorMessage' => 'The specified PrivatePoolOptions.Name is not valid.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The specified ZoneId is not valid.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The specified InstanceType is not valid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + [ + 'errorCode' => 'Invalid.TimeSlot', + 'errorMessage' => 'The param time slot is invalid.', + ], + [ + 'errorCode' => 'Invalid.EndTime', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'StartTime.NotNeed', + 'errorMessage' => 'The specified parameter "StartTime" should leave empty.', + ], + [ + 'errorCode' => 'AccountForbidden.ProductCreationLimited', + 'errorMessage' => 'The commodity must be officially operated by Aliyun and in pay-as-you-go billing method.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'There is no authority to create private pool in the specified region.', + ], + [ + 'errorCode' => 'PriceNotFound', + 'errorMessage' => 'The price of your queried resource is not available now, please try other resources.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupported', + 'errorMessage' => 'The specified InstanceType is invalid.', + ], + [ + 'errorCode' => 'Invalid.ZoneIds', + 'errorMessage' => 'At least one of the specified ZoneIds are invalid.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The specified zone is not available for purchase.', + ], + ], + [ + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The specified zoneId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PrivatePoolOptionsId\\": \\"crp-bp67acfmxazb4****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n crp-bp67acfmxazb4****\\n","errorExample":""}]', + 'title' => '创建容量预定服务', + 'description' => '## 接口说明'."\n" + .'您可以通过容量预定服务,指定可用区、实例规格等属性,系统会以私有池的方式预留属性相匹配的资源。更多信息,请参见[立即生效容量预定概述](~~193633~~)。'."\n" + ."\n" + .'- 目前服务仅支持立即生效模式。购买立即生效容量预定服务后,实例规格即开始遵循按量付费标准计费,不论是否实际创建了按量付费实例,直至您自行手动释放或到期系统自动释放立即生效容量预订。'."\n" + .' - 您可以通过[CreateInstance](~~25499~~)或[RunInstances](~~63440~~)创建实例时设置私有池容量选项,或者通过[ModifyInstanceAttachmentAttributes](~~190006~~)修改实例的私有池容量选项。实例成功匹配私有池容量后,将根据您的实例配置收取实例规格、云盘、公网带宽等相关资源费用。'."\n" + .' - 未实际创建按量付费实例时,仅收取实例规格的费用。'."\n" + .'- 立即生效容量预定的匹配的实例和未使用的容量账单支持通过节省计划、地域级预留实例券抵扣小时账单,不支持通过可用区级预留实例券抵扣小时账单。推荐您先购买预留实例券或节省计划,在预留实例券或节省计划的覆盖下使用立即生效容量预定服务,可以免费获取资源的确定性保障。'."\n" + ."\n" + .'> 调用API方式仅支持创建立即生效容量预定。通过ECS控制台可以创建立即生效容量预定或指定时间生效容量预定,更多信息,请参见[资源预定服务](~~193626#section-oil-qh5-xvx~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCapacityReservations' => [ + 'summary' => '查询一个或多个容量预定服务的详细信息,例如服务的状态、服务的生效与失效时间、私有池的模式和已使用的实例的数量等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28907', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '容量预定服务绑定的标签对集合。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。N表示可以设置多个标签键进行过滤,N的取值范围为1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。N表示可以设置多个标签值进行过滤,N的取值范围为1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务查询起始标志。由上一次的请求结果中获取。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Ids', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务ID列表。取值可以由多个ID组成一个JSON数组,最多支持100个ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["crp-bp1gubrkqutenqdd****", "crp-bp67acfmxazb5****"]', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的操作系统。取值范围:'."\n" + ."\n" + .'- windows:仅查询Windows系统的容量预定服务。'."\n" + .'- linux:仅查Linux系统的容量预定服务。'."\n" + .'- all:查询所有容量预定服务。'."\n" + ."\n" + .'默认值:all。', + 'type' => 'string', + 'required' => false, + 'example' => 'linux', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例规格。通过实例规格只可以查询还在生效中的容量预定服务,已释放的服务只能通过PrivatePoolOptions.Ids查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.large', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务所属的可用区ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-h', + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的计费方式。取值范围:'."\n" + ."\n" + .'- PostPaid:按量付费。'."\n" + .'- PrePaid:包年包月。'."\n" + ."\n" + .'默认值:PostPaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPaid', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的状态。取值范围:'."\n" + ."\n" + .'- All:所有状态。'."\n" + .'- Pending:初始化。指定时间生效的容量预定会先进入初始化状态。'."\n" + .'- Preparing:准备中。指定时间生效的容量预定在资源交付进行阶段,处于准备中状态。'."\n" + .'- Prepared:待生效。指定时间生效的容量预定在资源交付完成,服务正式生效之前,处于待生效状态。'."\n" + .'- Active:生效中。'."\n" + .'- Released:已释放,包括手动释放与到期自动释放。'."\n" + ."\n" + .'若不指定,则查询除Pending、Released以外状态的容量预定。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '容量预定服务下一个查询起始标志。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的记录条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => '容量预定服务每页显示行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'CapacityReservationSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CapacityReservationItem' => [ + 'description' => '容量预定服务详细信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '容量预定服务详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '容量预定服务的状态。可能值:'."\n" + ."\n" + .'- Pending:初始化。'."\n" + .'- Preparing:准备中。'."\n" + .'- Prepared:待生效。'."\n" + .'- Active:生效中。'."\n" + .'- Released:已释放,包括手动释放与到期自动释放。', + 'type' => 'string', + 'example' => 'Active', + ], + 'TimeSlot' => [ + 'description' => '> 该参数正在邀测中,暂未开放使用。', + 'type' => 'string', + 'example' => 'null', + ], + 'PrivatePoolOptionsMatchCriteria' => [ + 'description' => '容量预定服务生效后生成的私有资源池的类型。可能值:'."\n" + ."\n" + .'- Open:开放模式。启动实例时将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。'."\n" + .'- Target:专用模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。', + 'type' => 'string', + 'example' => 'Open', + ], + 'PrivatePoolOptionsId' => [ + 'description' => '容量预定服务ID。', + 'type' => 'string', + 'example' => 'crp-bp1gubrkqutenqdd****', + ], + 'PrivatePoolOptionsName' => [ + 'description' => '容量预定服务名称。', + 'type' => 'string', + 'example' => 'crpTestName', + ], + 'RegionId' => [ + 'description' => '容量预定服务所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'InstanceChargeType' => [ + 'description' => '容量预定服务中实例的付费类型。可能值:'."\n" + ."\n" + .'- PostPaid:按量付费。'."\n" + .'- PrePaid:包年包月。', + 'type' => 'string', + 'example' => 'PostPaid', + ], + 'EndTime' => [ + 'description' => '容量预定服务的失效时间。', + 'type' => 'string', + 'example' => '2021-02-19T03:02Z', + ], + 'StartTime' => [ + 'description' => '容量预定服务生效时间。', + 'type' => 'string', + 'example' => '2021-02-19T02:01Z', + ], + 'Description' => [ + 'description' => '容量预定服务的描述。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'EndTimeType' => [ + 'description' => '容量预定服务的失效方式。可能值:'."\n" + ."\n" + .'- Limited:指定时间释放。'."\n" + .'- Unlimited:手动释放。不限制时间。', + 'type' => 'string', + 'example' => 'Unlimited', + ], + 'ResourceGroupId' => [ + 'description' => '容量预定服务所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'Platform' => [ + 'description' => '匹配的实例的操作系统。可能值:'."\n" + ."\n" + .'- windows。'."\n" + .'- linux。', + 'type' => 'string', + 'example' => 'linux', + ], + 'AllocatedResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AllocatedResource' => [ + 'description' => '资源分配详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '资源分配详情。', + 'type' => 'object', + 'properties' => [ + 'UsedAmount' => [ + 'description' => '已使用的实例的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'TotalAmount' => [ + 'description' => '在一个实例规格内,需要预留的实例的总数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'AvailableAmount' => [ + 'description' => '可用的实例数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'zoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-h', + ], + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.c6.large', + ], + 'CapacityReservationUsages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CapacityReservationUsage' => [ + 'description' => '已使用的实例详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '已使用的实例详情。', + 'type' => 'object', + 'properties' => [ + 'AccountId' => [ + 'description' => '阿里云账号ID。', + 'type' => 'string', + 'example' => '105909559088****', + ], + 'ServiceName' => [ + 'description' => '阿里云服务名称。', + 'type' => 'string', + 'example' => 'maxcompute.aliyuncs.com', + ], + 'UsedAmount' => [ + 'description' => '该阿里云账号或服务已使用实例的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '容量预定服务绑定的标签键值对信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '容量预定服务绑定的标签键值对信息。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'StartTimeType' => [ + 'description' => '容量预定生效方式。可能值:'."\n" + ."\n" + .'- Now:立即生效。'."\n" + .'- Later:指定时间生效。', + 'type' => 'string', + 'example' => 'Now', + ], + 'SavingPlanId' => [ + 'description' => '容量预定搭配的节省计划券ID。', + 'type' => 'string', + 'example' => 'spn-c29b5e18pJMT****', + ], + 'ReservedInstanceId' => [ + 'description' => '容量预定搭配的预留实例券ID。', + 'type' => 'string', + 'example' => 'ri-bpzhex2ulpzf53****', + ], + 'CapacityReservationOwnerId' => [ + 'description' => '容量预定资源包所有者ID。', + 'type' => 'string', + 'example' => '100************7'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified PrivatePoolOptions.Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified PrivatePoolOptions.Ids is invalid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + [ + 'errorCode' => 'InvalidParameter.RegionId', + 'errorMessage' => 'The specified RegionId is not exist.', + ], + [ + 'errorCode' => 'InvalidPermission.ResourceShareAssocoated', + 'errorMessage' => 'The current resource is associated to a shared relationship and cannot be released.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 10,\\n \\"CapacityReservationSet\\": {\\n \\"CapacityReservationItem\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"TimeSlot\\": \\"null\\",\\n \\"PrivatePoolOptionsMatchCriteria\\": \\"Open\\",\\n \\"PrivatePoolOptionsId\\": \\"crp-bp1gubrkqutenqdd****\\",\\n \\"PrivatePoolOptionsName\\": \\"crpTestName\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"EndTime\\": \\"2021-02-19T03:02Z\\",\\n \\"StartTime\\": \\"2021-02-19T02:01Z\\",\\n \\"Description\\": \\"This is description.\\",\\n \\"EndTimeType\\": \\"Unlimited\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"Platform\\": \\"linux\\",\\n \\"AllocatedResources\\": {\\n \\"AllocatedResource\\": [\\n {\\n \\"UsedAmount\\": 2,\\n \\"TotalAmount\\": 2,\\n \\"AvailableAmount\\": 2,\\n \\"zoneId\\": \\"cn-hangzhou-h\\",\\n \\"InstanceType\\": \\"ecs.c6.large\\",\\n \\"CapacityReservationUsages\\": {\\n \\"CapacityReservationUsage\\": [\\n {\\n \\"AccountId\\": \\"105909559088****\\",\\n \\"ServiceName\\": \\"maxcompute.aliyuncs.com\\",\\n \\"UsedAmount\\": 20\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"StartTimeType\\": \\"Now\\",\\n \\"SavingPlanId\\": \\"spn-c29b5e18pJMT****\\",\\n \\"ReservedInstanceId\\": \\"ri-bpzhex2ulpzf53****\\",\\n \\"CapacityReservationOwnerId\\": \\"100************7\\\\n\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n caeba0bbb2be03f84eb48b699f0a****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 10\\n \\n \\n Active\\n This is description.\\n 2021-02-19T03:02Z\\n linux\\n rg-bp67acfmxazb4p****\\n crpTestName\\n PostPaid\\n 2021-02-19T02:01Z\\n Now\\n Open\\n \\n spn-c29b5e18pJMT****\\n ri-bpzhex2ulpzf53****\\n \\n \\n 2\\n cn-hangzhou-h\\n 2\\n ecs.c6.large\\n \\n \\n crp-bp1gubrkqutenqdd****\\n Unlimited\\n cn-hangzhou\\n \\n \\n TestKey\\n TestValue\\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询容量预定服务的信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCapacityReservationInstances' => [ + 'summary' => '查询容量预定服务已匹配的实例列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28906', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务所属地域 ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。'."\n" + ."\n" + .'- 最大值:100'."\n" + ."\n" + .'- 默认值:10', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务查询起始标志。由上一次的请求结果中获取。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'crp-bp67acfmxazb4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '容量预定服务下一个查询起始标志。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'RequestId' => [ + 'description' => '请求 ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的记录条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'MaxResults' => [ + 'description' => '分页查询时每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'CapacityReservationItem' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceIdSet' => [ + 'description' => '容量预定服务已匹配的实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '容量预定服务已匹配的实例列表。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '实例 ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id is invalid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 10,\\n \\"CapacityReservationItem\\": {\\n \\"InstanceIdSet\\": [\\n {\\n \\"InstanceId\\": \\"i-bp67acfmxazb4****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n caeba0bbb2be03f84eb48b699f0a4883\\n 10\\n \\n \\n i-bp67acfmxazb4****\\n \\n \\n i-bp67acfmxazb5****\\n \\n \\n","errorExample":""}]', + 'title' => '查询容量预定服务已匹配的实例列表', + 'extraInfo' => ' ', + ], + 'ModifyCapacityReservation' => [ + 'summary' => '调用ModifyCapacityReservation修改一个容量预定服务的部分信息,包括容量预定服务的名称、描述信息、失效方式以及预留的实例总数量。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29047', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'crp-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Name', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'eapTestName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的描述信息。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的生效方式。目前仅支持设置为立即生效,且参数无需传值。'."\n" + ."\n" + .'> 该参数不传值即表示设置为立即生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Now', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的失效时间,仅`EndTimeType=Limited`时该参数生效。时间格式以ISO8601为标准,并需要使用UTC +0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。更多信息,请参见[ISO8601](~~25696~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '2021-10-30T06:32:00Z', + ], + ], + [ + 'name' => 'EndTimeType', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务的失效方式。取值范围:'."\n" + ."\n" + .'- Limited:指定时间释放。必须同时指定`EndTime`参数。'."\n" + .'- Unlimited:手动释放。不限制时间。', + 'type' => 'string', + 'required' => false, + 'example' => 'Unlimited', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '实例使用的镜像的操作系统类型。取值范围:'."\n" + ."\n" + .'- Windows:Windows Server类型的操作系统。'."\n" + .'- Linux:Linux及类Unix类型的操作系统。'."\n" + ."\n" + .'> 该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'Linux', + ], + ], + [ + 'name' => 'InstanceAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务需要预留的实例总数量。取值范围:已使用的实例数量~1000'."\n" + ."\n" + .'> 扩充实例总数量时,可能因库存不足导致扩充失败。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8455DD10-84F8-43C9-8365-5F448EB169B6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceAmount.ValueNotSupported', + 'errorMessage' => 'The specified parameter InstanceAmount is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.ValueNotSupported', + 'errorMessage' => 'The specified Description is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.ValueNotSupported', + 'errorMessage' => 'The specified EndTime is invalid.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectPrivatePoolStatus', + 'errorMessage' => 'The current status of the private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'InvalidPrivatePoolOptionsName.ValueNotSupported', + 'errorMessage' => 'The specified PrivatePoolOptions.Name is invalid.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The specified Platform is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.PlatformNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.EndTimeTypeNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.StartTimeNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.InstanceAmountNotSupported', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceAmount.ValueNotSupported', + 'errorMessage' => 'The specified InstanceAmount is invalid.', + ], + [ + 'errorCode' => 'InvalidPrivatePoolOptions.Id', + 'errorMessage' => 'The specified private pool does not support this operation.', + ], + [ + 'errorCode' => 'OperationDenied.InstanceTypeNotAuthorized', + 'errorMessage' => 'The specified InstanceType is not available or not authorized.', + ], + ], + [ + [ + 'errorCode' => 'InvalidPrivatePoolId.NotFound', + 'errorMessage' => 'The specified private pool does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8455DD10-84F8-43C9-8365-5F448EB169B6\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 8455DD10-84F8-43C9-8365-5F448EB169B6\\r\\n","errorExample":""}]', + 'title' => '修改一个容量预定服务的部分信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceAttachmentAttributes' => [ + 'summary' => '查询实例匹配的私有池信息,例如匹配模式、私有池ID等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28945', + 'abilityTreeNodes' => [ + 'FEATUREecsQDYV10', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性保障服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。取值可以由多个实例ID组成一个JSON数组,最多支持100个ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'example' => '["i-bp67acfmxazb4****", "i-bp67acfmxazb5****", "i-bp67acfmxazb6****"]', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '实例状态列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '实例状态列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的记录条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Instances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => '实例匹配的私有池信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'description' => '实例匹配的私有池信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4****', + ], + 'PrivatePoolOptionsMatchCriteria' => [ + 'description' => '实例的私有池匹配模式。可能值:'."\n" + ."\n" + .'- Open:开放模式。实例自动匹配开放类型的私有池。'."\n" + .'- Target:指定模式。实例匹配指定的私有池。'."\n" + .'- None:不使用模式。实例不使用私有池。', + 'type' => 'string', + 'example' => 'Open', + ], + 'PrivatePoolOptionsId' => [ + 'description' => '私有池ID。当`PrivatePoolOptionsMatchCriteria`返回值为`Open`时,私有池ID为系统自动匹配时所分配的私有池ID。', + 'type' => 'string', + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter.TooManyInstanceIds', + 'errorMessage' => 'Instance ids cannot be more than 100.', + ], + [ + 'errorCode' => 'Abs.InvalidInstanceIds.MalFormed', + 'errorMessage' => 'The specified InstanceIds is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceIds.NotFound', + 'errorMessage' => 'The specified InstanceIds does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameters.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"InstanceId\\": \\"i-bp67acfmxazb4****\\",\\n \\"PrivatePoolOptionsMatchCriteria\\": \\"Open\\",\\n \\"PrivatePoolOptionsId\\": \\"eap-bp67acfmxazb4****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n i-bp67acfmxazb4****\\n Open\\n eap-bp67acfmxazb4****\\n \\n \\n 1\\n 395245CB-A6FD-4777-8F83-A0B0DFE43F23\\n 10\\n 1\\n","errorExample":""}]', + 'title' => '查询实例匹配的私有池信息', + 'description' => '## 接口说明'."\n" + ."\n" + .'私有池是弹性保障服务或容量预定服务在创建后生成的,关联了与私有池匹配的实例信息。您可以在创建实例时设置私有池,实例将会与弹性保障服务或容量预定服务进行匹配。'."\n" + ."\n" + .'当私有池失效后,实例与私有池的匹配关联数据也会失效。此时调用该接口,返回值的私有池信息将为空。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceAttachmentAttributes' => [ + 'summary' => '修改实例的私有池匹配模式。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29068', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '私有池所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改私有池匹配属性的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => [ + 'description' => '修改实例的私有池匹配模式。取值范围:'."\n" + ."\n" + .'- Open:开放模式。该模式下系统自动为实例匹配开放的私有池。如果没有符合条件的私有池容量,则使用公共池资源启动。'."\n" + .'- Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须同时指定`PrivatePoolOptions.Id`参数,设置指定的私有池ID。'."\n" + .'- None:不使用。该模式下实例正常启动,不使用私有池。', + 'type' => 'string', + 'required' => true, + 'example' => 'Open', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '私有池ID,即弹性保障服务ID或者容量预定服务ID。'."\n" + ."\n" + .'- 当`PrivatePoolOptions.MatchCriteria`取值为`Target`时,该参数为必填项。'."\n" + .'- 当`PrivatePoolOptions.MatchCriteria`取值为`Open`或`None`时,该参数不传值。', + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceId', + 'errorMessage' => 'The specified InstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidResourcePackage.BizStatus', + 'errorMessage' => 'The resource package business status is not supported.', + ], + [ + 'errorCode' => 'InvalidInstanceId.MalFormed', + 'errorMessage' => 'The specified InstanceId is not valid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.NoStock', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool is expired or inactive.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidOperation.PrePaidInstanceUnsupported', + 'errorMessage' => 'Not support to modify the private pool options of prepay instances.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n","errorExample":""}]', + 'title' => '修改实例的私有池的属性', + 'description' => '私有池是弹性保障服务或容量预定服务在创建后生成的,关联了与私有池匹配的实例信息。您可以在创建实例时设置是否使用私有池启动,实例将会与弹性保障服务或容量预定服务进行匹配。'."\n" + ."\n" + .'- 调用该接口修改实例的私有池的属性后,实例不需要重启。'."\n" + .'- 当您调用以下接口时,系统会重新匹配实例的私有池。如果实例已匹配了指定的私有池,可能因私有池容量已用完或私有池失效等原因造成调用失败的问题。如果出现调用失败的问题,请先调用ModifyInstanceAttachmentAttributes接口将私有池的匹配模式修改为`Open`。'."\n" + .' - [StartInstance - 重启启用节省停机模式的实例。](~~2679679~~)'."\n" + .' - [ReActivateInstances - 重新启动已过期或欠费回收的实例。](~~2679707~~)'."\n" + .' - [ModifyInstanceChargeType - 修改实例付费类型](~~2679704~~)。'."\n" + .' - [ModifyPrepayInstanceSpec - 升级或降低实例规格](~~2679706~~)。'."\n" + .' - [ReplaceSystemDisk - 更换操作系统](~~2679771~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReleaseCapacityReservation' => [ + 'summary' => '调用ReleaseCapacityReservation释放容量预定服务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29147', + 'abilityTreeNodes' => [ + 'FEATUREecs7WMRSF', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务所属地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => '容量预定服务ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'crp-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否对此次请求进行检索。取值:false,目前仅支持不检索本次请求,直接释放容量预定服务。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified PrivatePoolOptions.Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified PrivatePoolOptions.Ids is invalid.', + ], + [ + 'errorCode' => 'DedicatedHostNotSupported', + 'errorMessage' => 'DedicatedHost is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'SpotNotSupported', + 'errorMessage' => 'Spot is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'ClassicNetworkNotSupported', + 'errorMessage' => 'Classic network is not supported for PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceId', + 'errorMessage' => 'Instance does not exist.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.MatchCriteria', + 'errorMessage' => 'Target mode does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Id', + 'errorMessage' => 'The specified PrivatePoolOptions.Id should not be null.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Id', + 'errorMessage' => 'The PrivatePool does not exist.', + ], + [ + 'errorCode' => 'Invalid.InstanceType', + 'errorMessage' => 'The InstanceType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.InstanceChargeType', + 'errorMessage' => 'The InstanceChargeType does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.ZoneId', + 'errorMessage' => 'The ZoneId does not match the PrivatePool.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.status', + 'errorMessage' => 'The PrivatePool has been used up.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The Platform does not match the PrivatePool.', + ], + [ + 'errorCode' => 'InvalidAliUid', + 'errorMessage' => 'The PrivatePool does not belong to the user of the Instance.', + ], + [ + 'errorCode' => 'MissingParameter.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceAmount" can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'The specified parameter "InstanceCpuCoreCount" and "InstanceAmount" must not be empty at the same time.', + ], + [ + 'errorCode' => 'Invalid.TooManyPrivatePoolOptions.Ids', + 'errorMessage' => 'Too many PrivatePoolOptions.Ids in this request.', + ], + [ + 'errorCode' => 'Invalid.TooManyZoneIds', + 'errorMessage' => 'Too many ZoneIds in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyInstanceTypes', + 'errorMessage' => 'Too many InstanceTypes in the request.', + ], + [ + 'errorCode' => 'Invalid.TooManyUnpaidPrivatePool', + 'errorMessage' => 'Too many PrivatePools create but still unpaid.', + ], + [ + 'errorCode' => 'Invalid.InstanceCpuCoreCountOrInstanceAmount', + 'errorMessage' => 'Both InstanceCpuCoreCount and InstanceAmount are provided.', + ], + [ + 'errorCode' => 'Invalid.PrivatePoolOptions.Ids', + 'errorMessage' => 'The specified parameter "PrivatePoolOptions.Ids" exist invalid element Id.', + ], + [ + 'errorCode' => 'Invalid.PackageType', + 'errorMessage' => 'The specified parameter "PackageType" is invalid.', + ], + [ + 'errorCode' => 'Invalid.PrivatePool.Purchase', + 'errorMessage' => 'The PrivatePool has already paid.', + ], + [ + 'errorCode' => 'Invalid.AssuranceTimes.NotSupported', + 'errorMessage' => 'The value of AssuranceTimes is not supported.', + ], + [ + 'errorCode' => 'RepeatStartPrivatePool', + 'errorMessage' => 'PrivatePool has already been started.', + ], + [ + 'errorCode' => 'Invalid.Action.ReleaseCapacityReservation', + 'errorMessage' => 'Release action is not supported when using Limited endTimeType, please change it to Unlimited first.', + ], + [ + 'errorCode' => 'InvalidOperation.ReleasePrivatePoolUnsupported', + 'errorMessage' => 'The specified private pool does not support release.', + ], + [ + 'errorCode' => 'InvalidPermission.ResourceShareAssocoated', + 'errorMessage' => 'The current resource is associated to a shared relationship and cannot be released.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '释放容量预定服务', + 'description' => '立即生效的容量预定服务,当释放方式为手动释放时,调用该接口可直接释放容量预定服务。', + ], + 'PurchaseReservedInstancesOffering' => [ + 'summary' => '本接口用于购买一张预留实例券,支持您购买一张地域级或者可用区级的预留实例券来抵扣对应规格的按量付费实例账单。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '29128', + 'abilityTreeNodes' => [ + 'FEATUREecsG3KXW4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)获取最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签数组。数组长度:0~20。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '预留实例券的标签键。不允许为空字符串,最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http:/`/或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '预留实例券的标签值。则不允许为空字符串,最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http:/`/或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp199lyny9b3****', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID,当`Scope`为`Zone`时生效且必填。您可以调用[DescribeZones](~~25610~~)获取可用区列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'ReservedInstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的名称。长度为2~128个英文或中文字符,必须以大小写字母或中文开头,不能以 http:// 和 https:// 开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testReservedInstanceName', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券可以匹配的实例规格。'."\n" + ."\n" + .'> 适用的实例规格持续更新,详情请参见[预留实例券概述](~~100370#3c1b682051vt4~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'Scope', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的范围。取值范围: '."\n" + .' '."\n" + .'- Region:地域级别。 '."\n" + .'- Zone:可用区级别。'."\n" + ."\n" + .'默认值:Region。', + 'type' => 'string', + 'required' => false, + 'example' => 'Zone', + ], + ], + [ + 'name' => 'InstanceAmount', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券可以同时匹配同规格按量付费实例的数量。取值范围:1~50。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '3', + ], + ], + [ + 'name' => 'OfferingType', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的付款类型。取值范围: '."\n" + .' '."\n" + .'- No Upfront:零预付。'."\n" + .'- Partial Upfront:部分预付。'."\n" + .'- All Upfront:全预付。'."\n" + ."\n" + .'默认值:All Upfront。', + 'type' => 'string', + 'required' => false, + 'example' => 'All Upfront', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的描述。长度为2~256个英文或中文字符,不能以http://和https://开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => [ + 'description' => '实例使用的镜像的操作系统类型。取值范围:'."\n" + ."\n" + .'- Windows:Windows Server类型的操作系统。'."\n" + .'- Linux:Linux及类Unix类型的操作系统。'."\n" + ."\n" + .'默认值:Linux。', + 'type' => 'string', + 'required' => false, + 'example' => 'Linux', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买预留实例券的时长。'."\n" + ."\n" + .'取值范围:1、3。'."\n" + ."\n\n" + .''."\n" + ."\n" + .'- 当`PeriodUnit`为`Year`时,取值范围:1、3、5。'."\n" + ."\n" + .'- 当`PeriodUnit`为`Month`时,取值范围:1。'."\n" + ."\n" + .''."\n" + ."\n\n" + .'默认值:1。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '购买预留实例券的时长单位。'."\n" + ."\n" + .'取值范围:Year。'."\n" + ."\n" + .'默认值:Year。'."\n" + ."\n" + .'取值范围:Year、Month。'."\n" + ."\n" + .'默认值:Month。'."\n" + ."\n\n" + ."\n\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Year', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否要自动续费。可选值:'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false(默认):不自动续费。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '每次自动续费的时长,单位为月。当参数AutoRenew取值True时,该参数才生效。'."\n" + ."\n" + .'AutoRenewPeriod取值范围:1,12,36,60。'."\n" + ."\n" + .'当PeriodUnit=Month, 默认值为1。'."\n" + ."\n" + .'AutoRenewPeriod取值范围:12,36。'."\n" + ."\n" + .'当PeriodUnit=Year,默认值为12。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的指定生效时间。按照[ISO 8601](~~25696~~)标准表示,使用 UTC+0 时间。格式为:`yyyy-MM-ddTHHZ`。'."\n" + ."\n" + .'> 生效时间不填写时,默认从当前时间的整点时间开始生效。例如,你在2024-11-01 13:45:35成功购买,生效时间则为2024-11-01 13:00:00。', + 'type' => 'string', + 'required' => false, + 'example' => '2024-07-04T15Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8C314443-AF0D-4766-9562-C83B7F1A3C8B', + ], + 'ReservedInstanceIdSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReservedInstanceId' => [ + 'description' => '预留实例券ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'example' => 'ecsri-2ze53qonjqxg7r****', + ], + ], + ], + ], + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '23841229****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.ScopeNotMatch', + 'errorMessage' => 'Zonal reservedInstance not supported for scheduled creating.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified region and cluster do not match.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'ChargeType is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Scope', + 'errorMessage' => 'The specified parameter \'Scope\' is invalid.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceStatus.ValueNotSupported', + 'errorMessage' => 'ReservedInstance status is not supported.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingType.ValueNotSupported', + 'errorMessage' => 'The OfferingType is not supported.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingClass.ValueNotSupported', + 'errorMessage' => 'The OfferingClass is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.ZoneId', + 'errorMessage' => 'The specified zoneId should be not empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceType', + 'errorMessage' => 'The instanceType should be not empty.', + ], + [ + 'errorCode' => 'MissingParameter.ReservedInstanceId', + 'errorMessage' => 'The ids of reservedInstance can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.ReservedInstanceConfiguration', + 'errorMessage' => 'The configurations of reservedInstance can not be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.SplitOrMerge', + 'errorMessage' => 'The Many-to-many of modification is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceTypeAndAmountBothEmpty', + 'errorMessage' => 'The instanceType and amount can not be both empty.', + ], + [ + 'errorCode' => 'InvalidReservedInstancePlatform.ValueNotSupported', + 'errorMessage' => 'The Platform is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.ReservedInstanceName', + 'errorMessage' => 'ReservedInstanceName is invalid.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceZone.ValueNotSupported', + 'errorMessage' => 'The zoneId is not exist.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified InstanceType or Zone is not authorized for current user.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType beyond the permitted range.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The creation of Host to the specified Zone is not allowed.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'NodeControllerUnavailable', + 'errorMessage' => 'The Node Controller is temporarily unavailable.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The specified zone is not available for purchase.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + [ + 'errorCode' => 'InvalidStartTime.MalFormed', + 'errorMessage' => 'The specified StartTime is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.NotSupported', + 'errorMessage' => 'The specified startTime is not supported.', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => 'You are not authorized to perform the operation in the specified region.', + ], + ], + [ + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'PaymentMethodNotFound', + 'errorMessage' => 'No payment method has been registered on the account.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C314443-AF0D-4766-9562-C83B7F1A3C8B\\",\\n \\"ReservedInstanceIdSets\\": {\\n \\"ReservedInstanceId\\": [\\n \\"ecsri-2ze53qonjqxg7r****\\"\\n ]\\n },\\n \\"OrderId\\": \\"23841229****\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"51AB7717-6E1A-4D1D-A44D-54CBxxxxxxxx\\",\\n \\"ReservedInstanceId\\":\\"ri-instance\\"\\n}"},{"type":"xml","example":"\\n 8C314443-AF0D-4766-9562-C83B7F1A3C8B\\n \\n ecsri-2ze53qonjqxg7r****\\n \\n","errorExample":"\\n 51AB7717-6E1A-4D1D-A44D-54CBxxxxxxxx\\n ri-instance\\n"}]', + 'title' => '购买预留实例券', + 'description' => ''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解预留实例券的收费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)。**'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解预留实例券的收费方式和[价格](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl)。**'."\n" + ."\n" + .''."\n" + ."\n" + .'- 请确保在使用该接口前,您已充分了解预留实例券的计费规则。详情请参见[预留实例券](~~100371~~)。'."\n" + .'- 在所有地域下,您最多可以持有20张地域级预留实例券。'."\n" + .'- 单个可用区下,您最多可以持有20张可用区级预留实例券。'."\n" + ."\n" + .'## 请求示例'."\n" + .'- 在杭州地域下购买一张时长1年的地域级预留实例券,用来抵扣3台实例规格为ecs.g5.large、操作系统为Linux的按量付费实例账单。'."\n" + .'```'."\n" + .'"RegionId":"cn-hangzhou", //设置地域为杭州'."\n" + .'"InstanceType":"ecs.g5.large", //设置实例规格'."\n" + .'"Scope":"Region", //设置预留实例券的范围为地域级'."\n" + .'"InstanceAmount":3, //表示预留实例券可以同时匹配同规格按量付费实例的数量为3台'."\n" + .'"OfferingType":"All Upfront", //默认值,表示付款类型为全预付'."\n" + .'"Platform":"Linux", //实例使用的镜像的操作系统类型为Linux或者类Unix类型的操作系统'."\n" + .'"Period":1, //购买预留实例券的时长为1年'."\n" + .'"PeriodUnit":"Year", //设置时长单位为年'."\n" + .'```'."\n" + ."\n" + .'- 在杭州地域的可用区 H 下购买一张时长2年的可用区级预留实例券,用来抵扣5台实例规格为ecs.g5.large、操作系统为Windows的按量付费实例账单。'."\n" + .'```'."\n" + .'"RegionId":"cn-hangzhou",'."\n" + .'"ZoneId":"cn-hangzhou-h", //设置可用区为可用区 H'."\n" + .'"InstanceType":"ecs.g5.large",'."\n" + .'"Scope":"Zone", //设置预留实例券的范围为可用区级'."\n" + .'"InstanceAmount":5, //表示预留实例券可以同时匹配同规格按量付费实例的数量为5台'."\n" + .'"OfferingType":"All Upfront",'."\n" + .'"Platform":"Windows", //实例使用的镜像的操作系统类型为Windows'."\n" + .'"Period":2, //购买预留实例券的时长为2年'."\n" + .'"PeriodUnit":"Year", //设置时长单位为年'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeReservedInstances' => [ + 'summary' => '本接口主要用于查询指定地域下您已经购买的预留实例券信息列表,支持您根据标签、预留实例券属性等参数获取预留实例券详细信息列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29291', + 'abilityTreeNodes' => [ + 'FEATUREecsMCS2C4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券所属的地域ID。您可以调用[DescribeRegions](~~25609~~)获取最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券列表的页码,起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时的每页行数,最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '50', + 'default' => '10', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签数组。数组长度:1~20。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '预留实例券的标签键。不允许为空字符串,最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。'."\n" + ."\n" + .'> 使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个;如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '预留实例券的标签值。不允许为空字符串,最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券所属的地域ID。您可以调用[DescribeRegions](~~25609~~)获取最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的可用区编号,当Scope为Zone时生效并且必填。您可以通过[DescribeZones](~~25610~~)获取可用区列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-z', + ], + ], + [ + 'name' => 'ReservedInstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券名称。'."\n" + ."\n" + .'> 完全匹配,暂不支持模糊查询过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'testReservedInstanceName', + ], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => [ + 'description' => '锁定类型。取值范围:'."\n" + ."\n" + .'- financial:账号欠费或服务过期。'."\n" + .'- security:安全原因。', + 'type' => 'string', + 'required' => false, + 'example' => 'security', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券对应的实例规格。取值请参见[实例规格族](~~25378~~)。 '."\n" + ."\n" + .'> 购买预留实例券时选择的实例规格,实际抵扣的时候,地域级预留实例券支持同规格组内的不同大小规格换算抵扣。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5.large', + ], + ], + [ + 'name' => 'InstanceTypeFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券对应的实例规格族。取值请参见[实例规格族](~~25378~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g5', + ], + ], + [ + 'name' => 'Scope', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的范围。取值范围:'."\n" + .' '."\n" + .'- Region:地域级别。'."\n" + .'- Zone:可用区级别。', + 'type' => 'string', + 'required' => false, + 'example' => 'Region', + ], + ], + [ + 'name' => 'OfferingType', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的付款类型。取值范围:'."\n" + ."\n" + .'- No Upfront:零预付。'."\n" + .'- Partial Upfront:部分预付。'."\n" + .'- All Upfront:全预付。', + 'type' => 'string', + 'required' => false, + 'example' => 'All Upfront', + ], + ], + [ + 'name' => 'AllocationType', + 'in' => 'query', + 'schema' => [ + 'description' => '分配类型。取值范围:'."\n" + ."\n" + .'- Normal:查询当前账号下的预留实例券。'."\n" + .'- Shared:查询当前账号下已经建立主子账号共享的预留实例券。'."\n" + ."\n" + .'默认值:Normal。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'ReservedInstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '预留实例券ID数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ri-bpzhex2ulpzf53****', + ], + 'required' => false, + 'example' => 'ri-bpzhex2ulpzf53****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '预留实例券的状态数组。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券的状态。状态值取值范围:'."\n" + ."\n" + .'- Creating:正在创建。'."\n" + .'- Active:在有效期中。'."\n" + .'- Retired:失效。'."\n" + .'- Updating:正在更改预留实例券的属性。'."\n" + .'- Expired:已过期。预留实例券过期后立即失效,该取值目前已废弃,后续将移除。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + 'required' => false, + 'example' => 'Active', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E572643C-6A29-49D6-9D4E-6CFA4E063A3E', + ], + 'PageNumber' => [ + 'description' => '预留实例券列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '预留实例券的总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ReservedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReservedInstance' => [ + 'description' => '预留实例券的详细信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券的详细信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '状态。', + 'type' => 'string', + 'example' => 'Active', + ], + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2018-12-10T12:07Z', + ], + 'ReservedInstanceName' => [ + 'description' => '名称。', + 'type' => 'string', + 'example' => 'riZbpzhex2ulpzf53****', + ], + 'ReservedInstanceId' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'example' => 'ri-bpzhex2ulpzf53****', + ], + 'InstanceType' => [ + 'description' => '匹配的按量付费实例的规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'InstanceAmount' => [ + 'description' => '可以匹配同规格按量付费实例的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'OfferingType' => [ + 'description' => '付款类型。', + 'type' => 'string', + 'example' => 'All Upfront', + ], + 'StartTime' => [ + 'description' => '生效时间。', + 'type' => 'string', + 'example' => '2018-12-10T12:00Z', + ], + 'Description' => [ + 'description' => '描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'AllocationStatus' => [ + 'description' => '当AllocationType值为Shared时,该参数表示预留实例券的分配状态。可能值:'."\n" + ."\n" + .'- allocated:已分配给其他用户的预留实例券。'."\n" + .'- beAllocated:被其他用户分配的预留实例券。'."\n", + 'type' => 'string', + 'example' => 'allocated', + ], + 'ExpiredTime' => [ + 'description' => '到期时间。', + 'type' => 'string', + 'example' => '2019-12-10T12:07Z', + ], + 'ResourceGroupId' => [ + 'description' => '资源组。', + 'type' => 'string', + 'example' => 'EcsDocTest', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-z', + ], + 'Platform' => [ + 'description' => '实例使用的镜像的操作系统类型。可能值:'."\n" + ."\n" + .'- Windows:Windows Server类型的操作系统。'."\n" + ."\n" + .'- Linux:Linux及类Unix类型的操作系统。', + 'type' => 'string', + 'example' => 'Linux', + ], + 'Scope' => [ + 'description' => '范围。', + 'type' => 'string', + 'example' => 'region', + ], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OperationLock' => [ + 'description' => '是否被锁定。', + 'type' => 'array', + 'items' => [ + 'description' => '是否被锁定。', + 'type' => 'object', + 'properties' => [ + 'LockReason' => [ + 'description' => '锁定原因。', + 'type' => 'string', + 'example' => 'security', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '预留实例券的标签对信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券的标签对信息。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '预留实例券的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '预留实例券的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The regionId should not be null.', + ], + [ + 'errorCode' => 'InvalidRegion.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidZone.NotFound', + 'errorMessage' => 'The specified parameter ZoneId is not valid.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingType.ValueNotSupported', + 'errorMessage' => 'the OfferingType is not supported', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingClass.ValueNotSupported', + 'errorMessage' => 'the OfferingClass is not supported', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified InstanceType or Zone is not authorized for current user.', + ], + [ + 'errorCode' => 'InvalidEndTime.ValueNotSupported', + 'errorMessage' => 'The specified endTime is out of the permitted range.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceLockReason.ValueNotSupported', + 'errorMessage' => 'The specified LockReason is not supported.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceStatus.ValueNotSupported', + 'errorMessage' => 'The specified Status is not supported.', + ], + [ + 'errorCode' => 'InvalidAllocationType.ValueNotSupported', + 'errorMessage' => 'The specified AllocationType is not supported.', + ], + ], + 403 => [ + [ + 'errorCode' => 'RAM.ApiNotSupported', + 'errorMessage' => 'This call is not supported from ram accessing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"E572643C-6A29-49D6-9D4E-6CFA4E063A3E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"ReservedInstances\\": {\\n \\"ReservedInstance\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"CreationTime\\": \\"2018-12-10T12:07Z\\",\\n \\"ReservedInstanceName\\": \\"riZbpzhex2ulpzf53****\\",\\n \\"ReservedInstanceId\\": \\"ri-bpzhex2ulpzf53****\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"InstanceAmount\\": 10,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OfferingType\\": \\"All Upfront\\",\\n \\"StartTime\\": \\"2018-12-10T12:00Z\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"AllocationStatus\\": \\"allocated\\",\\n \\"ExpiredTime\\": \\"2019-12-10T12:07Z\\",\\n \\"ResourceGroupId\\": \\"EcsDocTest\\",\\n \\"ZoneId\\": \\"cn-hangzhou-z\\",\\n \\"Platform\\": \\"Linux\\",\\n \\"Scope\\": \\"region\\",\\n \\"OperationLocks\\": {\\n \\"OperationLock\\": [\\n {\\n \\"LockReason\\": \\"security\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"code\\":\\"200\\",\\n \\"data\\":{\\n \\"data\\":[\\n {\\n \\"CreationTime\\":\\"2018-12-10T12:07Z\\",\\n \\"ExpiredTime\\":\\"2019-12-10T16:00Z\\",\\n \\"InstanceAmount\\":1,\\n \\"ReservedInstanceId\\":\\"ri-0xzhex2ulpzf53rxme2j\\",\\n \\"InstanceType\\":\\"ecs.g5.large\\",\\n \\"OfferingType\\":\\"All Upfront\\",\\n \\"RegionId\\":\\"cn-hangzhou-test-307\\",\\n \\"ReservedInstanceName\\":\\"riZ0xzhex2ulpzf53rxme2jZ\\",\\n \\"Scope\\":\\"region\\",\\n \\"StartTime\\":\\"2018-12-10T12:00Z\\",\\n \\"Status\\":\\"active\\"\\n }\\n ],\\n \\"PageNumber\\":1,\\n \\"PageSize\\":50,\\n \\"Total\\":1\\n },\\n \\"httpStatusCode\\":200,\\n \\"message\\":\\"successful\\",\\n \\"requestId\\":\\"E572643C-6A29-49D6-9D4E-6CFA4E063A3E\\",\\n \\"success\\":true\\n}"},{"type":"xml","example":"\\n \\n \\n 2018-12-10T12:07Z\\n 2019-12-10T16:00Z\\n 1\\n ri-0xzhex2ulpzf53****\\n ecs.g5.large\\n All Upfront\\n cn-hangzhou-test-307\\n riZ0xzhex2ulpzf53****\\n region\\n 2018-12-10T12:00Z\\n Active\\n \\n \\n TestKey\\n TestValue\\n \\n \\n \\n \\n E572643C-6A29-49D6-9D4E-6CFA4E063A3E\\n 1\\n 50\\n 1\\n","errorExample":"\\n \\n\\t2018-12-10T12:07Z\\n\\t2019-12-10T16:00Z\\n\\t1\\n\\tri-xxx\\n\\tecs.g5.large\\n\\tAll Upfront\\n\\tcn-hangzhou\\n\\triZ0xzhex2ulpzf53xxxxx\\n\\tregion\\n\\t2018-12-10T12:00Z\\n\\tactive\\n \\n \\n\\t2018-12-10T12:07Z\\n\\t2019-12-10T16:00Z\\n\\t1\\n\\tri-xxxx\\n\\tecs.g5.large\\n\\tAll Upfront\\n\\tcn-hangzhou\\n\\triZ0xzhex2ulpzfxxxxxx\\n\\tregion\\n\\t2018-12-10T12:00Z\\n\\tactive\\n \\n 1\\n 50\\n 2\\n"}]', + 'title' => '查询预留实例券详细信息列表', + 'description' => '### 适用场景'."\n" + .'- 查询指定地域下所有的预留实例券。'."\n" + .'- 根据预留实例券ID或名称查询其详细信息。'."\n" + .'- 根据实例规格或者实例规格族过滤查询您已购买的预留实例券。'."\n" + .'- 根据预留实例券范围或者状态过滤查询您已购买的预留实例券。'."\n" + ."\n" + .'### 请求示例'."\n" + .'
'."\n" + .'示例:查询杭州地域下所有已购买的预留实例券'."\n" + ."\n" + .'```'."\n" + .'"Region":"cn-hangzhou" //设置地域为杭州'."\n" + .'```'."\n" + .'
'."\n" + .'
'."\n" + .'示例:查询杭州地域下ID为ecsri-bp129enntoynwwj5****的预留实例券的详细信息'."\n" + ."\n" + .'```'."\n" + .'"Region":"cn-hangzhou", //设置地域为杭州'."\n" + .'"ReservedInstanceId":"ecsri-bp129enntoynwwj5****" //设置预留实例券ID'."\n" + .'```'."\n" + .'
'."\n" + .'
'."\n" + .'示例:查询杭州地域下可以抵扣实例规格为ecs.c5.2xlarge的预留实例券'."\n" + ."\n" + .'```'."\n" + .'"Region":"cn-hangzhou", //设置地域为杭州'."\n" + .'"InstanceType":"ecs.c5.2xlarge" //设置实例规格'."\n" + .'```'."\n" + .'
'."\n" + .'
'."\n" + .'示例:查询杭州地域下在有效期中的地域级预留实例券'."\n" + ."\n" + .'```'."\n" + .'"Region":"cn-hangzhou", //设置地域为杭州'."\n" + .'"Scope":"Region", //设置预留实例券范围'."\n" + .'"Status":["Active"] //设置状态为在有效期中'."\n" + .'```'."\n" + .'
', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyReservedInstances' => [ + 'summary' => '本接口的主要功能是通过修改实例规格、数量、可用区等预留实例券的配置来对预留实例券进行拆分、合并或范围变更操作。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29091', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券所属的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)获取最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ReservedInstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '预留实例券ID数组。数组长度:1~20。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecsri-bp15xx2****', + ], + 'required' => true, + 'docRequired' => true, + 'example' => 'ReservedInstanceId.1="ecsri-bp1cx3****",ReservedInstanceId.2="ecsri-bp15xx2****"......', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Configuration', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '预留实例券的配置信息数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券的配置信息。', + 'type' => 'object', + 'properties' => [ + 'ReservedInstanceName' => [ + 'description' => '预留实例券的名称。'."\n" + ."\n" + .'长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testReservedInstanceName', + ], + 'ZoneId' => [ + 'description' => '预留实例券所属的可用区编号。'."\n" + ."\n" + .'`Scope`参数值为`Zone`时,该参数为必填参数。'."\n" + ."\n" + .'您可以调用[DescribeZones](~~25609~~)获取可用区列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-i', + ], + 'Scope' => [ + 'description' => '预留实例券的范围。取值范围: '."\n" + ."\n" + .'- Region:地域级别。'."\n" + .'- Zone:可用区级别。'."\n" + ."\n" + .'默认值:Region。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Zone', + ], + 'InstanceType' => [ + 'description' => '预留实例券可以匹配的实例规格。'."\n" + ."\n" + .'> 适用的实例规格持续更新,详情请参见[预留实例券概述](~~100370#3c1b682051vt4~~)。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ecs.c5.4xlarge ', + ], + 'InstanceAmount' => [ + 'description' => '预留实例券可以同时匹配同规格按量付费实例的数量。取值范围:≥1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '1', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'ED9E4A5F-FF4D-4C96-BE80-6B4227060DD7', + ], + 'ReservedInstanceIdSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReservedInstanceId' => [ + 'description' => '预留实例券ID列表。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'example' => '"ecsri-bp1cx3****"', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified region and cluster do not match.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'ChargeType is not valid.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified InstanceType or Zone is not authorized for current user.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified region; please try again later.', + ], + [ + 'errorCode' => 'NodeControllerUnavailable', + 'errorMessage' => 'The Node Controller is temporarily unavailable.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The specified zone is not available for purchase.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceName.Malformed', + 'errorMessage' => 'The specified parameter ReservedInstanceName is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Scope', + 'errorMessage' => 'The specified parameter \'Scope\' is invalid.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceStatus.ValueNotSupported', + 'errorMessage' => 'ReservedInstance status is not supported.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingType.ValueNotSupported', + 'errorMessage' => 'The OfferingType is not supported.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingClass.ValueNotSupported', + 'errorMessage' => 'The OfferingClass is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.ZoneId', + 'errorMessage' => 'The specified zoneId should be not empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceType', + 'errorMessage' => 'The instanceType should be not empty.', + ], + [ + 'errorCode' => 'MissingParameter.ReservedInstanceId', + 'errorMessage' => 'The ids of reservedInstance can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.ReservedInstanceConfiguration', + 'errorMessage' => 'The configurations of reservedInstance can not be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.SplitOrMerge', + 'errorMessage' => 'The Many-to-many of modification is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceTypeAndAmountBothEmpty', + 'errorMessage' => 'The instanceType and amount can not be both empty.', + ], + [ + 'errorCode' => 'InvalidReservedInstancePlatform.ValueNotSupported', + 'errorMessage' => 'The Platform is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.ReservedInstanceName', + 'errorMessage' => 'The reservedInstanceName is invalid.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceZone.ValueNotSupported', + 'errorMessage' => 'The zoneId is not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.ValueNotSupported', + 'errorMessage' => 'The instanceTypeFamily of the instance to be changed must be consistent.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The status of specified reservedInstance must be active.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The platform of reservedInstance is invalid.', + ], + [ + 'errorCode' => 'InvalidScope.ValueNotSupported', + 'errorMessage' => 'The scope of reservedInstance is invalid. The valid value is Zone or Region.', + ], + [ + 'errorCode' => 'InvalidConfiguration.ValueNotSupported', + 'errorMessage' => 'The modification Configuration should not be empty.', + ], + [ + 'errorCode' => 'InvalidZoneId.ValueNotSupported', + 'errorMessage' => 'The specified zoneId should be same.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The parameter is invalid.Please check it.', + ], + [ + 'errorCode' => 'InvalidInstanceAmount.ValueNotSupported', + 'errorMessage' => 'The instanceAmount is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.OnlyModifyName', + 'errorMessage' => 'It is not allowed to modify the ReservedInstanceName only.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceId.NotFound', + 'errorMessage' => 'The specified parameter ReservedInstanceId is invalid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ED9E4A5F-FF4D-4C96-BE80-6B4227060DD7\\",\\n \\"ReservedInstanceIdSets\\": {\\n \\"ReservedInstanceId\\": [\\n \\"\\\\\\"ecsri-bp1cx3****\\\\\\"\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n ecsri-bp1cx3****\\n ecsri-bp15xx2****\\n \\n ED9E4A5F-FF4D-4C96-BE80-6B4227060DD7\\n","errorExample":""}]', + 'title' => '修改预留实例券配置', + 'description' => '本接口为异步接口,接口调用成功后会返回新产生的预留实例券ID,原来的预留实例券会进入`更新中`状态,最终变为`失效`状态,与此同时,会有一张创建中状态的预留实例券产生,最终变为已生效状态,您可以通过[DescribeReservedInstances](~~2679781~~)进行查询。'."\n" + ."\n" + .'- 预留实例券只有在**已生效**状态下才可以修改配置。'."\n" + .'- 请确保修改配置前后预留实例券的[计算力](~~140660#2742f3844abzz~~)不会改变,否则修改请求会失败。'."\n" + .'- 预留实例券的拆分、合并、范围变更不能同时进行。'."\n" + ."\n" + .'更多信息,请参见[拆分、合并或修改预留实例券](~~100375~~)。'."\n" + ."\n" + .'## 请求示例'."\n" + ."\n" + .'- **拆分**:将一张杭州地域、实例规格为ecs.g5.xlarge、匹配数量为2的预留实例券拆分为两张实例规格为ecs.g5.large、匹配数量为1的预留实例券。'."\n" + .'```'."\n" + .'"RegionId":"cn-hangzhou", //设置地域为杭州'."\n" + .'"ReservedInstanceId":["ecsri-bp1hd03e9uv19e75****"], //需要拆分的预留实例券ID'."\n" + .'"Configuration":['."\n" + .' {'."\n" + .' "ReservedInstanceName":"testReservedInstanceName1", //修改后的预留实例券名称'."\n" + .' "InstanceType":"ecs.g5.large", //设置修改后的实例规格'."\n" + .' "Scope":"Region", //预留实例券的范围不可改变'."\n" + .' "InstanceAmount":1 //表示预留实例券可以同时匹配同规格按量付费实例的数量为1台'."\n" + .' },'."\n" + .' {'."\n" + .' "ReservedInstanceName":"testReservedInstanceName2",'."\n" + .' "InstanceType":"ecs.g5.large",'."\n" + .' "Scope":"Region",'."\n" + .' "InstanceAmount":1'."\n" + .' }'."\n" + .']'."\n" + ."\n" + .'```'."\n" + ."\n" + .'- **合并**:将两张杭州地域可用区 H 、实例规格为ecs.g5.xlarge、匹配数量为4的预留实例券合并为一张实例规格为ecs.g5.4xlarge、匹配数量为2的预留实例券。'."\n" + .'```'."\n" + .'"RegionId":"cn-hangzhou", //设置地域为杭州'."\n" + .'"ReservedInstanceId":["ecsri-bp1hd03e9uv16b75****",""ecsri-bp1hd03e9uv16b76****""], //需要合并的预留实例券ID'."\n" + .'"Configuration":['."\n" + .' {'."\n" + .' "ReservedInstanceName":"testReservedInstanceName", //修改后的预留实例券名称'."\n" + .' "InstanceType":"ecs.g5.4xlarge", //设置修改后的实例规格'."\n" + .' "Scope":"Zone", //预留实例券的范围不可改变'."\n" + .' "ZoneId":"cn-hangzhou-h", //'."\n" + .' "InstanceAmount":2 //表示预留实例券可以同时匹配同规格按量付费实例的数量为2台'."\n" + .' }'."\n" + .']'."\n" + .'```'."\n" + ."\n" + .'- **变更范围**:将一张杭州地域可用区 H 、实例规格为ecs.g5.xlarge、匹配数量为6的预留实例券变更为一张杭州地域、实例规格为ecs.g5.2xlarge、匹配数量为3的预留实例券。'."\n" + .'```'."\n" + .'"RegionId":"cn-hangzhou", //设置地域为杭州'."\n" + .'"ReservedInstanceId":["ecsri-bp1hd03e9uv16b77****"], //需要变更范围的预留实例券ID'."\n" + .'"Configuration":['."\n" + .' {'."\n" + .' "ReservedInstanceName":"testReservedInstanceName", //变更范围后的预留实例券名称'."\n" + .' "InstanceType":"ecs.g5.2xlarge", //设置修改后的实例规格'."\n" + .' "Scope":"Region", //变更后预留实例券的范围'."\n" + .' "InstanceAmount":3 //表示预留实例券可以同时匹配同规格按量付费实例的数量为3台'."\n" + .' }'."\n" + .']'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyReservedInstanceAttribute' => [ + 'summary' => '本接口用于修改一张预留实例券的属性信息,包括名称和描述。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29089', + 'abilityTreeNodes' => [ + 'FEATUREecsG3KXW4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ReservedInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'ecsri-uf61hdhue4kcorqsk****', + ], + ], + [ + 'name' => 'ReservedInstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testReservedInstanceName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券的描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'ri-example', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'HttpStatusCode' => [ + 'description' => 'HTTP状态码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'Code' => [ + 'description' => '返回错误码。', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '实例操作返回错误信息。返回值Success为成功,更多请参见下文错误码列表。', + 'type' => 'string', + 'example' => 'Success', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter.ReservedInstanceName', + 'errorMessage' => 'The reservedInstanceName is invalid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceId.NotFound', + 'errorMessage' => 'The specified ReservedInstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 200\\n 200\\n Success\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '修改预留实例券属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RenewReservedInstances' => [ + 'summary' => '本接口用于对一张或多张预留实例券进行续费,支持您在续费时设置购买时长和自动续费属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '149202', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'ReservedInstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '预留实例券ID。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。您可以调用[DescribeReservedInstances](~~100065~~)查看已购买的预留实例券。'."\n" + ."\n" + .'单次续费的预留实例券数量最多不超过10个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecsri-2ze53qonjqxg7r****', + ], + 'required' => false, + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券所属的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)获取最新的阿里云地域列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买预留实例券的时长。'."\n" + ."\n" + .'取值范围:1、3。'."\n" + ."\n\n" + .''."\n" + ."\n" + .'- 当`PeriodUnit`为`Year`时,取值范围:1、3、5。'."\n" + ."\n" + .'- 当`PeriodUnit`为`Month`时,取值范围:1。'."\n" + ."\n" + .''."\n" + ."\n\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '购买预留实例券的时长单位。'."\n" + ."\n" + .'取值范围:Year。'."\n" + ."\n" + .'默认值:Year。'."\n" + ."\n" + .'取值范围:Year、Month。'."\n" + ."\n" + .'默认值:Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Year', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否要自动续费。'."\n" + ."\n" + .'- true:自动续费。'."\n" + .'- false:不自动续费。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '每次自动续费的时长,单位为月。当参数AutoRenew取值为true时,该参数才生效。'."\n" + ."\n" + .'取值范围:12,36。默认值为12。'."\n" + ."\n" + .''."\n" + ."\n" + .'- PeriodUnit=Month, 取值范围:1,12,36,60。默认值为1。'."\n" + ."\n" + .'- PeriodUnit=Year,取值范围:12,36,60。默认值为12。'."\n" + ."\n" + .''."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '8C314443-AF0D-4766-9562-C83B7F1****', + ], + 'ReservedInstanceIdSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReservedInstanceId' => [ + 'description' => '预留实例券ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'example' => 'ecsri-2ze53qonjqxg7r****', + ], + ], + ], + ], + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '2023912123****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified region and cluster do not match.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'ChargeType is not valid.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified InstanceType or Zone is not authorized for current user.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified Period or PeriodUnit is not correct.', + ], + [ + 'errorCode' => 'MissingParameter.ReservedInstanceIds', + 'errorMessage' => 'The specified ReservedInstanceIds does not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.PeriodUnit', + 'errorMessage' => 'The specified PeriodUnit is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Period', + 'errorMessage' => 'The specified Period is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.ReservedInstanceIds', + 'errorMessage' => 'The specified ReservedInstanceIds is invalid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededMaximumExpiration', + 'errorMessage' => 'The specified renewal period cannot exceed the maximum expiration date. We recommend you try shortening the renewal period at next attempt.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified region; please try again later.', + ], + [ + 'errorCode' => 'NodeControllerUnavailable', + 'errorMessage' => 'The Node Controller is temporarily unavailable.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The specified zone is not available for purchase.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceName.Malformed', + 'errorMessage' => 'The specified parameter ReservedInstanceName is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Scope', + 'errorMessage' => 'The specified parameter \'Scope\' is invalid.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceStatus.ValueNotSupported', + 'errorMessage' => 'ReservedInstance status is not supported.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingType.ValueNotSupported', + 'errorMessage' => 'The OfferingType is not supported.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceOfferingClass.ValueNotSupported', + 'errorMessage' => 'The OfferingClass is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.ZoneId', + 'errorMessage' => 'The specified zoneId should be not empty.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceType', + 'errorMessage' => 'The instanceType should be not empty.', + ], + [ + 'errorCode' => 'MissingParameter.ReservedInstanceId', + 'errorMessage' => 'The ids of reservedInstance can not be empty.', + ], + [ + 'errorCode' => 'MissingParameter.ReservedInstanceConfiguration', + 'errorMessage' => 'The configurations of reservedInstance can not be empty.', + ], + [ + 'errorCode' => 'InvalidParameter.SplitOrMerge', + 'errorMessage' => 'The Many-to-many of modification is not supported.', + ], + [ + 'errorCode' => 'MissingParameter.InstanceTypeAndAmountBothEmpty', + 'errorMessage' => 'The instanceType and amount can not be both empty.', + ], + [ + 'errorCode' => 'InvalidReservedInstancePlatform.ValueNotSupported', + 'errorMessage' => 'The Platform is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.ReservedInstanceName', + 'errorMessage' => 'The reservedInstanceName is invalid.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceZone.ValueNotSupported', + 'errorMessage' => 'The zoneId is not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.ValueNotSupported', + 'errorMessage' => 'The instanceTypeFamily of the instance to be changed must be consistent.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The status of specified reservedInstance must be active.', + ], + [ + 'errorCode' => 'InvalidPlatform.ValueNotSupported', + 'errorMessage' => 'The platform of reservedInstance is invalid.', + ], + [ + 'errorCode' => 'InvalidScope.ValueNotSupported', + 'errorMessage' => 'The scope of reservedInstance is invalid, The valid value is Zone or Region.', + ], + [ + 'errorCode' => 'InvalidConfiguration.ValueNotSupported', + 'errorMessage' => 'The modification Configuration should not be empty.', + ], + [ + 'errorCode' => 'InvalidZoneId.ValueNotSupported', + 'errorMessage' => 'The specified zoneId should be same.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The parameter is invalid.Please check it.', + ], + [ + 'errorCode' => 'InvalidInstanceAmount.ValueNotSupported', + 'errorMessage' => 'The instanceAmount is invalid.', + ], + [ + 'errorCode' => 'OperationDenied.OnlyModifyName', + 'errorMessage' => 'It is not allowed to modify the ReservedInstanceName only.', + ], + [ + 'errorCode' => 'InvalidReservedInstanceId.NotFound', + 'errorMessage' => 'The specified parameter ReservedInstanceId is invalid.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the instance.', + ], + ], + [ + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C314443-AF0D-4766-9562-C83B7F1****\\",\\n \\"ReservedInstanceIdSets\\": {\\n \\"ReservedInstanceId\\": [\\n \\"ecsri-2ze53qonjqxg7r****\\"\\n ]\\n },\\n \\"OrderId\\": \\"2023912123****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n \\n ecsri-2ze53qonjqxg7r****\\n ecsri-2ze53qonjqxg7s****\\n \\n 2023912123****\\n 8C314443-AF0D-4766-9562-C83B7F1****\\n","errorExample":""}]', + 'title' => '续费预留实例券', + 'description' => ''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解预留实例券的收费方式和[价格](https://www.aliyun.com/price/product#/ecs/detail)。**'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解预留实例券的收费方式和[价格](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl)。**'."\n" + ."\n" + .''."\n" + ."\n" + .'- 预留实例券支持手动续费和自动续费两种续费方式,详细信息请参见[预留实例券续费说明](~~100371#53bfc50b78sta~~)。'."\n" + .'- 您可以调用[DescribeReservedInstances](~~100065~~)查询已购买的预留实例券。'."\n" + .'- 该接口支持开启自动续费,但不支持取消自动续费,您可以通过[ModifyReservedInstanceAutoRenewAttribute](~~2679786~~)取消自动续费。', + ], + 'DescribeReservedInstanceAutoRenewAttribute' => [ + 'summary' => '本接口用于查询一个或多个预留实例券自动续费属性,包括自动续费时长和自动续费状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '156251', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券所属的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)获取最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ReservedInstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '预留实例券ID数组。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。您可以调用[DescribeReservedInstances](~~100065~~)查看已购买的预留实例券。'."\n" + ."\n" + .'单次续费的预留实例券数量最多不超过100个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecsri-ajdfaj****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + ], + 'ReservedInstanceRenewAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReservedInstanceRenewAttribute' => [ + 'description' => '由ReservedInstanceRenewAttribute组成的数组格式,返回预留实例券的自动续费设置信息。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodUnit' => [ + 'description' => '续费单位。'."\n" + ."\n" + .'可能值:Year。'."\n" + ."\n" + .'可能值:Year、Month。', + 'type' => 'string', + 'example' => 'Month', + ], + 'Duration' => [ + 'description' => '自动续费时长。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ReservedInstanceId' => [ + 'description' => '预留实例券ID。', + 'type' => 'string', + 'example' => 'ecsri-ajdfaj****', + ], + 'RenewalStatus' => [ + 'description' => '预留实例券自动续费状态。可能值:'."\n" + ."\n" + .'- AutoRenewal:自动续费。'."\n" + .'- Normal:手动续费。', + 'type' => 'string', + 'example' => 'AutoRenewal', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go dedicated host do not support this operation.', + ], + [ + 'errorCode' => 'MissingParamter.InstanceId', + 'errorMessage' => 'ReservedInstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.ToManyInstanceIds', + 'errorMessage' => 'ReservedInstanceId should be less than 100.', + ], + [ + 'errorCode' => 'InValidParameter', + 'errorMessage' => 'Parameter invalid.%s', + ], + [ + 'errorCode' => 'ResourceStatusViolation', + 'errorMessage' => 'The operation is not permitted due to resource status of the instance.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"ReservedInstanceRenewAttributes\\": {\\n \\"ReservedInstanceRenewAttribute\\": [\\n {\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Duration\\": 1,\\n \\"ReservedInstanceId\\": \\"ecsri-ajdfaj****\\",\\n \\"RenewalStatus\\": \\"AutoRenewal\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE7****\\n \\n \\n Month\\n 1\\n ecsri-ajdfaj****\\n AutoRenewal\\n \\n \\n Month\\n 1\\n ecsri-abjkql****\\n AutoRenewal\\n \\n \\n","errorExample":""}]', + 'title' => '查询预留实例券自动续费属性', + ], + 'ModifyReservedInstanceAutoRenewAttribute' => [ + 'summary' => '本接口主要用于修改一个或多个预留实例券的自动续费属性,支持您取消或者关闭自动续费。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '156241', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '预留实例券所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '自动续费周期。取值范围:'."\n" + ."\n" + .'取值范围:1、3。'."\n" + ."\n" + .''."\n" + ."\n" + .'- 当`PeriodUnit`为`Year`时,取值范围:1、3、5。'."\n" + ."\n" + .'- 当`PeriodUnit`为`Month`时,取值范围:1。'."\n" + ."\n" + .'', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '自动续费时长单位。'."\n" + ."\n" + .'取值范围:Year。'."\n" + ."\n" + .'取值范围:Month、Year。'."\n" + ."\n" + .'默认值:Month。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动续费包年包月预留实例券。取值范围:'."\n" + ."\n" + .'- AutoRenewal:自动续费。'."\n" + .'- Normal:手动续费。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AutoRenewal', + ], + ], + [ + 'name' => 'ReservedInstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '预留实例券ID。', + 'type' => 'array', + 'items' => [ + 'description' => '预留实例券ID。您可以调用[DescribeReservedInstances](~~100065~~)查看已购买的预留实例券。'."\n" + .'仅支持对**在有效期中**的预留实例券进行设置。'."\n" + ."\n" + .'单次设置的预留实例券数量最多不超过100个。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecsri-ajdfaj****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2A4EA075-CB5B-41B7-B0EB-70D339F6****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Duration', + 'errorMessage' => 'The specified parameter Duration is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Abs.MissingParamter.InstanceId', + 'errorMessage' => 'ReservedInstanceId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.ToManyInstanceIds', + 'errorMessage' => 'ReservedInstanceId should be less than 100.', + ], + [ + 'errorCode' => 'InvalidParameter.PeriodUnit', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Period', + 'errorMessage' => 'The specified parameter Period is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.RenewalStatus', + 'errorMessage' => 'The specified parameter RenewalStatus is not valid.', + ], + [ + 'errorCode' => 'InValidParameter', + 'errorMessage' => 'Parameter invalid.%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2A4EA075-CB5B-41B7-B0EB-70D339F6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2A4EA075-CB5B-41B7-B0EB-70D339F6****\\n","errorExample":""}]', + 'title' => '修改预留实例券自动续费属性', + ], + 'PurchaseStorageCapacityUnit' => [ + 'summary' => '本接口用于购买一个或多个存储容量单位包SCU(Storage Capacity Unit)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29129', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU所属的地域ID。确定地域后,SCU只能抵扣该地域下云盘的按量付费账单。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的名称,长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http://`或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ScuPurchaseDemo', + ], + ], + [ + 'name' => 'Capacity', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU容量大小,单位为GiB。取值范围:20、40、100、200、500、1024、2048、5210、10240、20480、52100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的描述信息,长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'ScuPurchaseDemo', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的生效时间。生效时间不能超过创建时间开始的180天。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHHZ。'."\n" + ."\n" + .'默认值:无,表示从创建时间开始生效。', + 'type' => 'string', + 'required' => false, + 'example' => '2020-09-09T02Z', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的有效期时长。取值范围:'."\n" + ."\n" + .'- 当PeriodUnit=Month时,Period参数的有效取值为1、2、3、6。'."\n" + .'- 当PeriodUnit=Year时,Period参数的有效取值为1、3、5。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的有效期时长单位。取值范围:'."\n" + ."\n" + .'- Month:月。'."\n" + .'- Year:年。'."\n" + ."\n" + .'默认值:Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'FromApp', + 'in' => 'query', + 'schema' => [ + 'description' => '用于备注请求来源,默认值为OpenAPI,无需手动设置。', + 'type' => 'string', + 'required' => false, + 'example' => 'OpenAPI', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Amount', + 'in' => 'query', + 'schema' => [ + 'description' => '购买的SCU的数量。取值范围:1~20。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '20', + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签数组。数组长度:1~20。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'SCU的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => 'SCU的标签值。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '存储容量单位包所在的资源组ID。您只能传入已有权限的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '204135153880****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'StorageCapacityUnitIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StorageCapacityUnitId' => [ + 'description' => 'SCU ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'SCU ID。', + 'type' => 'string', + 'example' => 'scu-bp67acfmxazb4p****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Period', + 'errorMessage' => 'The specified Period is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Capacity', + 'errorMessage' => 'The specified Capacity is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.Capacity', + 'errorMessage' => 'The specified Capacity should be not null.', + ], + [ + 'errorCode' => 'InvalidParameter.PeriodUnit', + 'errorMessage' => 'The specified PeriodUnit is not supported.', + ], + [ + 'errorCode' => 'InvalidParameter.CapacityExceed', + 'errorMessage' => 'The specified Capacity exceeds the limitation of quota.', + ], + [ + 'errorCode' => 'InvalidStartTime.NotSupported', + 'errorMessage' => 'The specified StartTime should be within 180 calendar days from the current date, and you must specify a precision to hour.', + ], + [ + 'errorCode' => 'InvalidStartTime.MalFormed', + 'errorMessage' => 'The specified StartTime is out of the permitted range.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"204135153880****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"StorageCapacityUnitIds\\": {\\n \\"StorageCapacityUnitId\\": [\\n \\"scu-bp67acfmxazb4p****\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 204135153880***\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n scu-bp67acfmxazb4p****\\n \\n","errorExample":""}]', + 'title' => '购买存储容量单位包', + 'description' => ''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解存储容量单位包的[计费方式](~~137897~~)和[价格](https://www.aliyun.com/price/product#/ecs/detail)。**'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'**请确保在使用该接口前,已充分了解存储容量单位包的[计费方式](~~137897~~)和[价格](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl)。**'."\n" + ."\n" + .'', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeStorageCapacityUnits' => [ + 'summary' => '本接口用于查询存储容量单位包SCU(Storage Capacity Unit)的详细信息列表,支持根据名称、状态以及容量大小等条件进行查询。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29003', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时的每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的名称,长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以`http:/`/或`https://`开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testScuName', + ], + ], + [ + 'name' => 'Capacity', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU容量大小,单位为GiB。取值范围:{20, 40, 100, 200, 500, 1024, 2048, 5120, 10240, 20480, 51200}。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'AllocationType', + 'in' => 'query', + 'schema' => [ + 'description' => '分配类型。取值范围:'."\n" + ."\n" + .'- Normal:查询当前阿里云账号下的SCU。'."\n" + .'- Shared:查询已经建立阿里云账号与RAM用户共享的SCU。'."\n" + ."\n" + .'默认值:Normal。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'StorageCapacityUnitId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'SCU的ID数组。数组长度:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => 'SCU的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'scu-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'scu-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'SCU的状态数组,数组长度为1~4。', + 'type' => 'array', + 'items' => [ + 'description' => 'SCU的状态值。状态的取值范围:'."\n" + ."\n" + .'- Creating:创建中'."\n" + .'- Active:启用中'."\n" + .'- Expired:已过期'."\n" + .'- Pending:待生效', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + 'required' => false, + 'example' => 'Active', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签数组。数组长度:0~20。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'SCU的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => 'SCU的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => 'SCU列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => 'SCU总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'StorageCapacityUnits' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StorageCapacityUnit' => [ + 'description' => '由StorageCapacityUnits组成的数组格式,返回的SCU详细信息集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'SCU的创建时间。', + 'type' => 'string', + 'example' => '2021-08-17T02:55Z', + ], + 'Status' => [ + 'description' => 'SCU的状态。可能值:'."\n" + .'- Creating:创建中。'."\n" + .'- Active:启用中。'."\n" + .'- Expired:已过期。'."\n" + .'- Pending:待生效。', + 'type' => 'string', + 'example' => 'Active', + ], + 'StartTime' => [ + 'description' => 'SCU的开始生效时间。'."\n", + 'type' => 'string', + 'example' => '2021-08-17T02:55Z', + ], + 'Capacity' => [ + 'description' => 'SCU的容量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Description' => [ + 'description' => 'SCU的描述信息。', + 'type' => 'string', + 'example' => 'testScuDescription', + ], + 'AllocationStatus' => [ + 'description' => '当AllocationType值为Shared时,该参数表示SCU的分配状态。可能值:'."\n" + .'- allocated:已分配给其他用户的SCU。'."\n" + .'- beAllocated:被其他用户分配的SCU。', + 'type' => 'string', + 'example' => 'allocated', + ], + 'ExpiredTime' => [ + 'description' => 'SCU的到期时间。', + 'type' => 'string', + 'example' => '2021-09-17T16:00Z', + ], + 'StorageCapacityUnitId' => [ + 'description' => 'SCU的ID。', + 'type' => 'string', + 'example' => 'scu-bp67acfmxazb4p****', + ], + 'Name' => [ + 'description' => 'SCU的名称。', + 'type' => 'string', + 'example' => 'testScuName', + ], + 'RegionId' => [ + 'description' => 'SCU的所属地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'SCU标签键值对。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => 'SCU的标签值。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagKey' => [ + 'description' => 'SCU的标签键。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CapacityExceed', + 'errorMessage' => 'The specified Capacity exceeds the limitation of quota.', + ], + [ + 'errorCode' => 'InvalidAllocationType.ValueNotSupported', + 'errorMessage' => 'The specified AllocationType is not supported.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"StorageCapacityUnits\\": {\\n \\"StorageCapacityUnit\\": [\\n {\\n \\"CreationTime\\": \\"2021-08-17T02:55Z\\",\\n \\"Status\\": \\"Active\\",\\n \\"StartTime\\": \\"2021-08-17T02:55Z\\",\\n \\"Capacity\\": 20,\\n \\"Description\\": \\"testScuDescription\\",\\n \\"AllocationStatus\\": \\"allocated\\",\\n \\"ExpiredTime\\": \\"2021-09-17T16:00Z\\",\\n \\"StorageCapacityUnitId\\": \\"scu-bp67acfmxazb4p****\\",\\n \\"Name\\": \\"testScuName\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestKey\\",\\n \\"TagKey\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n \\n \\n Active\\n testScuDescription\\n \\n 20\\n scu-bp67acfmxazb4p****\\n 2021-09-17T16:00Z\\n 2021-08-17T02:55Z\\n 2021-08-17T02:00Z\\n cn-hangzhou\\n \\n \\n TestKey\\n TestValue\\n \\n \\n testScuName\\n \\n \\n","errorExample":""}]', + 'title' => '查询存储容量单位包详细信息列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyStorageCapacityUnitAttribute' => [ + 'summary' => '本接口用于修改一个存储容量单位包SCU(Storage Capacity Unit)的名称或者描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29107', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'StorageCapacityUnitId', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'scu-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的新名称,长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testNewScuName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'SCU的新描述信息,长度为2~256个英文或中文字符,不能以http://和https://开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testNewScuDescription', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The specified RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified Name is invalid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + [ + 'errorCode' => 'MissingParameter.StorageCapacityUnitId', + 'errorMessage' => 'The specified StorageCapacityUnitId is not supported.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidStorageCapacityUnitId.NotFound', + 'errorMessage' => 'The specified StorageCapacityUnitId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\r\\n","errorExample":""}]', + 'title' => '修改存储容量单位包属性', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RunCommand' => [ + 'summary' => '本接口用于在一台或多台ECS实例中创建并执行云助手命令,支持Shell、PowerShell或者Bat类型的脚本,支持定时执行、自定义参数和实例内容器执行等功能。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29314', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行的资源组ID,当指定该参数时:'."\n" + ."\n" + .'- 当InstanceId对应的ECS实例属于非默认资源组时,该ECS实例必须属于该资源组。'."\n" + ."\n" + .'- 支持通过指定该参数筛选出对应的命令执行结果(通过调用[DescribeInvocations](~~64840~~)或[DescribeInvocationResults](~~64845~~))。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '命令名称。支持全字符集,长度不得超过128个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'testName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '命令描述。支持全字符集,长度不得超过512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '命令类型。取值范围:'."\n" + ."\n" + .'- RunBatScript:适用于Windows实例的Bat命令。'."\n" + .'- RunPowerShellScript:适用于Windows实例的PowerShell命令。'."\n" + .'- RunShellScript:适用于Linux实例的Shell命令。', + 'type' => 'string', + 'required' => true, + 'example' => 'RunShellScript', + ], + ], + [ + 'name' => 'CommandContent', + 'in' => 'query', + 'schema' => [ + 'description' => '命令内容。命令内容可以是明文内容或Base64编码后的内容。您需要注意:'."\n" + ."\n" + .'- 若保存命令,命令内容在Base64编码后的大小不能超过18 KB;若不保存命令,命令内容在Base64编码后的大小不能超过24 KB。您可通过`KeepCommand`设置是否保留命令。'."\n" + .'- 如果您的命令内容是Base64编码后的内容,则必须设置`ContentEncoding=Base64`。'."\n" + .'- 指定参数`EnableParameter=true`可在命令内容中启用自定义参数功能:'."\n" + .' - 用`{{}}`包含的方式定义自定义参数,在`{{}}`内参数名前后的空格以及换行符会被忽略。'."\n" + .' - 自定义参数个数不能超过20个。'."\n" + .' - 自定义参数名允许a-zA-Z0-9-_的组合,不支持acs::前缀指定非内置环境参数,不支持其余字符,参数名不区分大小写。'."\n" + .' - 单个自定义参数名不能超过64字节。'."\n" + ."\n" + .'- 您可以指定内置环境参数作为自定义参数,执行命令时无需手动对参数赋值,云助手将为您自动替换为环境中对应的值。支持指定以下内置环境参数:'."\n" + .' - `{{ACS::RegionId}}`:地域ID。'."\n" + .' - `{{ACS::AccountId}}`:阿里云主账号UID。'."\n" + .' - `{{ACS::InstanceId}}`:实例ID。命令下发到多个实例时,如需指定`{{ACS::InstanceId}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309'."\n" + .' - `{{ACS::InstanceName}}`:实例名称。命令下发到多个实例时,如需指定`{{ACS::InstanceName}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.344'."\n" + .' - Windows:2.1.3.344'."\n" + .' - `{{ACS::InvokeId}}`:命令执行ID。如需指定`{{ACS::InvokeId}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309'."\n" + .' - `{{ACS::CommandId}}`:命令ID。通过调用本接口执行命令时,如需指定`{{ACS::CommandId}}`作为内置环境参数,需确保云助手Agent不低于以下版本: '."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309', + 'type' => 'string', + 'required' => true, + 'example' => 'ZWNobyAxMjM=', + ], + ], + [ + 'name' => 'WorkingDir', + 'in' => 'query', + 'schema' => [ + 'description' => '命令在ECS实例中的运行目录。长度不得超过200个字符。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'- Linux系统实例默认在管理员(root用户)的home目录下,即`/root`。'."\n" + .'- Windows系统实例默认在云助手Agent进程所在目录,例如`C:\\Windows\\System32`。', + 'type' => 'string', + 'required' => false, + 'example' => '/home/user', + ], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => [ + 'description' => '执行命令的超时时间,单位:秒。'."\n" + ."\n" + .'当因为进程原因、缺失模块、缺失云助手Agent等原因无法运行命令时,会出现超时现象。超时后,会强制终止命令进程。'."\n" + ."\n" + .'默认值:60。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3600', + ], + ], + [ + 'name' => 'EnableParameter', + 'in' => 'query', + 'schema' => [ + 'description' => '命令中是否包含自定义参数。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'RepeatMode', + 'in' => 'query', + 'schema' => [ + 'description' => '设置命令执行的方式。取值范围:'."\n" + ."\n" + .'- Once:立即执行命令。'."\n" + .'- Period:定时执行命令。当该参数取值为`Period`时,必须同时指定`Frequency`参数。'."\n" + .'- NextRebootOnly:当实例下一次启动时,自动执行命令。'."\n" + .'- EveryReboot:实例每一次启动都将自动执行命令。'."\n" + .'- DryRun:只预检此次请求,命令执行不会实际生效,检查项包括请求参数、实例执行环境、云助手Agent运行状态等。'."\n" + ."\n" + .'默认值:'."\n" + .'- 当不指定`Frequency`参数时,默认值为`Once`。'."\n" + .'- 当指定`Frequency`参数时,无论是否已设置了该参数值,都将按照`Period`处理。'."\n" + ."\n" + .'注意事项:'."\n" + .'- 您可以调用[StopInvocation](~~64838~~)停止待执行的命令或定时执行的命令。'."\n" + .'- 当该参数取值`Period`或者`EveryReboot`时,您可以调用[DescribeInvocationResults](~~64845~~),然后指定`IncludeHistory=true`查看命令定时执行的历史记录。', + 'type' => 'string', + 'required' => false, + 'example' => 'Once', + ], + ], + [ + 'name' => 'Timed', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃,传入该参数不会生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Frequency', + 'in' => 'query', + 'schema' => [ + 'description' => '定时执行命令的执行时间。目前支持三种定时执行方式:固定时间间隔执行(基于Rate表达式)、仅在指定时间执行一次、基于时钟定时执行(基于Cron表达式)。'."\n" + ."\n" + .'- 固定时间间隔执行:基于Rate表达式,按照设置的时间间隔执行命令。时间间隔支持按秒(s) 、分钟(m) 、小时(h)和天(d)来选择,适用于在固定时间间隔执行任务的场景。格式为`rate(<执行间隔数值><执行间隔单位>)`,如5分钟执行一次,格式为`rate(5m)`。使用固定时间间隔执行有以下限制:'."\n" + .' - 设置的时间间隔不大于7天、不小于60秒,且需大于定时任务的超时时间。'."\n" + .' - 执行间隔只基于固定频率,与任务实际执行需要的时间无关。例如设置每5分钟执行一次命令,任务需要2分钟执行完成,则在任务完成3分钟后继续执行下一轮。'."\n" + .' - 创建任务时不会立即执行。例如设置每5分钟执行一次命令,创建任务时不会立即执行一次命令,而是在任务创建完成后的5分钟后开始执行。'."\n" + ."\n" + .'- 仅在指定时间执行一次:按照设置的时区和执行时间点执行一次命令。格式为`at(yyyy-MM-dd HH:mm:ss <时区>)`,即`at(年-月-日 时:分:秒 <时区>)`。如果不指定时区,默认为UTC时区。时区支持以下三种形式:'."\n" + .' - 时区全称: 如`Asia/Shanghai`(中国/上海时间)、`America/Los_Angeles`(美国/洛杉矶时间)等。'."\n" + .' - 时区相对于格林威治时间的偏移量: 如`GMT+8:00`(东八区)、`GMT-7:00`(西七区)等。使用GMT格式时,小时位不支持添加前导零。'."\n" + .' - 时区缩写: 仅支持UTC(协调世界时间)。'."\n" + ."\n" + .' 如果指定在中国/上海时间2022年06月06日13时15分30秒执行一次,格式为:`at(2022-06-06 13:15:30 Asia/Shanghai)`;如果指定在西七区2022年06月06日13时15分30秒执行一次,格式为:`at(2022-06-06 13:15:30 GMT-7:00)`。'."\n" + ."\n" + .'- 基于时钟定时执行(基于Cron表达式):基于Cron表达式,按照设置的定时任务执行命令。格式为`<秒> <分钟> <小时> <日期> <月份> <星期> <年份(可选)> <时区>`,即` <时区>`。在指定的时区下,根据Cron表达式推算定时任务执行时间并执行。若不指定时区,默认为执行定时任务实例的系统内部时区。关于Cron表达式的更多信息,请参见[Cron表达式](~~64769~~)。时区支持以下三种形式:'."\n" + .' - 时区全称: 如`Asia/Shanghai`(中国/上海时间)、`America/Los_Angeles`(美国/洛杉矶时间)等。'."\n" + .' - 时区相对于格林威治时间的偏移量: 如`GMT+8:00`(东八区)、`GMT-7:00`(西七区)等。使用GMT格式时,小时位不支持添加前导零。'."\n" + .' - 时区缩写: 仅支持UTC(协调世界时间)。'."\n" + .' 例如,在中国/上海时间,2022年每天上午10:15执行一次命令,格式为`0 15 10 ? * * 2022 Asia/Shanghai`;在东八区时间,2022年每天上午10:00到11:30每隔半小时执行,格式为`0 0/30 10-11 * * ? 2022 GMT+8:00`;在UTC时间,从2022年开始,每隔两年的10月每天下午14:00到下午14:55时间段内每隔5分钟执行,格式为`0 0/5 14 * 10 ? 2022/2 UTC`。'."\n" + ."\n" + .' >设置的最小时间间隔需大于或等于定时任务的超时时间,且不小于10 秒。', + 'type' => 'string', + 'required' => false, + 'example' => '0 */20 * * * ?', + ], + ], + [ + 'name' => 'Parameters', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '命令中包含自定义参数时,执行命令时传入的自定义参数的键值对。例如,命令内容为`echo {{name}}`,则可以通过`Parameter`参数传入键值对`{"name":"Jack"}`。自定义参数将自动替换变量值`name`,得到一条新的命令,实际执行的是`echo Jack`。'."\n" + ."\n" + .'自定义参数的个数范围为0~10,且您需要注意:'."\n" + ."\n" + .'- 键不允许为空字符串,最多支持64个字符。'."\n" + .'- 值允许为空字符串。'."\n" + .'- 自定义参数与原始命令内容在Base64编码后,若保存命令,命令内容在Base64编码后的大小不能超过18 KB;若不保存命令,命令内容在Base64编码后的大小不能超过24 KB。您可通过`KeepCommand`设置是否保留命令。'."\n" + .'- 设置的自定义参数名集合必须为创建命令时定义的参数集的子集。对于未传入的参数,您可以使用空字符串代替。'."\n" + ."\n" + .'默认值为空,表示取消设置该参数从而禁用自定义参数。', + 'type' => 'object', + 'required' => false, + 'example' => '{"name":"Jack", "accessKey":"LTAI*************"}', + ], + ], + [ + 'name' => 'KeepCommand', + 'in' => 'query', + 'schema' => [ + 'description' => '执行完该命令后,是否保留下来。取值范围:'."\n" + ."\n" + .'- true:保留。可以通过InvokeCommand再次执行。会占用云助手命令的保有量配额。'."\n" + .'- false:不保留。执行完成后自动删除,不占用云助手命令的保有量配额。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ContentEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '命令内容(`CommandContent`)的编码方式。取值范围(不区分大小写):'."\n" + ."\n" + .'- PlainText:不编码,采用明文传输。'."\n" + .'- Base64:Base64编码。'."\n" + ."\n" + .'默认值:PlainText,乱填或错填该取值会当作PlainText处理。', + 'type' => 'string', + 'required' => false, + 'example' => 'Base64', + ], + ], + [ + 'name' => 'Username', + 'in' => 'query', + 'schema' => [ + 'description' => '在ECS实例中执行命令的用户名称。长度不得超过255个字符。'."\n" + ."\n" + .'- Linux系统的ECS实例,默认以root用户执行命令。'."\n" + .'- Windows系统的ECS实例,默认以System用户执行命令。'."\n" + ."\n" + .'您也可以指定实例中已存在的其他用户执行命令,以普通用户执行云助手命令更加安全。更多信息,请参见[设置普通用户执行云助手命令](~~203771~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'WindowsPasswordName', + 'in' => 'query', + 'schema' => [ + 'description' => '在Windows实例中执行命令的用户的密码名称。长度不得超过255个字符。'."\n" + ."\n" + .'当您希望以非默认用户(System)在Windows实例中执行命令时,需要同时传入`Username`和该参数。为降低密码泄露的风险,需要将密码明文托管在系统运维管理的参数仓库中,此处仅传入密码的名称。更多信息,请参见[加密参数](~~186828~~)以及[设置普通用户执行云助手命令](~~203771~~)。'."\n" + ."\n" + .'> 当您使用Linux实例的root用户或Windows实例的System用户执行命令时,不需要传递该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'axtSecretPassword', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'ECS实例ID数组,数组长度:1~100。'."\n" + ."\n" + .'若指定了多台实例后,其中某台实例不满足执行条件时,您需要重新选择。'."\n" + ."\n" + .'您也可以在配额中心申请提升配额(配额名称为命令执行支持实例上限数)。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECS实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp185dy2o3o6neg****', + ], + 'required' => false, + 'example' => 'i-bp185dy2o3o6neg****', + 'maxItems' => 501, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签对数组,数组长度:0~20。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '命令执行的标签值。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '命令执行的标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ContainerId', + 'in' => 'query', + 'schema' => [ + 'description' => '容器ID。仅支持64位16进制字符串,允许存在`docker://`、`containerd://`或者`cri-o://`前缀来明确指定的容器运行。'."\n" + ."\n" + .'注意事项:'."\n" + .'- 如果指定了该参数,云助手将在实例的指定容器内执行脚本。'."\n" + .'- 如果指定了该参数,仅支持在云助手Agent版本不低于2.2.3.344的Linux实例内运行。'."\n" + .'- 如果指定了该参数,已指定的`Username`参数和`WorkingDir`参数将不会生效。仅支持通过容器默认用户在容器的默认工作目录下执行命令。详细信息,请参见[使用云助手在容器内执行命令](~~456641~~)。'."\n" + .'> 在Linux容器中只支持执行Shell脚本,不支持在脚本开头使用类似`#!/usr/bin/python`命令的形式指定脚本内容的解释器。详细信息,请参见[使用云助手在容器内执行命令](~~456641~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****', + ], + ], + [ + 'name' => 'ContainerName', + 'in' => 'query', + 'schema' => [ + 'description' => '容器名称。'."\n" + ."\n" + .'注意事项:'."\n" + .'- 如果指定了该参数,云助手将在实例的指定容器内执行脚本。'."\n" + .'- 如果指定了该参数,仅支持在云助手Agent版本不低于2.2.3.344的Linux实例内运行。'."\n" + .'- 如果指定了该参数,已指定的`Username`参数和`WorkingDir`参数将不会生效。仅支持通过容器默认用户在容器的默认工作目录下执行命令。详细信息,请参见[使用云助手在容器内执行命令](~~456641~~)。'."\n" + .'> 在Linux容器中只支持执行Shell脚本,不支持在脚本开头使用类似`#!/usr/bin/python`命令的形式指定脚本内容的解释器。详细信息,请参见[使用云助手在容器内执行命令](~~456641~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'test-container', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'OssOutputDelivery', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行Output OSS投递配置。'."\n" + ."\n" + .'- 格式:oss://${BucketName}/${Prefix},${BucketName}为待投递到的OSS Bucket名称,${Prefix}为待投递到的目录前缀。', + 'type' => 'string', + 'required' => false, + 'example' => 'oss://testBucket/testPrefix', + ], + ], + [ + 'name' => 'ResourceTag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '用于筛选实例的标签数组,数组长度:0~20。可以在不指定InstanceId的情况下,向具有相同标签的实例批量执行命令。', + 'type' => 'array', + 'items' => [ + 'description' => '用于筛选实例的标签。可以在不指定InstanceId的情况下,向具有相同标签的实例批量执行命令。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '用于筛选实例的标签值。'."\n" + ."\n" + .'注意事项:'."\n" + .'- 该值可以为空字符串。'."\n" + .'- 最多支持128个字符,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '用于筛选实例的标签键。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- 与参数InstanceId冲突,不能同时指定。'."\n" + ."\n" + .'- 一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'- 标签下的实例数量不能超过InstanceId.N的数量限制;如果实例数量超出限制,建议通过添加批次标签等方式控制实例数量,例如batch: b1。'."\n" + ."\n" + .'- 最多支持64个字符,不能以aliyun或acs:开头,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 11, + ], + ], + [ + 'name' => 'TerminationMode', + 'in' => 'query', + 'schema' => [ + 'description' => '停止任务(手动停止或执行超时打断)时的模式。可能值:'."\n" + .'- Process:停止当前脚本进程。'."\n" + .'- ProcessTree:停止当前进程树(脚本进程以及它创建的所有子进程的集合)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ProcessTree', + ], + ], + [ + 'name' => 'Launcher', + 'in' => 'query', + 'schema' => [ + 'description' => '脚本执行的引导程序。长度不能超过 1 KB。', + 'type' => 'string', + 'required' => false, + 'example' => 'python3 -u {{ACS::ScriptFileName|Ext(".py")}}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'CommandId' => [ + 'description' => '命令ID。', + 'type' => 'string', + 'example' => 'c-7d2a745b412b4601b2d47f6a768d****', + ], + 'InvokeId' => [ + 'description' => '命令执行ID。', + 'type' => 'string', + 'example' => 't-7d2a745b412b4601b2d47f6a768d****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter instanceId is missing or empty.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'Ensure the number of tag parameters is not greater than 20.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'InvalidContainerId.Malformed', + 'errorMessage' => 'The specified parameter ContainerId is not valid.', + ], + [ + 'errorCode' => 'InvalidContainerName.Malformed', + 'errorMessage' => 'The specified parameter ContainerName is not valid.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + [ + 'errorCode' => 'CmdParam.EmptyKey', + 'errorMessage' => 'Command parameters can not be empty.', + ], + [ + 'errorCode' => 'CmdParam.InvalidParamName', + 'errorMessage' => 'A command parameter name is invalid.', + ], + [ + 'errorCode' => 'CmdContent.DecodeError', + 'errorMessage' => 'The CommandContent can not be base64 decoded.', + ], + [ + 'errorCode' => 'InvalidInstance.NotMatch', + 'errorMessage' => 'The specified instance type does not match the command.', + ], + [ + 'errorCode' => 'MissingParam.Frequency', + 'errorMessage' => 'The frequency must be specified when you create a timed task.', + ], + [ + 'errorCode' => 'InvalidParam.Frequency', + 'errorMessage' => 'The specified frequency is invalid.', + ], + [ + 'errorCode' => 'ParameterKey.Duplicate', + 'errorMessage' => 'The parameter may not contain duplicate keys.', + ], + [ + 'errorCode' => 'Parameter.NotMatched', + 'errorMessage' => 'The parameters of creation do not match those of invocation.', + ], + [ + 'errorCode' => 'WindowsPasswordName.Missed', + 'errorMessage' => 'WindowsPasswordName must be specified when you create a Windows task.', + ], + [ + 'errorCode' => 'Parameter.Disabled', + 'errorMessage' => 'Parameters should not be passed when CreateCommand.EnableParameter is false.', + ], + [ + 'errorCode' => 'InvalidParameter.WorkingDir', + 'errorMessage' => 'The specified parameter WorkingDir is not valid.', + ], + [ + 'errorCode' => 'NumberExceed.ResourceTags', + 'errorMessage' => 'The maximum number of ResourceTags is exceeded.', + ], + [ + 'errorCode' => 'MissingParameter.ResourceTagKey', + 'errorMessage' => 'You must specify ResourceTag.N.Key.', + ], + [ + 'errorCode' => 'InvalidResourceTagKey.Malformed', + 'errorMessage' => 'The specified ResourceTag key is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceTagValue.Malformed', + 'errorMessage' => 'The specified ResourceTag value is not valid.', + ], + [ + 'errorCode' => 'Duplicate.ResourceTagKey', + 'errorMessage' => 'The ResourceTag contains duplicate keys.', + ], + [ + 'errorCode' => 'InvalidResourceTag.InstanceNotFound', + 'errorMessage' => 'InstanceIds are not found by the specified ResourceTag.', + ], + [ + 'errorCode' => 'InvalidResourceTag.ConflictWithInstanceIds', + 'errorMessage' => 'The specified param ResourceTag conflicts with InstanceId.', + ], + [ + 'errorCode' => 'InvalidOssOutputDelivery.BucketInOtherRegion', + 'errorMessage' => 'The OSS bucket specified in the parameter OssOutputDelivery is in another region.', + ], + [ + 'errorCode' => 'InvalidParameter.OssOutputDelivery', + 'errorMessage' => 'The specified parameter OssOutputDelivery is not valid.', + ], + [ + 'errorCode' => 'InvalidOssOutputDelivery.KeyPrefixMalformed', + 'errorMessage' => 'The prefix of the OSS key specified in the parameter OssOutputDelivery is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CmdContent.ExceedLimit', + 'errorMessage' => 'The length of the command content exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdName.ExceedLimit', + 'errorMessage' => 'The length of the command name exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdDesc.ExceedLimit', + 'errorMessage' => 'The length of the command description exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdCount.ExceedQuota', + 'errorMessage' => 'The total number of commands in the current region exceeds the quota.', + ], + [ + 'errorCode' => 'CmdParamCount.ExceedLimit', + 'errorMessage' => 'You\'ve reached the limit on the count of command parameters.', + ], + [ + 'errorCode' => 'CmdParamName.ExceedLimit', + 'errorMessage' => 'The length of the command parameter name exceeds the limit.', + ], + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'Invocation.ExceedQuota', + 'errorMessage' => 'The invocation quota in the current region has been reached for today.', + ], + [ + 'errorCode' => 'ParameterCount.ExceedLimit', + 'errorMessage' => 'The number of command parameters exceeds the maximum number that can be set.', + ], + [ + 'errorCode' => 'ParameterKey.ExceedLimit', + 'errorMessage' => 'The length of the specified parameter key exceeds the maximum length that can be set.', + ], + [ + 'errorCode' => 'ParameterType.NotSupported', + 'errorMessage' => 'The type of parameter value is not supported.', + ], + [ + 'errorCode' => 'Username.ExceedLimit', + 'errorMessage' => 'The length of the username exceeds the upper limit.', + ], + [ + 'errorCode' => 'WindowsPasswordName.ExceedLimit', + 'errorMessage' => 'The length of the WindowsPasswordName exceeds the upper limit.', + ], + [ + 'errorCode' => 'ParameterStore.NotSupported', + 'errorMessage' => 'Parameter Store is not supported in this region.', + ], + [ + 'errorCode' => 'TemporaryAccessKey.Error', + 'errorMessage' => 'The temporary accessKey is invalid.', + ], + [ + 'errorCode' => 'ParameterStore.InvalidParameters', + 'errorMessage' => 'The parameter is invalid in Parameter Store.', + ], + [ + 'errorCode' => 'ParameterStore.NoPermission', + 'errorMessage' => 'You have no access to Parameter Store.', + ], + [ + 'errorCode' => 'OperationDenied.BidOwnResource', + 'errorMessage' => 'Bid user can not own resource.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + [ + 'errorCode' => 'InvalidStatus.ResourceGroup', + 'errorMessage' => 'You cannot perform an operation on a resource group that is being created or deleted.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandName', + 'errorMessage' => 'The command Name contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandDescription', + 'errorMessage' => 'The command Description contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandWorkingDir', + 'errorMessage' => 'The command WorkingDir contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidLauncher.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter Launcher exceeds the limit of 1 KB characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharset.Parameters', + 'errorMessage' => 'The parameter Parameters contains illegal charset.', + ], + [ + 'errorCode' => 'CreateServiceLinkedRole.NoPermission', + 'errorMessage' => 'You do not have permission to create ServiceLinkedRole for output delivery.', + ], + [ + 'errorCode' => 'InvalidTimeout.ExceedLimit', + 'errorMessage' => 'The specified parameter Timeout exceeds the upper limit.', + ], + ], + [ + [ + 'errorCode' => 'InvalidCmdType.NotFound', + 'errorMessage' => 'The specified command type does not exist.', + ], + [ + 'errorCode' => 'InvalidRepeatMode.NotFound', + 'errorMessage' => 'The specified repeat mode does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidCmdId.NotFound', + 'errorMessage' => 'The specified command ID does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidTerminationMode.NotFound', + 'errorMessage' => 'The specified parameter TerminationMode does not exist.', + ], + [ + 'errorCode' => 'InvalidOssOutputDelivery.BucketNotFound', + 'errorMessage' => 'The OSS bucket specified in the parameter OssOutputDelivery does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"CommandId\\": \\"c-7d2a745b412b4601b2d47f6a768d****\\",\\n \\"InvokeId\\": \\"t-7d2a745b412b4601b2d47f6a768d****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E69EF3CC-94CD-42E7-8926-F133B863****\\n c-7d2a745b412b4601b2d47f6a768d****\\n t-7d2a745b412b4601b2d47f6a768d****\\n","errorExample":""}]', + 'title' => '创建并执行云助手命令', + 'description' => '该接口为异步接口,当前请求发送成功后,您可以通过返回的命令ID或命令执行ID调用[DescribeInvocations](~~2679916~~)或者[DescribeInvocationResults](~~2679916~~)查询执行结果。'."\n" + ."\n" + .'### 使用须知'."\n" + .'- 目标实例的状态为运行中(`Running`),您可以调用[DescribeInstances](~~25506~~)查询。'."\n" + .'- 目标实例已经预先安装[云助手Agent](~~64921~~),您可以通过[InstallCloudAssistant](~~2679925~~)进行安装,并通过[DescribeCloudAssistantStatus](~~2679924~~)查询安装状态。'."\n" + .' > 2017年12月01日之后使用公共镜像创建的ECS实例,默认预装了云助手Agent。'."\n" + .'- 执行PowerShell类型的命令时,您需要确保目标ECS实例的Windows操作系统已经配置了PowerShell模块。'."\n" + ."\n" + .'### 注意事项'."\n" + .'- 在单一地域下,最多可以保有500~50,000条云助手命令,您也可以申请提升配额,请参见[配额管理](~~184116~~)。'."\n" + .'- 云助手Agent版本需要不低于以下对应的版本才能支持定时任务的新特性(固定时间间隔执行、仅在指定时间执行一次、基于Cron表达式定时执行时指定年份或时区)。如果结果返回`ClientNeedUpgrade`错误码,请参见[升级或禁止升级云助手Agent](~~134383~~),将客户端更新至最新版本。'."\n" + ."\n" + .' - Linux:2.2.3.282。'."\n" + .' - Windows:2.1.3.282。'."\n" + ."\n" + .'- 当您基于Cron表达式执行定时任务且指定了时区,时钟定时执行时间设置基准为您指定的时区;当您没有指定时区时,时钟定时执行时间设置基准为ECS实例内的系统时区,且执行时间以实例的系统时间为准。请确保ECS实例的时间或者时区与您预期的时间一致。关于时区的更多信息,请参见[设置Linux实例时区和NTP服务](~~92803~~)或[设置Windows实例NTP服务](~~51890~~)。'."\n" + ."\n" + .'### 使用建议'."\n" + .'- **超时设置**:您可以通过指定参数`Timeout`为命令设置在ECS实例中执行时最大的超时时间,命令执行超时后,云助手Agent会强制终止进程。'."\n" + .' - 单次执行超时后,命令的执行状态([InvokeRecordStatus](~~64845~~))变为执行失败(Failed)。'."\n" + .' - 定时执行的超时时间对每一次执行记录均有效,上次执行超时不影响下一次执行。某次执行超时后,执行状态([InvokeRecordStatus](~~64845~~))变为执行失败(Failed)。'."\n" + .'- **执行失败**:命令可能会因为目标实例的状态异常、网络异常或云助手Agent异常而出现无法执行的情况,无法执行时不会生成执行信息。更多信息,请参见[执行失败常见错误及修复建议](~~87029~~)。'."\n" + .'- **自定义参数**:`EnableParameter=true`时会启用自定义参数功能。在设置`CommandContent`时可以通过`{{parameter}}`的形式表示自定义参数,并在运行命令时,传入自定义参数键值对。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateCommand' => [ + 'summary' => '新建一条Shell、PowerShell或者Bat脚本类型的云助手命令。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29249', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '命令名称,支持全字符集。长度不得超过128个字符。', + 'type' => 'string', + 'required' => true, + 'example' => 'testName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '命令描述,支持全字符集。长度不得超过512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '命令的类型。取值范围: '."\n" + ."\n" + .'- RunBatScript:创建一个在Windows实例中运行的Bat脚本。'."\n" + .'- RunPowerShellScript:创建一个在Windows实例中运行的PowerShell脚本。'."\n" + .'- RunShellScript:创建一个在Linux实例中运行的Shell脚本。'."\n" + .' ', + 'type' => 'string', + 'required' => true, + 'example' => 'RunShellScript', + ], + ], + [ + 'name' => 'CommandContent', + 'in' => 'query', + 'schema' => [ + 'description' => '命令Base64编码后的内容。'."\n" + ."\n" + .'- 该参数的值必须使用Base64编码后传输,且脚本内容的大小在Base64编码之后不能超过18 KB。'."\n" + .'- 命令内容支持使用自定义参数形式,具体通过指定参数`EnableParameter=true`启用自定义参数功能:'."\n" + .' - 自定义参数用`{{}}`包含的方式定义,在`{{}}`内参数名前后的空格以及换行符会被忽略。'."\n" + .' - 自定义参数个数不能超过20个。'."\n" + .' - 自定义参数名允许a-zA-Z0-9-_的组合,不支持acs::前缀指定非内置环境参数,不支持其余字符,参数名不区分大小写。'."\n" + .' - 单个参数名不能超过64字节。'."\n" + ."\n" + .'- 您可以指定内置环境参数作为自定义参数,执行命令时无需手动对参数赋值,云助手将为您自动替换为环境中对应的值。支持指定以下内置环境参数:'."\n" + .' - `{{ACS::RegionId}}`:地域ID。'."\n" + .' - `{{ACS::AccountId}}`:阿里云主账号UID。'."\n" + .' - `{{ACS::InstanceId}}`:实例ID。命令下发到多个实例时,如需指定`{{ACS::InstanceId}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309'."\n" + .' - `{{ACS::InstanceName}}`:实例名称。命令下发到多个实例时,如需指定`{{ACS::InstanceName}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.344'."\n" + .' - Windows:2.1.3.344'."\n" + ."\n" + .' - `{{ACS::InvokeId}}`:命令执行ID。如需指定`{{ACS::InvokeId}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309'."\n" + .' '."\n" + .' - `{{ACS::CommandId}}` :命令ID。通过调用[RunCommand](~~141751~~)接口执行命令时,如需指定`{{ACS::CommandId}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ZWNobyAxMjM=', + ], + ], + [ + 'name' => 'WorkingDir', + 'in' => 'query', + 'schema' => [ + 'description' => '您创建的命令在ECS实例中运行的目录。长度不得超过200个字符。'."\n" + ."\n" + .'默认值: '."\n" + .'- Linux实例:管理员root用户的home目录下,具体为`/root`目录。 '."\n" + .'- Windows实例:云助手Agent进程所在目录,例如`C:\\Windows\\System32`。'."\n" + ."\n" + .'>设置为其他目录时,请确保实例中存在该目录。', + 'type' => 'string', + 'required' => false, + 'example' => '/home/user', + ], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => [ + 'description' => '您创建的命令在ECS实例中执行时最大的超时时间,单位为秒。当因为某种原因无法运行您创建的命令时,会出现超时现象。超时后,会强制终止命令进程,即取消命令的PID。'."\n" + ."\n" + .'默认值:60。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'EnableParameter', + 'in' => 'query', + 'schema' => [ + 'description' => '创建的命令是否使用自定义参数。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ContentEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '命令内容(CommandContent)的编码方式。取值范围:'."\n" + ."\n" + .'- PlainText:不编码,采用明文传输。'."\n" + ."\n" + .'- Base64:Base64编码。'."\n" + ."\n" + .'默认值:Base64。'."\n" + ."\n" + .'>错填该取值会当作Base64处理。', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-123******', + ], + ], + [ + 'name' => 'Launcher', + 'in' => 'query', + 'schema' => [ + 'description' => '脚本执行的引导程序。长度不能超过 1 KB。', + 'type' => 'string', + 'required' => false, + 'example' => 'python3 -u {{ACS::ScriptFileName|Ext(".py")}}', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '命令的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '命令的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'CommandId' => [ + 'description' => '命令ID。', + 'type' => 'string', + 'example' => 'c-7d2a745b412b4601b2d47f6a768d****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'CmdParam.EmptyKey', + 'errorMessage' => 'You must specify the parameter names.', + ], + [ + 'errorCode' => 'CmdParam.InvalidParamName', + 'errorMessage' => 'Invalid parameter name. The name can contain only lowercase letters (a to z), uppercase letters (A to Z), numbers (0 to 9), hyphens (-), and underscores (_).', + ], + [ + 'errorCode' => 'CmdContent.DecodeError', + 'errorMessage' => 'The CommandContent can not be base64 decoded.', + ], + [ + 'errorCode' => 'InvalidParameter.WorkingDir', + 'errorMessage' => 'The specified parameter WorkingDir is not valid.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CmdContent.ExceedLimit', + 'errorMessage' => 'The length of the command content exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdName.ExceedLimit', + 'errorMessage' => 'The length of the command name exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdDesc.ExceedLimit', + 'errorMessage' => 'The length of the command description exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdCount.ExceedQuota', + 'errorMessage' => 'The total number of commands in the current region exceeds the quota.', + ], + [ + 'errorCode' => 'CmdParamCount.ExceedLimit', + 'errorMessage' => 'The maximum number of custom parameters is exceeded.', + ], + [ + 'errorCode' => 'CmdParamName.ExceedLimit', + 'errorMessage' => 'The maximum length of a parameter name is exceeded.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'InvalidStatus.ResourceGroup', + 'errorMessage' => 'You cannot perform an operation on a resource group that is being created or deleted.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandName', + 'errorMessage' => 'The command Name contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandDescription', + 'errorMessage' => 'The command Description contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandWorkingDir', + 'errorMessage' => 'The command WorkingDir contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidLauncher.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter Launcher exceeds the limit of 1 KB characters.', + ], + [ + 'errorCode' => 'InvalidTimeout.ExceedLimit', + 'errorMessage' => 'The specified parameter Timeout exceeds the upper limit.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidCmdType.NotFound', + 'errorMessage' => 'The specified command type does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CommandId\\": \\"c-7d2a745b412b4601b2d47f6a768d****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n c-7d2a745b412b4601b2d47f6a768d****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '创建云助手命令', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 您可以创建以下类型的命令: '."\n" + .' - Windows实例适用的Bat脚本(RunBatScript)。'."\n" + .' - Windows实例适用的PowerShell脚本(RunPowerShellScript)。'."\n" + .' - Linux实例适用的Shell脚本(RunShellScript)。'."\n" + .'- 您可以通过指定参数Timeout为命令设置在ECS实例中执行时最大的超时时间,命令执行超时后,[云助手Agent](~~64921~~)会强制终止命令进程,即取消命令的PID。'."\n" + .' - 对于单次执行,超时后,该命令针对指定的ECS实例的执行状态([InvokeRecordStatus](~~64845~~))变为执行失败(Failed)。 '."\n" + .' - 对于定时执行: '."\n" + .' - 定时执行的超时时间对每一次执行记录均有效。 '."\n" + .' - 某次执行超时后,该次执行记录的状态([InvokeRecordStatus](~~64845~~))变为执行失败(Failed)。 '."\n" + .' - 上次执行超时与否不影响下一次执行。 '."\n" + .'- 在一个地域下,您最多可以保有500~50,000条云助手命令,您也可以申请提升配额,关于如何查询及提升配额,请参见[配额管理](~~184116~~)。'."\n" + .'- 您可以通过指定参数WorkingDir为命令指定执行路径。对于Linux实例,默认在管理员root用户的home目录下,具体为`/root`目录。对于Windows实例,默认在云助手Agent进程所在目录,例如:`C:\\Windows\\System32`。'."\n" + .'- 您可以通过指定参数EnableParameter=true启用自定义参数功能。在设置CommandContent时可以通过{{parameter}}的形式表示自定义参数,并在运行命令([InvokeCommand](~~64841~~))时,传入自定义参数键值对。例如,您在创建命令时,创建了`echo {{name}}`命令,在 InvokeCommand时,通过Parameters参数传入键值对``。则自定义参数将自动替换命令,您会得到一条新的命令,并在实例中执行`echo Jack`。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'InvokeCommand' => [ + 'summary' => '指定CommandId、InstanceId、ResourceGroupId等参数,为一台或多台ECS实例触发一条云助手命令。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29300', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行的资源组ID,当指定该参数时:'."\n" + ."\n" + .'- 当InstanceId对应的ECS实例属于非默认资源组时,该ECS实例必须属于该资源组。'."\n" + ."\n" + .'- 支持通过指定该参数筛选出对应的命令执行结果(通过调用[DescribeInvocations](~~64840~~)或[DescribeInvocationResults](~~64845~~))。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CommandId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令ID。您可以通过接口[DescribeCommands](~~64843~~)查询所有可用的CommandId。 '."\n" + ."\n" + .'>对于公共命令,可以通过命令名称执行。更多信息,请参见[查看和执行云助手公共命令](~~429635~~)。', + 'type' => 'string', + 'required' => true, + 'example' => 'c-e996287206324975b5fbe1d****', + ], + ], + [ + 'name' => 'RepeatMode', + 'in' => 'query', + 'schema' => [ + 'description' => '设置命令执行的方式。取值范围:'."\n" + ."\n" + .'- Once:立即执行命令。'."\n" + .'- Period:定时执行命令。当该参数取值为`Period`时,必须同时指定`Frequency`参数。'."\n" + .'- NextRebootOnly:当实例下一次启动时,自动执行命令。'."\n" + .'- EveryReboot:实例每一次启动都将自动执行命令。'."\n" + .'- DryRun:只预检此次请求,命令执行不会实际生效,检查项包括请求参数、实例执行环境、云助手Agent运行状态等。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'- 当不指定`Frequency`参数时,默认值为`Once`。'."\n" + .'- 当指定`Frequency`参数时,无论是否已设置了该参数值,都将按照`Period`处理。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- 您可以调用[StopInvocation](~~64838~~)停止待执行的命令或定时执行的命令。'."\n" + .'- 当该参数取值`Period`或者`EveryReboot`时,您可以调用[DescribeInvocationResults](~~64845~~),然后指定`IncludeHistory=true`查看命令定时执行的历史记录。', + 'type' => 'string', + 'required' => false, + 'example' => 'Once', + ], + ], + [ + 'name' => 'Timed', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数已废弃,传入该参数不会生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Frequency', + 'in' => 'query', + 'schema' => [ + 'description' => '定时执行命令的执行时间。目前支持三种定时执行方式:固定时间间隔执行(基于Rate表达式)、仅在指定时间执行一次、基于时钟定时执行(基于Cron表达式)。'."\n" + ."\n" + .'- 固定时间间隔执行:基于Rate表达式,按照设置的时间间隔执行命令。时间间隔支持按秒(s) 、分钟(m) 、小时(h)和天(d)来选择,适用于在固定时间间隔执行任务的场景。格式为`rate(<执行间隔数值><执行间隔单位>)`,例如5分钟执行一次,格式为`rate(5m)`。使用固定时间间隔执行有以下限制:'."\n" + .' - 设置的时间间隔不大于7天、不小于60秒,且需大于定时任务的超时时间。'."\n" + .' - 执行间隔只基于固定频率,与任务实际执行需要的时间无关。例如设置每5分钟执行一次命令,任务需要2分钟执行完成,则在任务完成3分钟后继续执行下一轮。'."\n" + .' - 创建任务时不会立即执行。例如设置每5分钟执行一次命令,创建任务时不会立即执行一次命令,而是在任务创建完成后的5分钟后开始执行。'."\n" + ."\n" + .'- 仅在指定时间执行一次:按照设置的时区和执行时间点执行一次命令。格式为`at(yyyy-MM-dd HH:mm:ss <时区>)`,即`at(年-月-日 时:分:秒 <时区>)`。如果不指定时区,默认为UTC时区。时区支持以下三种形式:'."\n" + .' - 时区全称: 例如`Asia/Shanghai`(中国/上海时间)、`America/Los_Angeles`(美国/洛杉矶时间)等。'."\n" + .' - 时区相对于格林威治时间的偏移量: 例如`GMT+8:00`(东八区)、`GMT-7:00`(西七区)等。使用GMT格式时,小时位不支持添加前导零。'."\n" + .' - 时区缩写: 仅支持UTC(协调世界时间)。'."\n" + ."\n" + .' 如果指定在中国/上海时间2022年06月06日13时15分30秒执行一次,格式为:`at(2022-06-06 13:15:30 Asia/Shanghai)`;如果指定在西七区2022年06月06日13时15分30秒执行一次,格式为:`at(2022-06-06 13:15:30 GMT-7:00)`。'."\n" + ."\n" + .'- 基于时钟定时执行(基于Cron表达式):基于Cron表达式,按照设置的定时任务执行命令。格式为`<秒> <分钟> <小时> <日期> <月份> <星期> <年份(可选)> <时区>`,即` <时区>`。在指定的时区下,根据Cron表达式推算定时任务执行时间并执行。若不指定时区,默认为执行定时任务实例的系统内部时区。关于Cron表达式的更多信息,请参见[Cron表达式](~~64769~~)。时区支持以下三种形式:'."\n" + .' - 时区全称: 例如`Asia/Shanghai`(中国/上海时间)、`America/Los_Angeles`(美国/洛杉矶时间)等。'."\n" + .' - 时区相对于格林威治时间的偏移量: 例如`GMT+8:00`(东八区)、`GMT-7:00`(西七区)等。使用GMT格式时,小时位不支持添加前导零。'."\n" + .' - 时区缩写: 仅支持UTC(协调世界时间)。'."\n" + .' 例如,在中国/上海时间,2022年每天上午10:15执行一次命令,格式为`0 15 10 ? * * 2022 Asia/Shanghai`;在东八区时间,2022年每天上午10:00到11:30每隔半小时执行,格式为`0 0/30 10-11 * * ? 2022 GMT+8:00`;在UTC时间,从2022年开始,每隔两年的10月每天下午14:00到下午14:55时间段内每隔5分钟执行,格式为`0 0/5 14 * 10 ? 2022/2 UTC`。'."\n" + ."\n" + .' >设置的最小时间间隔需大于或等于定时任务的超时时间,且不小于10秒。', + 'type' => 'string', + 'required' => false, + 'example' => '0 */20 * * * ?', + ], + ], + [ + 'name' => 'Parameters', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '启用自定义参数功能时,执行命令时传入的自定义参数的键值对。自定义参数的个数范围为0~10。'."\n" + ."\n" + .'- Map的键不允许为空字符串,最多支持64个字符。'."\n" + .'- Map的值允许为空字符串。'."\n" + .'- 自定义参数与原始命令内容在Base64编码后,综合长度不能超过18 KB。'."\n" + .'- 设置的自定义参数名集合必须为创建命令时定义的参数集的子集。对于未传入的参数,您可以使用空字符串代替。'."\n" + ."\n" + .'您可以取消设置该参数从而禁用自定义参数。', + 'type' => 'object', + 'required' => false, + 'example' => '{"name":"Jack", "accessKey":"LTAI************"}', + ], + ], + [ + 'name' => 'Username', + 'in' => 'query', + 'schema' => [ + 'description' => '在ECS实例中执行命令的用户名称。长度不得超过255个字符。'."\n" + ."\n" + .'- Linux系统的ECS实例,默认以root用户执行命令。'."\n" + .'- Windows系统的ECS实例,默认以System用户执行命令。'."\n" + ."\n" + .'您也可以指定实例中已存在的其他用户执行命令,以普通用户执行云助手命令更加安全。更多信息,请参见[设置普通用户执行云助手命令](~~203771~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'WindowsPasswordName', + 'in' => 'query', + 'schema' => [ + 'description' => '在Windows实例中执行命令的用户的密码名称。长度不得超过255个字符。'."\n" + ."\n" + .'当您希望以非默认用户(System)在Windows实例中执行命令时,需要同时传入`Username`和该参数。为降低密码泄露的风险,需要将密码明文托管在系统运维管理的参数仓库中,此处仅传入密码的名称。更多信息,请参见[加密参数](~~186828~~)以及[设置普通用户执行云助手命令](~~203771~~)。'."\n" + ."\n" + .'> 当您使用Linux实例的root用户或Windows实例的System用户执行命令时,不需要传递该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'axtSecretPassword', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '需要执行命令的实例列表,最多能指定100台实例ID。N的取值范围为1~100。'."\n" + ."\n" + .'您也可以在配额中心申请提升配额(配额名称为命令执行支持实例上限数)。', + 'type' => 'array', + 'items' => [ + 'description' => '需要执行命令的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp185dy2o3o6n****', + ], + 'required' => false, + 'example' => 'i-bp185dy2o3o6n****', + 'maxItems' => 501, + ], + ], + [ + 'name' => 'ContainerId', + 'in' => 'query', + 'schema' => [ + 'description' => '容器ID。仅支持64位16进制字符串。支持使用`docker://`、`containerd://`或者`cri-o://`前缀来表示指定的容器运行时。'."\n" + ."\n" + .'注意事项:'."\n" + .'- 如果指定了该参数,云助手将在实例的指定容器内执行脚本。'."\n" + .'- 如果指定了该参数,仅支持在云助手Agent版本不低于2.2.3.344的Linux实例内运行。'."\n" + ."\n" + .' - 查看云助手Agent版本的具体操作,请参见[安装云助手Agent](~~64921~~) 。'."\n" + .' - 升级云助手Agent版本的具体操作,请参见[升级或禁止升级云助手Agent](~~134383~~)。'."\n" + ."\n" + .'- 如果指定了该参数,本接口中已指定的`Username`参数和[CreateCommand](~~64844~~)中指定的`WorkingDir`参数将不会生效。仅支持通过容器默认用户在容器的默认工作目录下执行命令。更多信息,请参见[使用云助手在容器内执行命令](~~456641~~)。'."\n" + .'- 如果指定了该参数,在Linux容器中只支持执行Shell脚本,不支持在脚本开头使用类似`#!/usr/bin/python`命令的形式指定脚本内容的解释器。更多信息,请参见[使用云助手在容器内执行命令](~~456641~~)。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****', + ], + ], + [ + 'name' => 'ContainerName', + 'in' => 'query', + 'schema' => [ + 'description' => '容器名称。'."\n" + ."\n" + .'注意事项:'."\n" + .'- 如果指定了该参数,云助手将在实例的指定容器内执行脚本。'."\n" + .'- 如果指定了该参数,仅支持在云助手Agent版本不低于2.2.3.344的Linux实例内运行。'."\n" + ."\n" + .' - 查看云助手Agent版本的具体操作,请参见[安装云助手Agent](~~64921~~) 。'."\n" + .' - 升级云助手Agent版本的具体操作,请参见[升级或禁止升级云助手Agent](~~134383~~)。'."\n" + .'- 如果指定了该参数,本接口中已指定的`Username`参数和[CreateCommand](~~64844~~)中指定的`WorkingDir`参数将不会生效。仅支持通过容器默认用户在容器的默认工作目录下执行命令。更多信息,请参见[使用云助手在容器内执行命令](~~456641~~)。'."\n" + .'- 如果指定了该参数,在Linux容器中只支持执行Shell脚本,不支持在脚本开头使用类似`#!/usr/bin/python`命令的形式指定脚本内容的解释器。更多信息,请参见[使用云助手在容器内执行命令](~~456641~~)。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-container', + ], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => [ + 'description' => '执行命令的超时时间,单位:秒。'."\n" + ."\n" + .'- 该值不能小于10秒。'."\n" + ."\n" + .'- 当因为进程原因、缺失模块、缺失云助手Agent等原因无法运行命令时,会出现超时现象。超时后,会强制终止命令进程。'."\n" + ."\n" + .'- 若不设置该值,会采用创建命令时指定的超时时间。'."\n" + ."\n" + .'- 该值只会作为该次命令执行的超时时间,不会改变命令本身的超时时间。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '命令执行的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '命令执行的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'ResourceTag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '用于筛选实例的标签列表。可以在不指定InstanceId的情况下,向具有相同标签的实例批量执行命令。', + 'type' => 'array', + 'items' => [ + 'description' => '用于筛选实例的标签。可以在不指定InstanceId的情况下,向具有相同标签的实例批量执行命令。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '用于筛选实例的标签值。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- N的取值范围为1~10。'."\n" + .'- 该值可以为空字符串。'."\n" + .'- 最多支持128个字符,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '用于筛选实例的标签键。'."\n" + ."\n" + .'注意事项:'."\n" + ."\n" + .'- 与参数InstanceId冲突,不能同时指定。'."\n" + ."\n" + .'- N的取值范围为1~10。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'- 标签下的实例数量不能超过InstanceId.N的数量限制;如果实例数量超出限制,建议通过添加批次标签等方式控制实例数量,例如batch: b1。'."\n" + ."\n" + .'- 最多支持64个字符,不能以aliyun或acs:开头,不能包含http://或https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 11, + ], + ], + [ + 'name' => 'TerminationMode', + 'in' => 'query', + 'schema' => [ + 'description' => '停止任务(手动停止或执行超时打断)时的模式。可能值:'."\n" + .'- Process:停止当前脚本进程。'."\n" + .'- ProcessTree:停止当前进程树(脚本进程以及它创建的所有子进程的集合)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ProcessTree', + ], + ], + [ + 'name' => 'Launcher', + 'in' => 'query', + 'schema' => [ + 'description' => '脚本执行的引导程序。长度不能超过 1 KB。', + 'type' => 'string', + 'required' => false, + 'example' => 'python3 -u {{ACS::ScriptFileName|Ext(".py")}}', + ], + ], + [ + 'name' => 'WorkingDir', + 'in' => 'query', + 'schema' => [ + 'description' => '命令在 ECS 实例中运行的目录。长度不得超过 200 个字符。'."\n" + .'- 若不设置该值,会采用创建命令时指定的运行目录。'."\n" + .'- 该值只会作为该次命令执行的运行目录,不会改变命令本身的运行目录。', + 'type' => 'string', + 'required' => false, + 'example' => '/home/user', + ], + ], + [ + 'name' => 'OssOutputDelivery', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行Output OSS投递配置。'."\n" + ."\n" + .'- 格式:oss://${BucketName}/${Prefix},${BucketName}为待投递到的OSS Bucket名称,${Prefix}为待投递到的目录前缀。', + 'type' => 'string', + 'required' => false, + 'example' => 'oss://testBucket/testPrefix', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'InvokeId' => [ + 'description' => '命令执行ID。', + 'type' => 'string', + 'example' => 't-7d2a745b412b4601b2d47f6a768d****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidParameter.WorkingDir', + 'errorMessage' => 'The specified parameter WorkingDir is not valid.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter instanceId is missing or empty.', + ], + [ + 'errorCode' => 'InvalidContainerId.Malformed', + 'errorMessage' => 'The specified parameter ContainerId is not valid.', + ], + [ + 'errorCode' => 'InvalidContainerName.Malformed', + 'errorMessage' => 'The specified parameter ContainerName is not valid.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + [ + 'errorCode' => 'InvalidInstance.NotMatch', + 'errorMessage' => 'The specified instance type does not match the command.', + ], + [ + 'errorCode' => 'MissingParam.Frequency', + 'errorMessage' => 'The frequency must be specified when you create a timed task.', + ], + [ + 'errorCode' => 'InvalidParam.Frequency', + 'errorMessage' => 'The specified frequency is invalid.', + ], + [ + 'errorCode' => 'Parameter.MissingValue', + 'errorMessage' => 'The parameter value of this command is required.', + ], + [ + 'errorCode' => 'Parameter.Disabled', + 'errorMessage' => 'Parameters cannot be passed in when the command customization function is disabled.', + ], + [ + 'errorCode' => 'InvalidParameter.Parameters', + 'errorMessage' => 'The specified parameter Parameters is not valid.', + ], + [ + 'errorCode' => 'NumberExceed.ResourceTags', + 'errorMessage' => 'The maximum number of ResourceTags is exceeded.', + ], + [ + 'errorCode' => 'MissingParameter.ResourceTagKey', + 'errorMessage' => 'You must specify ResourceTag.N.Key.', + ], + [ + 'errorCode' => 'InvalidResourceTagKey.Malformed', + 'errorMessage' => 'The specified ResourceTag key is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceTagValue.Malformed', + 'errorMessage' => 'The specified ResourceTag value is not valid.', + ], + [ + 'errorCode' => 'Duplicate.ResourceTagKey', + 'errorMessage' => 'The ResourceTag contains duplicate keys.', + ], + [ + 'errorCode' => 'InvalidResourceTag.InstanceNotFound', + 'errorMessage' => 'InstanceIds are not found by the specified ResourceTag.', + ], + [ + 'errorCode' => 'InvalidResourceTag.ConflictWithInstanceIds', + 'errorMessage' => 'The specified param ResourceTag conflicts with InstanceId.', + ], + [ + 'errorCode' => 'InvalidOssOutputDelivery.BucketInOtherRegion', + 'errorMessage' => 'The OSS bucket specified in the parameter OssOutputDelivery is in another region.', + ], + [ + 'errorCode' => 'InvalidParameter.OssOutputDelivery', + 'errorMessage' => 'The specified parameter OssOutputDelivery is not valid.', + ], + [ + 'errorCode' => 'InvalidOssOutputDelivery.KeyPrefixMalformed', + 'errorMessage' => 'The prefix of the OSS key specified in the parameter OssOutputDelivery is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'Invocation.ExceedQuota', + 'errorMessage' => 'The invocation quota in the current region has been reached for today.', + ], + [ + 'errorCode' => 'ParameterCount.ExceedLimit', + 'errorMessage' => 'The maximum number of parameters is exceeded.', + ], + [ + 'errorCode' => 'ParameterKey.ExceedLimit', + 'errorMessage' => 'The maximum length of a parameter name is exceeded.', + ], + [ + 'errorCode' => 'CmdContent.ExceedLimit', + 'errorMessage' => 'The maximum length of a command is exceeded.', + ], + [ + 'errorCode' => 'ParameterKey.Duplicate', + 'errorMessage' => 'Parameter names cannot be duplicated.', + ], + [ + 'errorCode' => 'Parameter.NotMatched', + 'errorMessage' => 'The passed-in parameters do not match the parameters defined when you created the command.', + ], + [ + 'errorCode' => 'ParameterType.NotSupported', + 'errorMessage' => 'The type of parameter value is not supported.', + ], + [ + 'errorCode' => 'Username.ExceedLimit', + 'errorMessage' => 'The length of the username exceeds the upper limit.', + ], + [ + 'errorCode' => 'WindowsPasswordName.ExceedLimit', + 'errorMessage' => 'The length of the WindowsPasswordName exceeds the upper limit.', + ], + [ + 'errorCode' => 'WindowsPasswordName.Missed', + 'errorMessage' => 'WindowsPasswordName must be specified when you create a Windows task.', + ], + [ + 'errorCode' => 'ParameterStore.NotSupported', + 'errorMessage' => 'Parameter Store is not supported in this region.', + ], + [ + 'errorCode' => 'TemporaryAccessKey.Error', + 'errorMessage' => 'The temporary accessKey is invalid.', + ], + [ + 'errorCode' => 'ParameterStore.InvalidParameters', + 'errorMessage' => 'The parameter is invalid in Parameter Store.', + ], + [ + 'errorCode' => 'ParameterStore.NoPermission', + 'errorMessage' => 'You have no access to Parameter Store.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + [ + 'errorCode' => 'InvalidLauncher.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter Launcher exceeds the limit of 1 KB characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharset.Parameters', + 'errorMessage' => 'The parameter Parameters contains illegal charset.', + ], + [ + 'errorCode' => 'CreateServiceLinkedRole.NoPermission', + 'errorMessage' => 'You do not have permission to create ServiceLinkedRole for output delivery.', + ], + [ + 'errorCode' => 'InvalidTimeout.ExceedLimit', + 'errorMessage' => 'The specified parameter Timeout exceeds the upper limit.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRepeatMode.NotFound', + 'errorMessage' => 'The specified repeat mode does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidCmdId.NotFound', + 'errorMessage' => 'The specified command ID does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidTerminationMode.NotFound', + 'errorMessage' => 'The specified parameter TerminationMode does not exist.', + ], + [ + 'errorCode' => 'InvalidOssOutputDelivery.BucketNotFound', + 'errorMessage' => 'The OSS bucket specified in the parameter OssOutputDelivery does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"InvokeId\\": \\"t-7d2a745b412b4601b2d47f6a768d****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n t-7d2a745b412b4601b2d47f6a768d****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', + 'title' => '执行云助手命令', + 'description' => '## 接口说明'."\n" + ."\n" + .''."\n" + ."\n" + .'- 对目标ECS实例有如下限制。选择了多台ECS实例后,若其中某台实例不满足执行条件,您需要重新调用接口。'."\n" + ."\n" + .' - 状态必须为运行中(`Running`),您可以调用[DescribeInstances](~~25506~~)查询。'."\n" + ."\n" + .' - 已预先安装[云助手Agent](~~64921~~)。 '."\n" + ."\n" + .' - 执行类型为PowerShell的命令时,实例必须已经配置了PowerShell模块。 '."\n" + ."\n" + .'- 单次执行:只执行一次命令。'."\n" + .'- 定时执行:'."\n" + .' - 根据参数Frequency指定的时间频率定时执行,上次的执行结果不会对下一次执行产生任何影响。'."\n" + .' - 当您基于Cron表达式执行定时任务且指定了时区,时钟定时执行时间设置基准为您指定的时区;当您没有指定时区时,时钟定时执行时间设置基准为ECS实例内的系统时区,且执行时间以实例的系统时间为准。请确保ECS实例的时间或者时区与您预期的时间一致。更多关于时区的详情,请参见[管理时间同步服务](~~92704~~)。'."\n" + ."\n" + .' 云助手Agent版本不低于以下对应的版本才能支持定时任务的新特性(固定时间间隔执行、仅在指定时间执行一次、基于Cron表达式定时执行时指定年份或时区)。如果结果返回ClientNeedUpgrade错误码,请参见[升级或禁止升级云助手Agent](~~134383~~),将客户端更新至最新版本。'."\n" + ."\n" + .' - Linux:2.2.3.282。'."\n" + .' - Windows:2.1.3.282。'."\n" + ."\n" + .'- 命令可能会因为目标实例的状态异常、网络异常或云助手Agent异常而出现无法执行的情况,无法执行时不会生成执行信息。更多信息,请参见[执行失败常见错误及修复建议](~~87029~~)。 '."\n" + ."\n" + .'- 当您创建命令时启用了自定义参数功能,需要在执行命令时传入自定义参数(`Parameters`)。'."\n" + ."\n" + .'- 建议您先调用[DescribeCloudAssistantStatus](~~87346~~)查询实例的云助手状态,当CloudAssistantStatus为true时再执行命令,尤其对于新购实例。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'- 对目标ECS实例有如下限制。选择了多台ECS实例后,若其中某台实例不满足执行条件,您需要重新调用接口。'."\n" + ."\n" + .' - 状态必须为运行中(`Running`),您可以调用[DescribeInstances](~~25506~~)查询。'."\n" + ."\n" + .' - 已预先安装[云助手Agent](~~64921~~)。 '."\n" + ."\n" + .' - 执行类型为PowerShell的命令时,实例必须已经配置了PowerShell模块。 '."\n" + ."\n" + .'- 单次执行:只执行一次命令。'."\n" + .'- 定时执行:'."\n" + .' - 根据参数Frequency指定的时间频率定时执行,上次的执行结果不会对下一次执行产生任何影响。'."\n" + .' - 当您基于Cron表达式执行定时任务且指定了时区,时钟定时执行时间设置基准为您指定的时区;当您没有指定时区时,时钟定时执行时间设置基准为ECS实例内的系统时区,且执行时间以实例的系统时间为准。请确保ECS实例的时间或者时区与您预期的时间一致。更多关于时区的详情,请参见[管理时间同步服务](~~92704~~)。'."\n" + ."\n" + .' 云助手Agent版本不低于以下对应的版本才能支持定时任务的新特性(固定时间间隔执行、仅在指定时间执行一次、基于Cron表达式定时执行时指定年份或时区)。如果结果返回ClientNeedUpgrade错误码,请参见[升级或禁止升级云助手Agent](~~134383~~),将客户端更新至最新版本。'."\n" + ."\n" + .' - Linux:2.2.3.282。'."\n" + .' - Windows:2.1.3.282。'."\n" + ."\n" + .'- 命令可能会因为目标实例的状态异常、网络异常或云助手Agent异常而出现无法执行的情况,无法执行时不会生成执行信息。更多信息,请参见[执行失败常见错误及修复建议](~~87029~~)。 '."\n" + ."\n" + .'- 当您创建命令时启用了自定义参数功能,需要在执行命令时传入自定义参数(`Parameters`)。'."\n" + ."\n" + .'- 建议您先调用[DescribeCloudAssistantStatus](~~87346~~)查询实例的云助手状态,当CloudAssistantStatus为true时再执行命令,尤其对于新购实例。'."\n" + ."\n" + .'', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInvocations' => [ + 'summary' => '调用DescribeInvocations查询云助手命令的执行列表和状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29283', + 'abilityTreeNodes' => [ + 'FEATUREecsPW0L5N', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行的资源组ID。传入该参数后,需要在执行命令时指定ResourceGroupId,支持筛选出对应的命令执行结果。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InvokeId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行ID。', + 'type' => 'string', + 'required' => false, + 'example' => 't-hz0jdfwd9f****', + ], + ], + [ + 'name' => 'CommandId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令ID。您可以通过接口[DescribeCommands](~~64843~~)查询所有可用的CommandId。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'c-hz0jdfwcsr****', + ], + ], + [ + 'name' => 'CommandName', + 'in' => 'query', + 'schema' => [ + 'description' => '命令名称。如果同时设置了`InstanceId`参数,则该参数不生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'CommandTestName', + ], + ], + [ + 'name' => 'CommandType', + 'in' => 'query', + 'schema' => [ + 'description' => '命令类型。取值范围:'."\n" + ."\n" + .'- RunBatScript:命令为在Windows实例中运行的Bat脚本。'."\n" + .'- RunPowerShellScript:命令为在Windows实例中运行的PowerShell脚本。'."\n" + .'- RunShellScript:命令为在Linux实例中运行的Shell脚本。', + 'type' => 'string', + 'required' => false, + 'example' => 'RunShellScript', + ], + ], + [ + 'name' => 'Timed', + 'in' => 'query', + 'schema' => [ + 'description' => '查询的命令是否在将来会自动执行。取值范围:'."\n" + ."\n" + .'- true:查询在调用`RunCommand`或`InvokeCommand`执行命令时,`RepeatMode`参数取值为`Period`、`NextRebootOnly`或者`EveryReboot`。'."\n" + .'- false:查询以下两种状态的命令。'."\n" + .' - 在调用`RunCommand`或`InvokeCommand`执行命令时,`RepeatMode`参数取值为`Once`。'."\n" + .' - 已被取消、被停止或者已完成执行的命令。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'InvokeStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行的总执行状态。总执行状态取决于创建执行中的一台或多台实例的共同执行状态。取值范围: '."\n" + .' '."\n" + .'- Running:'."\n" + .' - 定时执行:未手动停止定时执行命令前,执行状态一直为进行中。'."\n" + .' - 单次执行:一旦有进行中的命令进程,总的执行状态就为进行中。'."\n" + .'- Finished:'."\n" + .' - 定时执行:命令进程不可能为执行完成。'."\n" + .' - 单次执行:所有实例全部完成执行。或者手动停止部分实例的命令进程,其余实例全部执行完成。'."\n" + .'- Success:各个实例上的命令执行状态均为Stopped或Success,且至少一个实例的命令执行状态是Success,则总执行状态为Success。'."\n" + .' - 立即运行的任务:命令执行完成,且退出码为0。'."\n" + .' - 定时运行的任务:最近一次执行成功且退出码为0,且指定的时间已全部完成。'."\n" + .'- Failed:'."\n" + .' - 定时执行:命令进程不可能为执行失败。'."\n" + .' - 单次执行:所有实例全部执行失败。'."\n" + .'- Stopped:停止命令。'."\n" + .'- Stopping:停止中。'."\n" + .'- PartialFailed:部分失败;如果同时设置了`InstanceId`参数,则不生效。'."\n" + .'- Pending:系统正在校验或发送命令。存在至少一台实例的命令执行状态为Pending,则总执行状态为Pending。'."\n" + .'- Scheduled:定时执行的命令已发送,等待运行。存在至少一台实例的命令执行状态为Scheduled,则总执行状态为Scheduled。', + 'type' => 'string', + 'required' => false, + 'example' => 'Finished', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。当您传入了该参数,将查询该实例所有的命令执行记录。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1i7gg30r52z2em****', + ], + ], + [ + 'name' => 'ContentEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '设置返回数据中`CommandContent`字段和`Output`字段的编码方式。取值范围:'."\n" + ."\n" + .'- PlainText:返回原始命令内容和输出信息。'."\n" + .'- Base64:返回Base64编码后的命令内容和输出信息。'."\n" + ."\n" + .'默认值:Base64。', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + [ + 'name' => 'IncludeOutput', + 'in' => 'query', + 'schema' => [ + 'description' => '是否在结果中返回命令运行的输出信息。'."\n" + ."\n" + .'- true:返回。此时,您至少指定参数`InvokeId`或`InstanceId`。'."\n" + .'- false:不返回。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2', + ], + ], + [ + 'name' => 'RepeatMode', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行的方式。如果同时设置了`InstanceId`参数,则不生效。取值范围:'."\n" + ."\n" + .'- Once:立即执行命令。'."\n" + .'- Period:定时执行命令。'."\n" + .'- NextRebootOnly:当实例下一次启动时,自动执行命令。'."\n" + .'- EveryReboot:实例每一次启动都将自动执行命令。'."\n" + ."\n" + .'默认值为空,表示查询全部。', + 'type' => 'string', + 'required' => false, + 'example' => 'Once', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '命令执行的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '命令执行的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PageNumber' => [ + 'description' => '查询结果的页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '命令总个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'Invocations' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Invocation' => [ + 'description' => '命令执行记录组成的数组。 ', + 'type' => 'array', + 'items' => [ + 'description' => '任务创建的时间。', + 'type' => 'object', + 'properties' => [ + 'OssOutputDelivery' => [ + 'description' => '命令执行Output OSS投递配置。', + 'type' => 'string', + 'example' => 'oss://testBucket/testPrefix', + ], + 'InvocationStatus' => [ + 'description' => '命令执行的总执行状态,总执行状态取决于本次调用的全部实例的共同执行状态,可能值:'."\n" + .'- Pending:系统正在校验或发送命令。存在至少一台实例的命令执行状态为Pending,则总执行状态为Pending。'."\n" + .'- Scheduled:定时执行的命令已发送,等待运行。存在至少一台实例的命令执行状态为Scheduled,则总执行状态为Scheduled。'."\n" + .'- Running:命令正在实例上运行。存在至少一台实例的命令执行状态为Running,则总执行状态为Running。'."\n" + .'- Success:各个实例上的命令执行状态均为Stopped或Success,且至少一个实例的命令执行状态是Success,则总执行状态为Success。'."\n" + .' - 立即运行的任务:命令执行完成,且退出码为0。'."\n" + .' - 定时运行的任务:最近一次执行成功且退出码为0,且指定的时间已全部完成。'."\n" + .'- Failed:各个实例上的命令执行状态均为Stopped或Failed,则总执行状态为Failed。实例上的命令执行状态一项或多项为以下状态时,返回值均为Failed状态:'."\n" + .' - 命令校验失败(Invalid)。'."\n" + .' - 命令发送失败(Aborted)。'."\n" + .' - 命令执行完成但退出码非0(Failed)。'."\n" + .' - 命令执行超时(Timeout)。'."\n" + .' - 命令执行异常(Error)。'."\n" + .'- Stopping:正在停止任务。存在至少一台实例的命令执行状态为Stopping,则总执行状态为Stopping。'."\n" + .'- Stopped:任务已停止。所有实例的命令执行状态是Stopped,则总执行状态为Stopped。实例上的命令执行状态为以下状态时,返回值均为Stopped状态:'."\n" + .' - 任务已取消(Cancelled)。'."\n" + .' - 任务已终止(Terminated)。'."\n" + .'- PartialFailed:部分实例执行成功且部分实例执行失败。各个实例的命令执行状态均为Success、Failed或Stopped,则总执行状态为PartialFailed。'."\n" + ."\n" + .'> 返回参数中的`InvokeStatus`与该参数意义相似,但建议您查看该返回值。'."\n", + 'type' => 'string', + 'example' => 'Running', + ], + 'Parameters' => [ + 'description' => '命令中的自定义参数。', + 'type' => 'string', + 'example' => '{}', + ], + 'Timed' => [ + 'description' => '查询的命令是否在将来会自动执行。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'CommandDescription' => [ + 'description' => '命令描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'Timeout' => [ + 'description' => '您创建的命令在ECS实例中执行时最大的超时时间,单位:秒。'."\n" + ."\n" + .'当因为某种原因无法运行您创建的命令时,会出现超时现象。超时后,会强制终止命令进程,即取消命令的PID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '60', + ], + 'InvokeInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InvokeInstance' => [ + 'description' => '执行目标实例集类型。 ', + 'type' => 'array', + 'items' => [ + 'description' => '执行状态列表。', + 'type' => 'object', + 'properties' => [ + 'Dropped' => [ + 'description' => 'Output字段中文字长度超出24 KB后,截断丢弃的文字长度。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'InvocationStatus' => [ + 'description' => '单台实例的命令进度状态,可能值:'."\n" + .'- Pending:系统正在校验或发送命令。'."\n" + .'- Invalid:指定命令类型或参数有误。'."\n" + .'- Aborted:向实例发送命令失败。实例必须在运行中,且命令可以1分钟内发送完成。'."\n" + .'- Running:命令正在实例上运行。'."\n" + .'- Success:'."\n" + .' - 单次执行的命令:命令执行完成,且退出码为0。'."\n" + .' - 定时执行的命令:上一次运行成功且退出码为0,且指定的时间已结束。'."\n" + .'- Failed:'."\n" + .' - 单次执行的命令:命令执行完成,且退出码非0。'."\n" + .' - 定时执行的命令:上一次运行成功且退出码非0,且指定的时间将中止。'."\n" + .'- Error:命令执行时发生异常无法继续。'."\n" + .'- Timeout:命令执行超时。'."\n" + .'- Cancelled:命令的执行动作已经取消,命令未曾启动。'."\n" + .'- Stopping:正在停止任务。'."\n" + .'- Terminated:命令运行时被终止。'."\n" + .'- Scheduled:'."\n" + .' - 单次执行的命令:不适用,不会出现。'."\n" + .' - 定时执行的命令:等待运行。', + 'type' => 'string', + 'example' => 'Success', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1i7gg30r52z2em****', + ], + 'Timed' => [ + 'description' => '查询的命令是否在将来会自动执行。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'InstanceInvokeStatus' => [ + 'description' => '单台实例的命令进度状态。'."\n" + ."\n" + .'> 不推荐查看该返回值,推荐您查看`InvocationStatus`的返回值。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'ExitCode' => [ + 'description' => '命令进程的退出代码。可能值:'."\n" + ."\n" + .'- Linux实例为Shell进程的退出码。'."\n" + .'- Windows实例为Bat或者PowerShell进程的退出码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'ErrorInfo' => [ + 'description' => '命令的下发失败或执行失败原因的详情,可能值:'."\n" + .'- 空:命令运行正常。'."\n" + .'- The security group rules denied access to the aliyun service:安全组规则拒绝访问云助手服务。'."\n" + .'- The specified instance does not exist:指定的实例不存在或已释放。'."\n" + .'- The specified instance was released during task execution:执行命令期间,该实例被释放。'."\n" + .'- The specified instance was not running during task execution:开始执行命令时,该实例不在运行中。'."\n" + .'- The OS type of the instance does not support the specified command type:命令不适用于指定的实例。'."\n" + .'- The specified account does not exist:指定的账号不存在。'."\n" + .'- The specified directory does not exist:指定的目录不存在。'."\n" + .'- The cron expression is invalid:指定的执行时间表达式不合法。'."\n" + .'- The aliyun service is not running on the instance:云助手Agent未运行。'."\n" + .'- The aliyun service in the instance does not response:云助手Agent无响应。'."\n" + .'- The aliyun service in the instance is upgrading during task execution:云助手Agent正在升级中。'."\n" + .'- The aliyun service in the instance need to be upgraded to at least version to support the feature:云助手Agent需要升级。为该特性最低支持版本号,为具体特性。'."\n" + .'- The command delivery has been timeout:发送命令超时。'."\n" + .'- The command execution has been timeout:命令执行超时。'."\n" + .'- The command execution got an exception:命令执行发生异常。'."\n" + .'- The command execution exit code is not zero:命令执行结束,退出码非0。'."\n" + .'- The specified instance was released during task execution:下发文件期间,该实例被释放。', + 'type' => 'string', + 'example' => 'the specified instance does not exists', + ], + 'StartTime' => [ + 'description' => '命令在实例中开始执行的时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:55Z', + ], + 'Repeats' => [ + 'description' => '命令在该实例上执行的次数。'."\n" + .'- 若执行方式为单次执行,则值为0或1。'."\n" + .'- 若执行方式为定时执行,则值为执行过多少次。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'OssOutputUri' => [ + 'description' => '命令执行Output投递到OSS的文件URI地址,当投递失败/投递中时该字段为空字符串。', + 'type' => 'string', + 'example' => 'oss://testBucket/testPrefix/output.txt', + ], + 'OssOutputStatus' => [ + 'description' => '命令执行Output投递状态。枚举值:'."\n" + ."\n" + .'- InProgress:投递中。'."\n" + ."\n" + .'- Finished:投递完成。'."\n" + ."\n" + .'- Failed:投递失败。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'OssOutputErrorCode' => [ + 'description' => '投递失败时的错误码,仅在OssOutputStatus为Failed时返回。'."\n" + .'取值范围:'."\n" + .'- CloudAssistant.UnsupportedInvocationStatus:任务状态不支持投递。'."\n" + .'- CloudAssistant.ClientNeedUpgrade:云助手版本不支持投递。Linux实例云助手版本需大于2.2.4.1007,Windows实例云助手版本需大于2.1.4.1007。'."\n" + .'- OSS.AccessDenied:用户对设置的Bucket没有访问权限。'."\n" + .'- OSS.NoSuchBucket:设置的Bucket不存在。'."\n" + .'- OSS.FileImmutable:Bucket中的数据处于被保护状态。'."\n" + .'- OSS.InvalidObjectName:Object名称不符合规范,包括未指定Object名称、Object名称超出长度限制、指定的Object名称无效。', + 'type' => 'string', + 'example' => 'CloudAssistant.UnsupportedInvocationStatus', + ], + 'OssOutputErrorInfo' => [ + 'description' => '投递失败时的错误详情,仅在OssOutputStatus为Failed时返回。', + 'type' => 'string', + 'example' => 'The invocation status does not support output delivery.', + ], + 'FinishTime' => [ + 'description' => '命令进程的结束时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:56Z', + ], + 'Output' => [ + 'description' => '命令的输出信息。'."\n" + ."\n" + .'- 若ContentEncoding指定PlainText,返回原始输出信息。'."\n" + .'- 若ContentEncoding指定Base64,返回Base64编码后的输出信息。', + 'type' => 'string', + 'example' => 'OutPutTestmsg', + ], + 'CreationTime' => [ + 'description' => '命令执行的开始时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:54Z', + ], + 'UpdateTime' => [ + 'description' => '命令状态的更新时间。', + 'type' => 'string', + 'example' => '2020-01-19T09:15:47Z', + ], + 'ErrorCode' => [ + 'description' => '命令的下发失败或执行失败原因的代码,可能值:'."\n" + .'- 空:命令运行正常。'."\n" + .'- InstanceNotExists:指定的实例不存在或已释放。'."\n" + .'- InstanceReleased:执行命令期间,该实例被释放。'."\n" + .'- InstanceNotRunning:开始执行命令时,该实例不在运行中。'."\n" + .'- CommandNotApplicable:命令不适用于指定的实例。'."\n" + .'- AccountNotExists:指定的执行命令的用户名不存在。'."\n" + .'- DirectoryNotExists:指定的目录不存在。'."\n" + .'- BadCronExpression:指定的执行时间表达式不合法。 '."\n" + .'- ClientNotRunning:云助手Agent未运行。'."\n" + .'- ClientNotResponse:云助手Agent无响应。'."\n" + .'- ClientIsUpgrading:云助手Agent正在升级中。'."\n" + .'- ClientNeedUpgrade:云助手Agent需要升级。'."\n" + .'- DeliveryTimeout:发送命令超时。'."\n" + .'- ExecutionTimeout:命令执行超时。'."\n" + .'- ExecutionException:命令执行发生异常。'."\n" + .'- ExecutionInterrupted:命令执行任务中断。'."\n" + .'- ExitCodeNonzero:命令执行结束,退出码非0。'."\n" + .'- SecurityGroupRuleDenied:安全组规则拒绝访问云助手服务。'."\n" + .'- TaskConcurrencyLimit:任务并发执行数量超过最大额度。', + 'type' => 'string', + 'example' => 'InstanceNotExists', + ], + 'StopTime' => [ + 'description' => '若调用了`StopInvocation`以停止命令执行,表示调用的时间。', + 'type' => 'string', + 'example' => '2020-01-19T09:15:47Z', + ], + ], + ], + ], + ], + ], + 'CommandContent' => [ + 'description' => '命令内容。'."\n" + ."\n" + .'- 若ContentEncoding指定PlainText,返回原始脚本内容。'."\n" + .'- 若ContentEncoding指定Base64,返回Base64编码后的脚本内容。', + 'type' => 'string', + 'example' => 'cnBtIC1xYSB8IGdyZXAgdnNm****', + ], + 'WorkingDir' => [ + 'description' => '命令执行路径。', + 'type' => 'string', + 'example' => '/home/', + ], + 'RepeatMode' => [ + 'description' => '命令执行的方式。可能值:'."\n" + ."\n" + .'- Once:立即执行命令。'."\n" + .'- Period:定时执行命令。'."\n" + .'- NextRebootOnly:当实例下一次启动时,自动执行命令。'."\n" + .'- EveryReboot:实例每一次启动都将自动执行命令。'."\n" + .'- DryRun:只预检此次请求,命令执行不会实际生效,检查项包括请求参数、实例执行环境、云助手Agent运行状态等。', + 'type' => 'string', + 'example' => 'Once', + ], + 'InvokeStatus' => [ + 'description' => '命令总的执行状态。'."\n" + .'> 不推荐查看该返回值,推荐您查看`InvocationStatus`的返回值。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'CommandType' => [ + 'description' => '命令类型。', + 'type' => 'string', + 'example' => 'RunShellScript', + ], + 'Username' => [ + 'description' => 'ECS实例中执行命令的用户名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'ContainerId' => [ + 'description' => '容器ID。', + 'type' => 'string', + 'example' => 'ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****', + ], + 'ContainerName' => [ + 'description' => '容器名称。', + 'type' => 'string', + 'example' => 'test-container', + ], + 'CreationTime' => [ + 'description' => '任务的创建时间。', + 'type' => 'string', + 'example' => '2020-01-19T09:15:46Z', + ], + 'Frequency' => [ + 'description' => '定时执行命令的执行时间。', + 'type' => 'string', + 'example' => '0 */20 * * * *', + ], + 'Launcher' => [ + 'description' => '脚本执行的引导程序。长度不能超过 1 KB。', + 'type' => 'string', + 'example' => 'python3 -u {{ACS::ScriptFileName|Ext(".py")}}', + ], + 'CommandId' => [ + 'description' => '命令ID。', + 'type' => 'string', + 'example' => 'c-hz0jdfwcsr****', + ], + 'CommandName' => [ + 'description' => '命令名称。', + 'type' => 'string', + 'example' => 'CommandTestName', + ], + 'InvokeId' => [ + 'description' => '命令执行ID。', + 'type' => 'string', + 'example' => 't-hz0jdfwd9f****', + ], + 'TerminationMode' => [ + 'description' => '停止任务(手动停止或执行超时打断)时的模式。可能值:'."\n" + .'- Process:停止当前脚本进程。'."\n" + .'- ProcessTree:停止当前进程树(脚本进程以及它创建的所有子进程的集合)。', + 'type' => 'string', + 'example' => 'ProcessTree', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '命令执行的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '命令执行的标签信息。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '命令执行的标签键。', + 'type' => 'string', + 'example' => 'owner', + ], + 'TagValue' => [ + 'description' => '命令执行的标签值。', + 'type' => 'string', + 'example' => 'zhangsan', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"Invocations\\": {\\n \\"Invocation\\": [\\n {\\n \\"OssOutputDelivery\\": \\"oss://testBucket/testPrefix\\",\\n \\"InvocationStatus\\": \\"Running\\",\\n \\"Parameters\\": \\"{}\\",\\n \\"Timed\\": false,\\n \\"CommandDescription\\": \\"testDescription\\",\\n \\"Timeout\\": 60,\\n \\"InvokeInstances\\": {\\n \\"InvokeInstance\\": [\\n {\\n \\"Dropped\\": 0,\\n \\"InvocationStatus\\": \\"Success\\",\\n \\"InstanceId\\": \\"i-bp1i7gg30r52z2em****\\",\\n \\"Timed\\": false,\\n \\"InstanceInvokeStatus\\": \\"Finished\\",\\n \\"ExitCode\\": 0,\\n \\"ErrorInfo\\": \\"the specified instance does not exists\\",\\n \\"StartTime\\": \\"2019-12-20T06:15:55Z\\",\\n \\"Repeats\\": 0,\\n \\"OssOutputUri\\": \\"oss://testBucket/testPrefix/output.txt\\",\\n \\"OssOutputStatus\\": \\"Finished\\",\\n \\"OssOutputErrorCode\\": \\"CloudAssistant.UnsupportedInvocationStatus\\",\\n \\"OssOutputErrorInfo\\": \\"The invocation status does not support output delivery.\\",\\n \\"FinishTime\\": \\"2019-12-20T06:15:56Z\\",\\n \\"Output\\": \\"OutPutTestmsg\\",\\n \\"CreationTime\\": \\"2019-12-20T06:15:54Z\\",\\n \\"UpdateTime\\": \\"2020-01-19T09:15:47Z\\",\\n \\"ErrorCode\\": \\"InstanceNotExists\\",\\n \\"StopTime\\": \\"2020-01-19T09:15:47Z\\"\\n }\\n ]\\n },\\n \\"CommandContent\\": \\"cnBtIC1xYSB8IGdyZXAgdnNm****\\",\\n \\"WorkingDir\\": \\"/home/\\",\\n \\"RepeatMode\\": \\"Once\\",\\n \\"InvokeStatus\\": \\"Finished\\",\\n \\"CommandType\\": \\"RunShellScript\\",\\n \\"Username\\": \\"test\\",\\n \\"ContainerId\\": \\"ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****\\",\\n \\"ContainerName\\": \\"test-container\\",\\n \\"CreationTime\\": \\"2020-01-19T09:15:46Z\\",\\n \\"Frequency\\": \\"0 */20 * * * *\\",\\n \\"Launcher\\": \\"python3 -u {{ACS::ScriptFileName|Ext(\\\\\\".py\\\\\\")}}\\",\\n \\"CommandId\\": \\"c-hz0jdfwcsr****\\",\\n \\"CommandName\\": \\"CommandTestName\\",\\n \\"InvokeId\\": \\"t-hz0jdfwd9f****\\",\\n \\"TerminationMode\\": \\"ProcessTree\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"owner\\",\\n \\"TagValue\\": \\"zhangsan\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n 1\\n \\n \\n 2020-01-19T09:15:46Z\\n 0 */20 * * * *\\n Running\\n Once\\n c-hz0jdfwcsr****\\n RunShellScript\\n Finished\\n {}\\n false\\n cnBtIC1xYSB8IGdyZXAgdnNm****\\n CommandTestName\\n testDescription\\n t-hz0jdfwd9f****\\n test\\n /home/\\n 60\\n ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****\\n test-container\\n \\n \\n 2019-12-20T06:15:54Z\\n 2020-01-19T09:15:47Z\\n 2019-12-20T06:15:56Z\\n Success\\n 0\\n i-bp1i7gg30r52z2em****\\n OutPutTestmsg\\n 0\\n 2020-01-19T09:15:47Z\\n 0\\n 2019-12-20T06:15:55Z\\n the specified instance does not exists\\n false\\n InstanceNotExists\\n Finished\\n \\n \\n owner\\n zhangsan\\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询云助手命令的执行信息列表', + 'description' => '- 当您执行命令后,不代表命令一定成功运行,并且一定有预期的命令效果。您需要通过接口返回值查看实际执行结果,以实际输出结果为准。'."\n" + ."\n" + .'- 您可以查询最近4周的执行信息,执行信息的保留上限为10万条。'."\n" + .'- 您可以通过[云助手任务状态事件订阅](~~2669130~~)的方式,通过事件获取任务结果,避免频繁轮询,用以提升效率。'."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。'."\n" + .'- `DescribeInvocations`和`DescribeInvocationResults`差异点:'."\n" + .' - 当一次`RunCommand`/`InvokeCommand`调用指定有多个实例时:'."\n" + .' - 使用`DescribeInvocations`可以获得任务在各个实例上的执行状态、多个实例任务状态的聚合状态;'."\n" + .' - 使用`DescribeInvocationResults`仅能获得各个实例上的单独的执行状态,不包含多实例的聚合状态;'."\n" + .' - 当一次`RunCommand`/`InvokeCommand`调用指定有一个实例时:'."\n" + .' - `DescribeInvocations`与`DescribeInvocationResults`区别不大,完全可以互相替换。'."\n" + .' - 当需要查看定时性(周期性)任务、开机自动执行任务(`RepeatMode=Period, EveryReboot`)的每一次执行情况时,仅能用`DescribeInvocationResults`可以查询获得执行的过往历史记录(需指定`IncludeHistory=true`),而`DescribeInvocations`仅支持返回最新的任务状态。'."\n" + .' - 当需要查看命令的内容、参数时,仅有`DescribeInvocations`返回`CommandContent`。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInvocationResults' => [ + 'summary' => '调用DescribeInvocationResults查看一条或多条云助手命令的执行结果,即在ECS实例中的实际执行结果。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29282', + 'abilityTreeNodes' => [ + 'FEATUREecsPW0L5N', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行的资源组ID。传入该参数后,需要在执行命令时指定ResourceGroupId,支持筛选出对应的命令执行结果。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InvokeId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行ID。您可以通过接口[DescribeInvocations](~~64840~~)查询InvokeId。', + 'type' => 'string', + 'required' => false, + 'example' => 't-hz0jdfwd9f****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1i7gg30r52z2em****', + ], + ], + [ + 'name' => 'CommandId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令ID。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-hz0jdfwcsr****', + ], + ], + [ + 'name' => 'InvokeRecordStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行状态。取值范围:'."\n" + ."\n" + .'- Running:运行中。'."\n" + .' - 定时执行:未手动停止定时执行命令前,执行状态一直为进行中。'."\n" + .' - 单次执行:一旦有进行中的命令进程,总的执行状态就为进行中。'."\n" + .'- Finished:已完成。'."\n" + .' - 定时执行:命令进程不可能为执行完成。'."\n" + .' - 单次执行:所有实例全部完成执行。或者手动停止部分实例的命令进程,其余实例全部执行完成。'."\n" + .'- Success:'."\n" + .' - 单次执行的命令:命令执行完成,且退出码为0。'."\n" + .' - 定时执行的命令:上一次执行成功且退出码为0,且指定的执行时间已结束。'."\n" + .'- Failed:执行失败。'."\n" + .' - 定时执行:命令进程不可能为执行失败。'."\n" + .' - 单次执行:所有实例全部执行失败。'."\n" + .'- PartialFailed:部分执行失败。'."\n" + .' - 定时执行:命令进程不可能为部分失败。'."\n" + .' - 单次执行:部分实例有执行失败的命令进程,则总执行状态为部分失败。'."\n" + .'- Stopped:命令执行已停止。'."\n" + .'- Stopping:正在停止执行的命令。', + 'type' => 'string', + 'required' => false, + 'example' => 'Running', + ], + ], + [ + 'name' => 'IncludeHistory', + 'in' => 'query', + 'schema' => [ + 'description' => '是否返回命令定时执行的历史记录。取值范围:'."\n" + ."\n" + .' - true:表示返回命令定时执行的结果。当取值为true时,参数InvokeId的取值不能为空,且必须为定时执行(RepeatMode为Period)或系统每一次启动后执行(RepeatMode为EveryReboot)的命令执行ID。'."\n" + .' - false:表示不返回。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ContentEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '设置返回数据中`CommandContent`字段和`Output`字段的编码方式,取值范围:'."\n" + .'- PlainText:返回原始命令内容和输出信息。'."\n" + .'- Base64:返回Base64编码后的命令内容和输出信息。'."\n" + ."\n" + .'默认值为Base64。', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '命令执行的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '命令执行的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + 'Invocation' => [ + 'description' => '命令执行结果的集合。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '命令总个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'InvocationResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InvocationResult' => [ + 'description' => '命令执行结果集。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Dropped' => [ + 'description' => '`Output`字段中文字长度超出24 KB后,截断并丢弃的文字长度。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'OssOutputDelivery' => [ + 'description' => '命令执行Output OSS投递配置。', + 'type' => 'string', + 'example' => 'oss://testBucket/testPrefix', + ], + 'InvocationStatus' => [ + 'description' => '单台实例的命令进度状态,可能值:'."\n" + .'- Pending:系统正在校验或发送命令。'."\n" + .'- Invalid:指定命令类型或参数有误。'."\n" + .'- Aborted:向实例发送命令失败。实例必须在运行中,且命令可以1分钟内发送完成。'."\n" + .'- Running:命令正在实例上执行。'."\n" + .'- Success:'."\n" + .' - 单次执行的命令:命令执行完成,且退出码为0。'."\n" + .' - 定时执行的命令:上一次执行成功且退出码为0,且指定的执行时间已结束。'."\n" + .'- Failed:'."\n" + .' - 单次执行的命令:命令执行完成,且退出码非0。'."\n" + .' - 定时执行的命令:上一次执行成功且退出码非0,且指定的执行时间将中止。'."\n" + .'- Error:命令执行时发生异常无法继续。'."\n" + .'- Timeout:命令执行超时。'."\n" + .'- Cancelled:命令的执行动作已经取消,命令未曾启动。'."\n" + .'- Stopping:正在停止执行的命令。'."\n" + .'- Terminated:命令执行时被终止。'."\n" + .'- Scheduled:'."\n" + .' - 单次执行的命令:不适用,不会出现。'."\n" + .' - 定时执行的命令:等待执行。', + 'type' => 'string', + 'example' => 'Success', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1i7gg30r52z2em****', + ], + 'ExitCode' => [ + 'description' => '命令的退出码。'."\n" + ."\n" + .'- Linux实例为Shell命令的退出码。'."\n" + .'- Windows实例为Bat或者PowerShell命令的退出码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'ErrorInfo' => [ + 'description' => '命令的下发失败或执行失败原因的详情,可能值:'."\n" + .'- 空:命令运行正常。'."\n" + .'- The security group rules denied access to the aliyun service:安全组规则拒绝访问云助手服务。'."\n" + .'- The specified instance does not exist:指定的实例不存在或已释放。'."\n" + .'- The specified instance was released during task execution:执行命令期间,该实例被释放。'."\n" + .'- The specified instance was not running during task execution:开始执行命令时,该实例不在运行中。'."\n" + .'- The OS type of the instance does not support the specified command type:命令不适用于指定的实例。'."\n" + .'- The specified account does not exist:指定的账号不存在。'."\n" + .'- The specified directory does not exist:指定的目录不存在。'."\n" + .'- The cron expression is invalid:指定的执行时间表达式不合法。'."\n" + .'- The aliyun service is not running on the instance:云助手Agent未运行。'."\n" + .'- The aliyun service in the instance does not response:云助手Agent无响应。'."\n" + .'- The aliyun service in the instance is upgrading during task execution:云助手Agent正在升级中。'."\n" + .'- The aliyun service in the instance need to be upgraded to at least version to support the feature:云助手Agent需要升级。为该特性最低支持版本号,为具体特性。'."\n" + .'- The command delivery has been timeout:发送命令超时。'."\n" + .'- The command execution has been timeout:命令执行超时。'."\n" + .'- The command execution got an exception:命令执行发生异常。'."\n" + .'- The command execution exit code is not zero:命令执行结束,退出码非0。'."\n" + .'- The specified instance was released during task execution:下发文件期间,该实例被释放。', + 'type' => 'string', + 'example' => 'the specified instance does not exists', + ], + 'StartTime' => [ + 'description' => '命令在实例中开始执行的时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:55Z', + ], + 'Repeats' => [ + 'description' => '命令在该实例上执行的次数。'."\n" + .'- 若执行方式为立即执行,则值为0或1。'."\n" + .'- 若执行方式为定时执行,则值为执行过多少次。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'InvokeRecordStatus' => [ + 'description' => '命令执行状态。可能值:'."\n" + ."\n" + .'- Running:运行中。'."\n" + .' - 定时执行:未手动停止定时执行命令前,执行状态一直为进行中。'."\n" + .' - 单次执行:一旦有进行中的命令进程,总的执行状态就为进行中。'."\n" + .'- Finished:已完成。'."\n" + .' - 定时执行:命令进程不可能为执行完成。'."\n" + .' - 单次执行:所有实例全部完成执行。或者手动停止部分实例的命令进程,其余实例全部执行完成。'."\n" + .'- Failed:执行失败。'."\n" + .' - 定时执行:命令进程不可能为执行失败。'."\n" + .' - 单次执行:所有实例全部执行失败。'."\n" + .'- PartialFailed:部分执行失败。'."\n" + .' - 定时执行:命令进程不可能为部分失败。'."\n" + .' - 单次执行:部分实例有执行失败的命令进程,则总执行状态为部分失败。'."\n" + .'- Stopped:命令执行已停止。'."\n" + .'- Stopping:正在停止执行的命令。', + 'type' => 'string', + 'example' => 'Running', + ], + 'FinishedTime' => [ + 'description' => '命令执行的完成时间。如果命令执行出现超时情况,命令执行的完成时间以`StartTime`延迟执行命令的超时时间`Timeout`为准。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:56Z', + ], + 'OssOutputUri' => [ + 'description' => '命令执行Output投递到OSS的文件URI地址,当投递失败/投递中时该字段为空字符串。', + 'type' => 'string', + 'example' => 'oss://testBucket/testPrefix/output.txt', + ], + 'OssOutputStatus' => [ + 'description' => '命令执行Output投递状态。枚举值:'."\n" + ."\n" + .'- InProgress:投递中。'."\n" + ."\n" + .'- Finished:投递完成。'."\n" + ."\n" + .'- Failed:投递失败。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'OssOutputErrorCode' => [ + 'description' => '投递失败时的错误码,仅在OssOutputStatus为Failed时返回。'."\n" + .'取值范围:'."\n" + .'- CloudAssistant.UnsupportedInvocationStatus:任务状态不支持投递。'."\n" + .'- CloudAssistant.ClientNeedUpgrade:云助手版本不支持投递。Linux实例云助手版本需大于2.2.4.1007,Windows实例云助手版本需大于2.1.4.1007。'."\n" + .'- OSS.AccessDenied:用户对设置的Bucket没有访问权限。'."\n" + .'- OSS.NoSuchBucket:设置的Bucket不存在。'."\n" + .'- OSS.FileImmutable:Bucket中的数据处于被保护状态。'."\n" + .'- OSS.InvalidObjectName:Object名称不符合规范,包括未指定Object名称、Object名称超出长度限制、指定的Object名称无效。', + 'type' => 'string', + 'example' => 'CloudAssistant.UnsupportedInvocationStatus', + ], + 'OssOutputErrorInfo' => [ + 'description' => '投递失败时的错误详情,仅在OssOutputStatus为Failed时返回。', + 'type' => 'string', + 'example' => 'The invocation status does not support output delivery.', + ], + 'Username' => [ + 'description' => '在ECS实例中执行命令的用户名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'ContainerId' => [ + 'description' => '容器ID。', + 'type' => 'string', + 'example' => 'ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****', + ], + 'ContainerName' => [ + 'description' => '容器名称。', + 'type' => 'string', + 'example' => 'test-container', + ], + 'Output' => [ + 'description' => '命令执行后的输出信息。'."\n" + ."\n" + .'- 若ContentEncoding指定PlainText,返回原始输出信息。'."\n" + .'- 若ContentEncoding指定Base64,返回Base64编码后的输出信息。', + 'type' => 'string', + 'example' => 'MTU6MzA6MDEK', + ], + 'Launcher' => [ + 'description' => '脚本执行的引导程序。长度不能超过 1 KB。', + 'type' => 'string', + 'example' => 'python3 -u {{ACS::ScriptFileName|Ext(".py")}}', + ], + 'CommandId' => [ + 'description' => '命令ID。', + 'type' => 'string', + 'example' => 'c-hz0jdfwcsr****', + ], + 'ErrorCode' => [ + 'description' => '命令下发失败或执行失败原因的代码,可能值:'."\n" + .'- 空:命令执行正常。'."\n" + .'- InstanceNotExists:指定的实例不存在或已释放。'."\n" + .'- InstanceReleased:执行命令期间,该实例被释放。'."\n" + .'- InstanceNotRunning:命令执行时,该实例不在运行中。'."\n" + .'- CommandNotApplicable:命令不适用于指定的实例。'."\n" + .'- AccountNotExists:指定的执行命令的用户名不存在。'."\n" + .'- DirectoryNotExists:指定的目录不存在。'."\n" + .'- BadCronExpression:指定的执行时间表达式不合法。'."\n" + .'- ClientNotRunning:云助手Agent未运行。'."\n" + .'- ClientNotResponse:云助手Agent无响应。'."\n" + .'- ClientIsUpgrading:云助手Agent正在升级中。'."\n" + .'- ClientNeedUpgrade:云助手Agent需要升级。'."\n" + .'- DeliveryTimeout:发送命令超时。'."\n" + .'- ExecutionTimeout:命令执行超时。'."\n" + .'- ExecutionException:命令执行发生异常。'."\n" + .'- ExecutionInterrupted:命令执行被中断。'."\n" + .'- ExitCodeNonzero:命令执行结束,退出码非0。'."\n" + .'- SecurityGroupRuleDenied:安全组规则拒绝访问云助手服务。'."\n" + .'- TaskConcurrencyLimit:任务并发执行数量超过最大额度。', + 'type' => 'string', + 'example' => 'InstanceNotExists', + ], + 'InvokeId' => [ + 'description' => '命令执行ID。', + 'type' => 'string', + 'example' => 't-hz0jdfwd9f****', + ], + 'TerminationMode' => [ + 'description' => '停止任务(手动停止或执行超时打断)时的模式。可能值:'."\n" + .'- Process:停止当前脚本进程。'."\n" + .'- ProcessTree:停止当前进程树(脚本进程以及它创建的所有子进程的集合)。', + 'type' => 'string', + 'example' => 'ProcessTree', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '命令执行的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '命令执行的标签信息。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '命令执行的标签键。', + 'type' => 'string', + 'example' => 'owner', + ], + 'TagValue' => [ + 'description' => '命令执行的标签值。', + 'type' => 'string', + 'example' => 'zhangsan', + ], + ], + ], + ], + ], + ], + 'StopTime' => [ + 'description' => '若调用了`StopInvocation`以停止命令执行,表示调用的时间。', + 'type' => 'string', + 'example' => '2020-01-19T09:15:47Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\",\\n \\"Invocation\\": {\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"InvocationResults\\": {\\n \\"InvocationResult\\": [\\n {\\n \\"Dropped\\": 0,\\n \\"OssOutputDelivery\\": \\"oss://testBucket/testPrefix\\",\\n \\"InvocationStatus\\": \\"Success\\",\\n \\"InstanceId\\": \\"i-bp1i7gg30r52z2em****\\",\\n \\"ExitCode\\": 0,\\n \\"ErrorInfo\\": \\"the specified instance does not exists\\",\\n \\"StartTime\\": \\"2019-12-20T06:15:55Z\\",\\n \\"Repeats\\": 0,\\n \\"InvokeRecordStatus\\": \\"Running\\",\\n \\"FinishedTime\\": \\"2019-12-20T06:15:56Z\\",\\n \\"OssOutputUri\\": \\"oss://testBucket/testPrefix/output.txt\\",\\n \\"OssOutputStatus\\": \\"Finished\\",\\n \\"OssOutputErrorCode\\": \\"CloudAssistant.UnsupportedInvocationStatus\\",\\n \\"OssOutputErrorInfo\\": \\"The invocation status does not support output delivery.\\",\\n \\"Username\\": \\"test\\",\\n \\"ContainerId\\": \\"ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****\\",\\n \\"ContainerName\\": \\"test-container\\",\\n \\"Output\\": \\"MTU6MzA6MDEK\\",\\n \\"Launcher\\": \\"python3 -u {{ACS::ScriptFileName|Ext(\\\\\\".py\\\\\\")}}\\",\\n \\"CommandId\\": \\"c-hz0jdfwcsr****\\",\\n \\"ErrorCode\\": \\"InstanceNotExists\\",\\n \\"InvokeId\\": \\"t-hz0jdfwd9f****\\",\\n \\"TerminationMode\\": \\"ProcessTree\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"owner\\",\\n \\"TagValue\\": \\"zhangsan\\"\\n }\\n ]\\n },\\n \\"StopTime\\": \\"2020-01-19T09:15:47Z\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n \\n \\n \\n 0\\n Success\\n i-bp1i7gg30r52z2em****\\n 0\\n the specified instance does not exists\\n 2019-12-20T06:15:55Z\\n 0\\n Running\\n 2019-12-20T06:15:56Z\\n MTU6MzA6MDEK\\n c-hz0jdfwcsr****\\n InstanceNotExists\\n t-hz0jdfwd9f****\\n 2020-01-19T09:15:47Z\\n test\\n ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****\\n test-container\\n \\n owner\\n zhangsan\\n \\n \\n \\n 1\\n 1\\n 1\\n \\n","errorExample":""}]', + 'title' => '查询云助手命令执行结果', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 当您执行命令后,不代表命令一定成功执行,并且一定有预期的命令效果。您需要通过本接口查看实际的具体执行结果,以实际输出结果为准。'."\n" + .'- 您可以查询最近4周的执行信息,执行信息的保留上限为10万条。'."\n" + .'- 您可以通过[云助手任务状态事件订阅](~~2669130~~)的方式,通过事件获取任务结果,避免频繁轮询,用以提升效率。'."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。'."\n" + ."\n" + .'- `DescribeInvocations`和`DescribeInvocationResults`差异点:'."\n" + .' - 当一次`RunCommand`/`InvokeCommand`调用指定有多个实例时:'."\n" + .' - 使用`DescribeInvocations`可以获得任务在各个实例上的执行状态、多个实例任务状态的聚合状态;'."\n" + .' - 使用`DescribeInvocationResults`仅能获得各个实例上的单独的执行状态,不包含多实例的聚合状态;'."\n" + .' - 当一次`RunCommand`/`InvokeCommand`调用指定有一个实例时:'."\n" + .' - `DescribeInvocations`与`DescribeInvocationResults`区别不大,完全可以互相替换。'."\n" + .' - 当需要查看定时性(周期性)任务、开机自动执行任务(`RepeatMode=Period, EveryReboot`)的每一次执行情况时,仅能用`DescribeInvocationResults`可以查询获得执行的过往历史记录(需指定`IncludeHistory=true`),而`DescribeInvocations`仅支持返回最新的任务状态。'."\n" + .' - 当需要查看命令的内容、参数时,仅有`DescribeInvocations`返回`CommandContent`。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInvocationAttribute' => [ + 'summary' => '修改云助手定时任务的执行信息,包括命令内容、定时执行方式、添加ECS实例或托管实例到任务。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '198210', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待加入任务的ECS实例ID或托管实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '待加入任务的ECS实例ID或托管实例ID。待加入的实例数量与已执行的实例数量总和不得超过100。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1i7gg30r52z2em****', + ], + 'required' => false, + 'maxItems' => 201, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InvokeId', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改任务的命令执行ID。', + 'type' => 'string', + 'required' => true, + 'example' => 't-hz0jdfwd9f****', + ], + ], + [ + 'name' => 'CommandContent', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改后的命令内容。命令内容可以是明文内容或Base64编码后的内容。您需要注意:'."\n" + ."\n" + .'- 若创建待修改任务时选择了保存命令,命令内容在Base64编码后的大小不能超过18 KB;若选择了不保存命令,命令内容在Base64编码后的大小不能超过24 KB。'."\n" + .'- 如果您的命令内容是Base64编码后的内容,则必须设置`ContentEncoding=Base64`。'."\n" + .'- 指定参数`EnableParameter=true`可在命令内容中启用自定义参数功能:'."\n" + .' - 用`{{}}`包含的方式定义自定义参数,在`{{}}`内参数名前后的空格以及换行符会被忽略。'."\n" + .' - 自定义参数个数不能超过20个。'."\n" + .' - 自定义参数名允许a-zA-Z0-9-_的组合,不支持acs::前缀指定非内置环境参数,不支持其余字符,参数名不区分大小写。'."\n" + .' - 单个自定义参数名不能超过64字节。'."\n" + ."\n" + .'- 您可以指定内置环境参数作为自定义参数,执行命令时无需手动对参数赋值,云助手将为您自动替换为环境中对应的值。支持指定以下内置环境参数:'."\n" + .' - `{{ACS::RegionId}}`:地域ID。'."\n" + .' - `{{ACS::AccountId}}`:阿里云主账号UID。'."\n" + .' - `{{ACS::InstanceId}}`:实例ID。命令下发到多个实例时,如需指定`{{ACS::InstanceId}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309'."\n" + .' - `{{ACS::InstanceName}}`:实例名称。命令下发到多个实例时,如需指定`{{ACS::InstanceName}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.344'."\n" + .' - Windows:2.1.3.344'."\n" + .' - `{{ACS::InvokeId}}`:命令执行ID。如需指定`{{ACS::InvokeId}}`作为内置环境参数,需确保云助手Agent不低于以下版本:'."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309'."\n" + .' - `{{ACS::CommandId}}`:命令ID。通过调用本接口执行命令时,如需指定`{{ACS::CommandId}}`作为内置环境参数,需确保云助手Agent不低于以下版本: '."\n" + .' - Linux:2.2.3.309'."\n" + .' - Windows:2.1.3.309', + 'type' => 'string', + 'required' => false, + 'example' => 'ZWNobyAxMjM=', + ], + ], + [ + 'name' => 'EnableParameter', + 'in' => 'query', + 'schema' => [ + 'description' => '修改命令中是否包含自定义参数。'."\n" + .'- 当您启用自定义参数或修改自定义参数`Parameters`时,该参数需设置为`true`。'."\n" + .'- 当您不修改自定义参数`Parameters`时,不设置该参数或设置为`false`。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Parameters', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '命令中包含自定义参数时,修改执行命令时传入的自定义参数的键值对。'."\n" + ."\n" + .'自定义参数的个数范围为0~10,且您需要注意:'."\n" + ."\n" + .'- 键不允许为空字符串,最多支持64个字符。'."\n" + .'- 值允许为空字符串。'."\n" + .'- 自定义参数与原始命令内容在Base64编码后,若创建待修改任务时选择了保存命令,命令内容在Base64编码后的大小不能超过 18 KB;若选择了不保存命令,命令内容在Base64编码后的大小不能超过 24 KB。'."\n" + .'- 设置的自定义参数名集合必须为创建命令时定义的参数集的子集。对于未传入的参数,您可以使用空字符串代替。'."\n" + ."\n" + .'默认值为空,表示不涉及自定义参数键值对的修改。', + 'type' => 'object', + 'required' => false, + 'example' => '{"name":"Jack", "accessKey":"LTAI*************"}', + ], + ], + [ + 'name' => 'Frequency', + 'in' => 'query', + 'schema' => [ + 'description' => '待修改的定时执行频率。仅当`RepeatMode`为`Period`时生效。目前支持三种定时执行方式:固定时间间隔执行(基于Rate表达式)、仅在指定时间执行一次、基于时钟定时执行(基于Cron表达式)。'."\n" + ."\n" + .'- 固定时间间隔执行:基于Rate表达式,按照设置的时间间隔执行命令。时间间隔支持按秒(s) 、分钟(m) 、小时(h)和天(d)来选择,适用于在固定时间间隔执行任务的场景。格式为`rate(<执行间隔数值><执行间隔单位>)`,如5分钟执行一次,格式为`rate(5m)`。使用固定时间间隔执行有以下限制:'."\n" + .' - 设置的时间间隔不大于7天、不小于60秒,且需大于创建定时任务时指定的超时时间。'."\n" + .' - 执行间隔只基于固定频率,与任务实际执行需要的时间无关。例如设置每5分钟执行一次命令,任务需要2分钟执行完成,则在任务完成3分钟后继续执行下一轮。'."\n" + .' - 按照任务的创建时间(参见`DescribeInvocations`返回的[CreationTime](~~64840~~),请注意不是修改时间)及修改后的执行间隔计算下一次执行时间。'."\n" + ."\n" + .'- 仅在指定时间执行一次:按照设置的时区和执行时间点执行一次命令。格式为`at(yyyy-MM-dd HH:mm:ss <时区>)`,即`at(年-月-日 时:分:秒 <时区>)`。如果不指定时区,默认为UTC时区。时区支持以下三种形式:'."\n" + .' - 时区全称: 如`Asia/Shanghai`(中国/上海时间)、`America/Los_Angeles`(美国/洛杉矶时间)等。'."\n" + .' - 时区相对于格林威治时间的偏移量: 如`GMT+8:00`(东八区)、`GMT-7:00`(西七区)等。使用GMT格式时,小时位不支持添加前导零。'."\n" + .' - 时区缩写: 仅支持UTC(协调世界时间)。'."\n" + ."\n" + .' 如果指定在中国/上海时间2022年06月06日13时15分30秒执行一次,格式为:`at(2022-06-06 13:15:30 Asia/Shanghai)`;如果指定在西七区2022年06月06日13时15分30秒执行一次,格式为:`at(2022-06-06 13:15:30 GMT-7:00)`。'."\n" + ."\n" + .'- 基于时钟定时执行(基于Cron表达式):基于Cron表达式,按照设置的定时任务执行命令。格式为`<秒> <分钟> <小时> <日期> <月份> <星期> <年份(可选)> <时区>`,即` <时区>`。在指定的时区下,根据Cron表达式推算定时任务执行时间并执行。若不指定时区,默认为执行定时任务实例的系统内部时区。关于Cron表达式的更多信息,请参见[Cron表达式](~~64769~~)。时区支持以下三种形式:'."\n" + .' - 时区全称: 如`Asia/Shanghai`(中国/上海时间)、`America/Los_Angeles`(美国/洛杉矶时间)等。'."\n" + .' - 时区相对于格林威治时间的偏移量: 如`GMT+8:00`(东八区)、`GMT-7:00`(西七区)等。使用GMT格式时,小时位不支持添加前导零。'."\n" + .' - 时区缩写: 仅支持UTC(协调世界时间)。'."\n" + .' 例如,在中国/上海时间,2022年每天上午10:15执行一次命令,格式为`0 15 10 ? * * 2022 Asia/Shanghai`;在东八区时间,2022年每天上午10:00到11:30每隔半小时执行,格式为`0 0/30 10-11 * * ? 2022 GMT+8:00`;在UTC时间,从2022年开始,每隔两年的10月每天下午14:00到下午14:55时间段内每隔5分钟执行,格式为`0 0/5 14 * 10 ? 2022/2 UTC`。'."\n" + ."\n" + .' >设置的最小时间间隔需大于或等于创建定时任务时指定的超时时间,且不小于 10 秒。', + 'type' => 'string', + 'required' => false, + 'example' => '0 */20 * * * *', + ], + ], + [ + 'name' => 'ContentEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '命令内容(`CommandContent`)的编码方式。取值范围(不区分大小写):'."\n" + ."\n" + .'- PlainText:不编码,采用明文传输。'."\n" + .'- Base64:Base64编码。'."\n" + ."\n" + .'默认值:PlainText,填写错误时会当作PlainText处理。', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'CommandId' => [ + 'description' => '命令ID。'."\n" + .' - 只有`CommandContent`发生变更,才新增一条命令,返回新增的`CommandId`。'."\n" + .' - 当`CommandContent`未变更时,不会新增命令,将返回当前正在执行命令的`CommandId`。'."\n" + .' - 若调用[InvokeCommand](~~64841~~),或调用[RunCommand](~~141751~~)时选择了`KeepCommand`为`true`,将会保留新增的命令;否则执行完成或手动停止任务时,将删除任务所有关联的命令。', + 'type' => 'string', + 'example' => 'c-hz01272yr52****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Frequency', + 'errorMessage' => 'The specified parameter Frequency is not valid.', + ], + [ + 'errorCode' => 'InvalidParameters.KeyDuplicate', + 'errorMessage' => 'The key in the parameter Parameters cannot be duplicated.', + ], + [ + 'errorCode' => 'InvalidParameters.KeyNotMatch', + 'errorMessage' => 'The key in the parameter Parameters do not match those defined when creating the command.', + ], + [ + 'errorCode' => 'InvalidParameters.KeyMalformed', + 'errorMessage' => 'The key in the parameter Parameters is not valid.', + ], + [ + 'errorCode' => 'InvalidParameters.KeyEmpty', + 'errorMessage' => 'The key in the parameter Parameters cannot be empty.', + ], + [ + 'errorCode' => 'InvalidCommandContent.DecodeError', + 'errorMessage' => 'The specified parameter CommandContent can not be Base64 decoded.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstanceId.OSTypeUnsupported', + 'errorMessage' => 'The OS type of the instance corresponding to the parameter InstanceId does not support the specified command type.', + ], + [ + 'errorCode' => 'InvalidOperation.RepeatModeUnsupported', + 'errorMessage' => 'The operation is not supported for current repeat mode of invocation.', + ], + [ + 'errorCode' => 'InvalidOperation.InvokeAlreadyFinished', + 'errorMessage' => 'The operation is not supported for finished invocation.', + ], + [ + 'errorCode' => 'InvalidOperation.CloudAssistantVersionUnsupported', + 'errorMessage' => 'The operation is not supported for current CloudAssistant version of instance.', + ], + [ + 'errorCode' => 'InvalidOperation.ModifyPublicCommandUnsupported', + 'errorMessage' => 'Modification of the content of Public Command is not supported.', + ], + [ + 'errorCode' => 'InvalidCommandContent.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter CommandContent exceeds the limit of %s KB characters.', + ], + [ + 'errorCode' => 'InvalidParameters.CountLimitExceeded', + 'errorMessage' => 'The count of the parameter Parameters exceeds the limit of 10.', + ], + [ + 'errorCode' => 'InvalidParameters.KeyLengthLimitExceeded', + 'errorMessage' => 'The length of the key in the parameter Parameters exceeds the limit of 64 characters.', + ], + [ + 'errorCode' => 'InvalidInstanceId.CountLimitExceeded', + 'errorMessage' => 'The count of the parameter InstanceId exceeds the limit of %s.', + ], + [ + 'errorCode' => 'CommandLimitExceeded', + 'errorMessage' => 'The count of command in current region exceeds the limit of %s.', + ], + [ + 'errorCode' => 'InvalidParameters.ValueTypeUnsupported', + 'errorMessage' => 'The type of the value in the parameter Parameters is not supported.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInvokeId.NotFound', + 'errorMessage' => 'The specified parameter InvokeId does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified parameter InstanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidCommandId.NotFound', + 'errorMessage' => 'The specified CommandId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"CommandId\\": \\"c-hz01272yr52****\\"\\n}","type":"json"}]', + 'title' => '修改云助手命令的执行属性', + 'description' => '- 支持修改以下执行方式的任务(参见[DescribeInvocations](~~2679916~~)返回的`RepeatMode`值):'."\n" + .' - Period:周期执行。'."\n" + .' - NextRebootOnly:当实例下一次启动时,自动执行命令。'."\n" + .' - EveryReboot:实例每一次启动都将自动执行命令。'."\n" + .'- 支持修改以下状态的任务(参见[DescribeInvocations](~~2679916~~)返回的`InvocationStatus`值):'."\n" + .' - Pending:系统正在校验或发送命令。存在至少一台实例的命令执行状态为Pending,则总执行状态为Pending。'."\n" + .' - Running:命令正在实例上运行。存在至少一台实例的命令执行状态为Running,则总执行状态为Running。'."\n" + .' - Scheduled:定时执行的命令已发送,等待运行。存在至少一台实例的命令执行状态为Scheduled,则总执行状态为Scheduled。'."\n" + .' - Stopping:正在停止任务。存在至少一台实例的命令执行状态为Stopping,则总执行状态为Stopping。'."\n" + .'- 修改定时任务执行信息(包括命令内容、自定义参数、执行频率)前,已执行的ECS实例或托管实例的云助手Agent版本需要高于以下对应的版本。'."\n" + .' - Linux:2.2.3.541'."\n" + .' - Windows:2.1.3.541'."\n" + .' - 如果调用结果返回`InvalidOperation.CloudAssistantVersionUnsupported`错误码,请将云助手Agent更新至最新版本。'."\n" + .'- 当您执行一个云助手公共命令时,无法修改命令内容`CommandContent`。'."\n" + .'- 当您修改了命令内容`CommandContent`,且调用[InvokeCommand](~~64841~~)或调用[RunCommand](~~141751~~)时设置`KeepCommand`为`true`创建任务,将会新增一条命令并长期保留,并占用云助手命令配额;在一个地域下,您最多可以保有500~50,000条云助手命令。您也可以申请提升配额,关于如何查询及提升配额,请参见[配额管理](~~184116~~)。', + ], + 'StopInvocation' => [ + 'summary' => '调用StopInvocation停止一台或多台ECS实例中一条正在进行中(Running)的云助手命令进程。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29318', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InvokeId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令执行ID。您可以通过接口[DescribeInvocations](~~64840~~)查询所有的InvokeId。 ', + 'type' => 'string', + 'required' => true, + 'example' => 't-7d2a745b412b4601b2d47f6a768d****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '要停止执行命令的实例列表,最多能指定50台实例ID。N的取值范围为1~50。', + 'type' => 'array', + 'items' => [ + 'description' => '要停止执行命令的实例列表,最多能指定50台实例ID。N的取值范围为1~50。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInvokeId.NotFound', + 'errorMessage' => 'The specified invoke ID does not exist.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified parameter InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n"}]', + 'title' => '停止执行云助手命令', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 停止单次命令进程后,已经开始执行的实例会继续执行,未开始执行的实例将不再执行。'."\n" + .'- 停止周期命令进程后,已经开始执行的命令将继续执行,但后续将不会再进行下一次的执行。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCommands' => [ + 'summary' => '查询您手动创建的云助手命令或者阿里云提供的公共命令。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29273', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Provider', + 'in' => 'query', + 'schema' => [ + 'description' => '公共命令的提供者。参数值的具体说明如下:'."\n" + ."\n" + .'- 当该参数不传值时,默认查询您手动创建的所有云助手命令。'."\n" + .'- 当该参数取值为`AlibabaCloud`时,查询由阿里云提供的所有公共命令。'."\n" + .'- 当该参数的取值为具体的公共命令提供者时,查询该提供者提供的所有公共命令。例如:'."\n" + .' - 当`Provider=AlibabaCloud.ECS.GuestOS`时,查询`AlibabaCloud.ECS.GuestOS`提供的公共命令。'."\n" + .' - 当`Provider=AlibabaCloud.ECS.GuestOSDiagnose`时,查询`AlibabaCloud.ECS.GuestOSDiagnose`提供的公共命令。', + 'type' => 'string', + 'required' => false, + 'example' => 'AlibabaCloud', + ], + ], + [ + 'name' => 'CommandId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'c-hz01272yr52****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '命令的名称。'."\n" + ."\n" + .'- 当指定了`Provider`参数查询公共命令时,默认支持模糊查询。'."\n" + ."\n" + .'- 当未指定`Provider`参数查询私有命令时,支持模糊查询,例如输入`command*`,可以搜索出所有名称以`command`开头的命令;输入`*command`,可以搜索出所有名称以`command`结尾的命令;输入`*command*`,可以搜索出所有名称包含`command`的命令。', + 'type' => 'string', + 'required' => false, + 'example' => 'testName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '命令的描述。'."\n" + ."\n" + .'- 当指定了`Provider`参数查询公共命令时,默认支持模糊查询。'."\n" + ."\n" + .'- 当未指定`Provider`参数查询私有命令时,支持模糊查询,例如输入`test*`,可以搜索出所有描述以`test`开头的命令;例如输入`*test`,可以搜索出所有描述以`test`结尾的命令;例如输入`*test*`,可以搜索出所有描述包含`test`的命令。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '命令的类型。取值范围: '."\n" + ."\n" + .'- RunBatScript:命令为在Windows实例中运行的Bat脚本。'."\n" + .'- RunPowerShellScript:命令为在Windows实例中运行的PowerShell脚本。'."\n" + .'- RunShellScript:命令为在Linux实例中运行的Shell脚本。', + 'type' => 'string', + 'required' => false, + 'example' => 'RunShellScript', + ], + ], + [ + 'name' => 'ContentEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '设置返回数据中`CommandContent`字段和`Output`字段的编码方式。取值范围:'."\n" + .'- PlainText:返回原始脚本内容和输出信息。'."\n" + .'- Base64:返回Base64编码后的脚本内容和输出信息。'."\n" + ."\n" + .'默认值为Base64。', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2', + ], + ], + [ + 'name' => 'Latest', + 'in' => 'query', + 'schema' => [ + 'description' => '若查询结果包含公共命令,是否只查询最新版本的公共命令。该参数不影响私有命令的查询。'."\n" + ."\n" + .'- true:只查询最新版本的公共命令。'."\n" + ."\n" + .'- false:查询所有版本的公共命令。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-123******', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对象。', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '命令的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Key' => [ + 'description' => '命令的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PageNumber' => [ + 'description' => '命令列表页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '命令总个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'Commands' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Command' => [ + 'description' => '命令数据集。', + 'type' => 'array', + 'items' => [ + 'description' => '命令对象。', + 'type' => 'object', + 'properties' => [ + 'ParameterDefinitions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ParameterDefinition' => [ + 'description' => '自定义参数详细信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '自定义参数对象。', + 'type' => 'object', + 'properties' => [ + 'DefaultValue' => [ + 'description' => '自定义参数的默认值。', + 'type' => 'string', + 'example' => 'https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.rpm', + ], + 'Description' => [ + 'description' => '自定义参数描述。', + 'type' => 'string', + 'example' => '云助手Agent安装包路径', + ], + 'Required' => [ + 'description' => '该自定义参数是否必填。'."\n" + ."\n" + .'- true:是。'."\n" + ."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ParameterName' => [ + 'description' => '自定义参数名称。', + 'type' => 'string', + 'example' => 'DownloadUrl', + ], + 'PossibleValues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PossibleValue' => [ + 'description' => '枚举类型自定义参数的可选值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '枚举类型自定义参数的可选值。', + 'type' => 'string', + 'example' => '"Linux","Windows"', + ], + ], + ], + ], + 'PatternRegex' => [ + 'description' => '自定义参数的正则表达式规则。', + 'type' => 'string', + 'example' => '^[a-zA-Z0-9_-]{4,32}$'."\0", + ], + ], + ], + ], + ], + ], + 'Description' => [ + 'description' => '命令描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + 'Category' => [ + 'description' => '公共命令的类目。', + 'type' => 'string', + 'example' => '“”', + ], + 'ResourceGroupId' => [ + 'description' => '命令所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-123******', + ], + 'ParameterNames' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ParameterName' => [ + 'description' => '通过创建命令时的commandcontent解析出的自定义参数名列表,以列表(list)的形式返回。如未使用自定义参数功能,则返回空值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '自定义参数名。', + 'type' => 'string', + 'example' => '[\'parameter1\',\'parameter2\']', + ], + ], + ], + ], + 'Timeout' => [ + 'description' => '超时时间,单位:秒。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3600', + ], + 'Provider' => [ + 'description' => '公共命令的提供者。', + 'type' => 'string', + 'example' => 'AlibabaCloud.ECS.GuestOS', + ], + 'Name' => [ + 'description' => '命令名称。', + 'type' => 'string', + 'example' => 'testName', + ], + 'WorkingDir' => [ + 'description' => '执行路径。', + 'type' => 'string', + 'example' => '/home/', + ], + 'CommandContent' => [ + 'description' => '命令内容,以Base64编码后传输。'."\n" + ."\n" + .'- 若ContentEncoding指定PlainText,返回原始脚本内容。'."\n" + ."\n" + .'- 若ContentEncoding指定Base64,返回Base64编码后的脚本内容。', + 'type' => 'string', + 'example' => 'Y2QgL3Jvb3Q=', + ], + 'Type' => [ + 'description' => '命令类型。', + 'type' => 'string', + 'example' => 'RunShellScript', + ], + 'Version' => [ + 'description' => '公共命令的版本。如果多个命令属于同一个`Provider`,且名称与类目相同,则这些命令属于同一个命令的不同版本。您手动创建的云助手命令不会返回该值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InvokeTimes' => [ + 'description' => '使用该命令创建的任务数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'CreationTime' => [ + 'description' => '命令创建时间。', + 'type' => 'string', + 'example' => '2020-11-17T06:52Z', + ], + 'Launcher' => [ + 'description' => '脚本执行的引导程序。长度不能超过 1 KB。', + 'type' => 'string', + 'example' => 'python3 -u {{ACS::ScriptFileName|Ext(".py")}}'."\n", + ], + 'Latest' => [ + 'description' => '公共命令是否是最新版本。如果多个命令属于同一个`Provider`,且名称与类目相同,则这些命令属于同一个命令的不同版本。您手动创建的云助手命令不会返回该值。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'EnableParameter' => [ + 'description' => '该命令是否启用自定义参数。'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'CommandId' => [ + 'description' => '命令ID。', + 'type' => 'string', + 'example' => 'c-hz01272yr52****', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '命令的标签信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '命令的标签信息对象。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '命令的标签键。', + 'type' => 'string', + 'example' => 'owner', + ], + 'TagValue' => [ + 'description' => '命令的标签值。', + 'type' => 'string', + 'example' => 'zhangsan', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'InvalidName.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter Name exceeds the upper limit.', + ], + [ + 'errorCode' => 'InvalidDescription.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter Description exceeds the upper limit.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidCommandType.NotFound', + 'errorMessage' => 'The specified parameter Type does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 5,\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"Commands\\": {\\n \\"Command\\": [\\n {\\n \\"ParameterDefinitions\\": {\\n \\"ParameterDefinition\\": [\\n {\\n \\"DefaultValue\\": \\"https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.rpm\\",\\n \\"Description\\": \\"云助手Agent安装包路径\\",\\n \\"Required\\": true,\\n \\"ParameterName\\": \\"DownloadUrl\\",\\n \\"PossibleValues\\": {\\n \\"PossibleValue\\": [\\n \\"\\\\\\"Linux\\\\\\",\\\\\\"Windows\\\\\\"\\"\\n ]\\n },\\n \\"PatternRegex\\": \\"^[a-zA-Z0-9_-]{4,32}$\\\\u0000\\"\\n }\\n ]\\n },\\n \\"Description\\": \\"testDescription\\",\\n \\"Category\\": \\"“”\\",\\n \\"ResourceGroupId\\": \\"rg-123******\\",\\n \\"ParameterNames\\": {\\n \\"ParameterName\\": [\\n \\"[\'parameter1\',\'parameter2\']\\"\\n ]\\n },\\n \\"Timeout\\": 3600,\\n \\"Provider\\": \\"AlibabaCloud.ECS.GuestOS\\",\\n \\"Name\\": \\"testName\\",\\n \\"WorkingDir\\": \\"/home/\\",\\n \\"CommandContent\\": \\"Y2QgL3Jvb3Q=\\",\\n \\"Type\\": \\"RunShellScript\\",\\n \\"Version\\": 1,\\n \\"InvokeTimes\\": 2,\\n \\"CreationTime\\": \\"2020-11-17T06:52Z\\",\\n \\"Launcher\\": \\"python3 -u {{ACS::ScriptFileName|Ext(\\\\\\".py\\\\\\")}}\\\\n\\",\\n \\"Latest\\": true,\\n \\"EnableParameter\\": true,\\n \\"CommandId\\": \\"c-hz01272yr52****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"owner\\",\\n \\"TagValue\\": \\"zhangsan\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n 5\\n \\n 2020-11-17T06:52Z\\n RunShellScript\\n 3600\\n 2\\n c-hz01272yr52****\\n /home/\\n testDescription\\n 1\\n AlibabaCloud.ECS.GuestOS\\n Y2QgL3Jvb3Q=\\n “”\\n true\\n testName\\n true\\n [\'parameter1\',\'parameter2\']\\n \\n true\\n 云助手Agent安装包路径\\n https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.rpm\\n DownloadUrl\\n \\"Linux\\",\\"Windows\\"\\n \\n \\n owner\\n zhangsan\\n \\n \\n","errorExample":""}]', + 'title' => '查询已创建的云助手命令', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 只输入参数`Action`和`RegionId`,不输入其他任何请求参数,则默认查询您手动创建的所有可用的命令(`CommandId`)。'."\n" + ."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyCommand' => [ + 'summary' => '调用ModifyCommand修改一条云助手命令相关参数。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29302', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CommandId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令ID。您可以通过接口[DescribeCommands](~~64843~~)查询所有可用的CommandId。', + 'type' => 'string', + 'required' => true, + 'example' => 'c-hz01272yr52****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '命令名称。支持全字符集,长度不得超过128个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'test-CommandName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '命令描述。支持全字符集,长度不得超过512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'CommandContent', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数已废弃,传入该参数不会生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'echo', + ], + ], + [ + 'name' => 'WorkingDir', + 'in' => 'query', + 'schema' => [ + 'description' => '执行路径。长度不得超过200个字符。', + 'type' => 'string', + 'required' => false, + 'example' => '/home/', + ], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => [ + 'description' => '您创建的命令在ECS实例中执行时最大的超时时间,单位为秒。当无法在配置的时间内运行并完成您创建的命令时,会出现超时现象。超时后,会强制终止命令进程,即取消命令的PID。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '120', + ], + ], + [ + 'name' => 'Launcher', + 'in' => 'query', + 'schema' => [ + 'description' => '脚本执行的引导程序。长度不能超过 1 KB。', + 'type' => 'string', + 'required' => false, + 'example' => 'python3 -u {{ACS::ScriptFileName|Ext(".py")}}'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '0DE9B41E-EF0D-40A0-BB43-37749C5BDA9C', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidParameter.WorkingDir', + 'errorMessage' => 'The specified parameter WorkingDir is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CmdName.Readonly', + 'errorMessage' => 'The command name is readonly after publishing.', + ], + [ + 'errorCode' => 'CmdName.ExceedLimit', + 'errorMessage' => 'The length of the command name exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdContent.ExceedLimit', + 'errorMessage' => 'The length of the command content exceeds the upper limit.', + ], + [ + 'errorCode' => 'CmdDesc.ExceedLimit', + 'errorMessage' => 'The length of the command description exceeds the upperlimit.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandName', + 'errorMessage' => 'The command Name contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandDescription', + 'errorMessage' => 'The command Description contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidParameterCharacter.CommandWorkingDir', + 'errorMessage' => 'The command WorkingDir contains illegal characters.', + ], + [ + 'errorCode' => 'InvalidLauncher.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter Launcher exceeds the limit of 1 KB characters.', + ], + [ + 'errorCode' => 'InvalidTimeout.ExceedLimit', + 'errorMessage' => 'The specified parameter Timeout exceeds the upper limit.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidCmdId.NotFound', + 'errorMessage' => 'The specified command ID does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0DE9B41E-EF0D-40A0-BB43-37749C5BDA9C\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n}"},{"type":"xml","example":"\\r\\n 0DE9B41E-EF0D-40A0-BB43-37749C5BDA9C\\r\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n"}]', + 'title' => '修改云助手命令', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteCommand' => [ + 'summary' => '调用DeleteCommand接口,并指定参数RegionId、CommandId删除一条云助手命令。它无法删除正在执行中的命令。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29263', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CommandId', + 'in' => 'query', + 'schema' => [ + 'description' => '命令ID。您可以通过接口[DescribeCommands](~~64843~~)查询所有可用的CommandId。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'c-4d34302d02424c5c8e10281e3a31****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidStatus.CmdIdInUse', + 'errorMessage' => 'The specified commandId is in use by some runing Invocation.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidCmdId.NotFound', + 'errorMessage' => 'The specified command ID does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\",\\n}"},{"type":"xml","example":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n"}]', + 'title' => '删除一条云助手命令', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SendFile' => [ + 'summary' => '调用SendFile向一台或多台ECS实例下发远程文件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29316', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标ECS实例所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '文件下发的资源组ID,当指定该参数时:'."\n" + ."\n" + .'- InstanceId对应的ECS实例必须属于该资源组。'."\n" + ."\n" + .'- 支持通过指定该参数筛选出对应的文件下发结果(通过调用[DescribeSendFileResults](~~184117~~))。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标ECS实例所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '文件名称。支持全字符集,长度不得超过255个字符。', + 'type' => 'string', + 'required' => true, + 'example' => 'file.txt', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '描述信息。支持全字符集,长度不得超过512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a test file.', + ], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => [ + 'description' => '下发文件的超时时间。单位:秒。'."\n" + ."\n" + .'- 当因为进程原因、缺失模块、缺失云助手Agent等原因无法下发文件时,会出现超时现象。'."\n" + .'- 当设置的超时时间小于10秒时,为确保下发成功,系统会将超时时间自动设置为10秒。'."\n" + ."\n" + .'默认值为60。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'TargetDir', + 'in' => 'query', + 'schema' => [ + 'description' => '文件下发目标ECS实例中的目录。如不存在则会自动创建。长度不得超过255个字符。', + 'type' => 'string', + 'required' => true, + 'example' => '/home', + ], + ], + [ + 'name' => 'ContentType', + 'in' => 'query', + 'schema' => [ + 'description' => '文件内容类型。'."\n" + .'- PlainText:普通文本。'."\n" + .'- Base64:Base64编码。'."\n" + ."\n" + .'默认值为PlainText。', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'schema' => [ + 'description' => '文件内容。文件内容在Base64编码后,大小不能超过32 KB。'."\n" + ."\n" + .'- 当`ContentType`参数为`PlainText`时,该字段为明文格式的普通文本。'."\n" + .'- 当`ContentType`参数为`Base64`时,该字段为Base64编码的文本。', + 'type' => 'string', + 'required' => true, + 'example' => '#!/bin/bash echo "Current User is :" echo $(ps | grep "$$" | awk \'{print $2}\') -------- oss://bucketName/objectName', + ], + ], + [ + 'name' => 'FileOwner', + 'in' => 'query', + 'schema' => [ + 'description' => '文件的用户。只对Linux实例生效,默认为root。长度不得超过64个字符。'."\n" + ."\n" + .'>使用其他用户时,请确保实例中存在该用户。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'FileGroup', + 'in' => 'query', + 'schema' => [ + 'description' => '文件的用户组。只对Linux实例生效,默认为root。长度不得超过64个字符。'."\n" + ."\n" + .'>使用其他用户组时,请确保实例中存在该用户组。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'FileMode', + 'in' => 'query', + 'schema' => [ + 'description' => '文件的权限。只对Linux实例生效,设置方式与chmod命令相同。'."\n" + ."\n" + .'默认值为0644,表示用户具有读写权限,用户组和其它用户具有只读权限。', + 'type' => 'string', + 'required' => false, + 'example' => '0644', + ], + ], + [ + 'name' => 'Overwrite', + 'in' => 'query', + 'schema' => [ + 'description' => '如果同名文件在目标目录已存在,是否覆盖文件。'."\n" + .'- true:覆盖。'."\n" + .'- false:不覆盖。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '需要执行命令的ECS实例列表。最多能指定50台ECS实例ID。N的取值范围为1~50。', + 'type' => 'array', + 'items' => [ + 'description' => '需要执行命令的ECS实例列表。最多能指定50台ECS实例ID。N的取值范围为1~50。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp185dy2o3o6n****', + ], + 'required' => true, + 'example' => 'i-bp185dy2o3o6n****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '文件下发的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '文件下发的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'InvokeId' => [ + 'description' => '命令执行ID。', + 'type' => 'string', + 'example' => 'f-7d2a745b412b46****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter instanceId is missing or empty.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'FileTargetDir.Invalid', + 'errorMessage' => 'The target directory of file is invalid.', + ], + [ + 'errorCode' => 'FileMode.Invalid', + 'errorMessage' => 'The mode of file is invalid.', + ], + [ + 'errorCode' => 'FileContent.DecodeError', + 'errorMessage' => 'The Content can not be base64 decoded.', + ], + [ + 'errorCode' => 'FileContentType.Invalid', + 'errorMessage' => 'The ContentType of file is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.FileOwner', + 'errorMessage' => 'The specified parameter FileOwner is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.FileGroup', + 'errorMessage' => 'The specified parameter FileGroup is not valid.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'FileSize.ExceedLimit', + 'errorMessage' => 'The length of file content exceeds limit.', + ], + [ + 'errorCode' => 'FileName.ExceedLimit', + 'errorMessage' => 'The length of file name exceeds limit.', + ], + [ + 'errorCode' => 'FileDesc.ExceedLimit', + 'errorMessage' => 'The length of file description exceeds limit.', + ], + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'InvalidTimeout.ExceedLimit', + 'errorMessage' => 'The specified parameter Timeout exceeds the upper limit.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instances not found.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"InvokeId\\": \\"f-7d2a745b412b46****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\r\\n f-7d2a745b412b46****\\r\\n","errorExample":""}]', + 'title' => '上传本地文件到ECS实例', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 目标ECS实例的状态必须为运行中(`Running`)。'."\n" + .'- 目标ECS实例必须预先安装[云助手Agent](~~64921~~)。'."\n" + .'- 云助手Agent版本需要高于以下对应的版本才能支持下发文件。如果结果返回`ClientNeedUpgrade`错误码,请将客户端更新至最新版本。'."\n" + .' - Linux:1.0.2.569'."\n" + .' - Windows:1.0.0.149'."\n" + .'- 文件内容在进行Base64编码后,大小不能超过32 KB。'."\n" + .'- 文件下发可能会因为目标ECS实例的状态异常、网络异常或云助手Agent异常而出现失败的情况。请调用[DescribeSendFileResults](~~184117~~),或参考[执行失败常见错误及修复建议](~~87029~~)进行问题排查。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSendFileResults' => [ + 'summary' => '调用DescribeSendFileResults查询云助手下发文件列表及状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29292', + 'abilityTreeNodes' => [ + 'FEATUREecsPW0L5N', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '文件下发的资源组ID。传入该参数后,需要在下发文件时指定ResourceGroupId,支持筛选出对应的文件下发结果。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS实例所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InvokeId', + 'in' => 'query', + 'schema' => [ + 'description' => '执行ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'f-hz0jdfwd9f****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '文件名称。传入该参数后,将查询该名称文件的所有的下发记录。', + 'type' => 'string', + 'required' => false, + 'example' => 'test.txt', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。传入该参数后,将查询该实例所有的文件下发记录。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-hz0jdfwd9f****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2', + ], + ], + [ + 'name' => 'InvocationStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '文件的总下发状态。总状态取决于本次下发的全部实例的共同执行状态,取值范围:'."\n" + ."\n" + .'- Pending:系统正在校验或下发文件。存在至少一台实例的文件下发状态为Pending,则总执行状态为Pending。'."\n" + .'- Running:正在实例上下发文件。存在至少一台实例的文件下发状态为Running,则总执行状态为Running。'."\n" + .'- Success:下发成功。各个实例上的文件下发状态均为Success,则总执行状态为Success。'."\n" + .'- Failed:下发失败。各个实例上的文件下发状态均为Failed,则总执行状态为Failed。'."\n" + .'- PartialFailed:部分实例文件下发成功且部分实例下发失败。各个实例的文件下发状态均为Success或Failed,则总执行状态为PartialFailed。', + 'type' => 'string', + 'required' => false, + 'example' => 'Success', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '文件下发的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '文件下发的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '查询结果的当前页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '脚本总个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'Invocations' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Invocation' => [ + 'description' => '文件下发记录。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '文件下发任务创建时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:54Z', + ], + 'InvocationStatus' => [ + 'description' => '文件的总下发状态。总状态取决于本次下发的全部实例的共同执行状态,可能值:'."\n" + ."\n" + .'- Pending:系统正在校验或下发文件。存在至少一台实例的文件下发状态为Pending,则总执行状态为Pending。'."\n" + .'- Running:正在实例上下发文件。存在至少一台实例的文件下发状态为Running,则总执行状态为Running。'."\n" + .'- Success:各个实例上的文件下发状态均为Success,则总执行状态为Success。'."\n" + .'- Failed:各个实例上的文件下发状态均为Failed,则总执行状态为Failed。实例上的文件下发状态一项或多项为以下状态时,返回值均为Failed状态:'."\n" + .' - 指定文件参数有误,校验失败(Invalid)。'."\n" + .' - 向实例下发文件失败(Aborted)。'."\n" + .' - 文件在实例内创建失败(Failed)。'."\n" + .' - 下发文件超时(Timeout)。'."\n" + .' - 下发文件时发生异常无法继续(Error)。'."\n" + .'- PartialFailed:部分实例文件下发成功且部分实例下发失败。各个实例的文件下发状态均为Success或Failed,则总执行状态为PartialFailed。', + 'type' => 'string', + 'example' => 'Success', + ], + 'ContentType' => [ + 'description' => '文件内容类型。可能值:'."\n" + .'- PlainText:普通文本。'."\n" + .'- Base64:Base64编码。', + 'type' => 'string', + 'example' => 'PlainText', + ], + 'TargetDir' => [ + 'description' => '目标路径。', + 'type' => 'string', + 'example' => '/home/user', + ], + 'FileOwner' => [ + 'description' => '文件的用户。', + 'type' => 'string', + 'example' => 'test', + ], + 'Description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'This is a test file.', + ], + 'VmCount' => [ + 'description' => '下发实例的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'FileMode' => [ + 'description' => '文件的权限。', + 'type' => 'string', + 'example' => '777', + ], + 'FileGroup' => [ + 'description' => '文件的用户组。', + 'type' => 'string', + 'example' => 'test', + ], + 'InvokeId' => [ + 'description' => '执行ID。', + 'type' => 'string', + 'example' => 'f-hz0jdfwd9f****', + ], + 'Name' => [ + 'description' => '文件名称。', + 'type' => 'string', + 'example' => 'test.txt', + ], + 'Content' => [ + 'description' => '文件内容。', + 'type' => 'string', + 'example' => '#!/bin/bash echo "Current User is :" echo $(ps | grep "$$" | awk \'{print $2}\')', + ], + 'Overwrite' => [ + 'description' => '是否允许覆盖。', + 'type' => 'string', + 'example' => 'false', + ], + 'InvokeInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InvokeInstance' => [ + 'description' => '下发文件目标实例集类型。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '文件下发任务的创建时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:54Z', + ], + 'StartTime' => [ + 'description' => '下发任务在实例中开始执行的时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:54Z', + ], + 'InvocationStatus' => [ + 'description' => '单台实例下发任务的状态,可能值:'."\n" + .'- Pending:系统正在校验或下发文件。'."\n" + .'- Invalid:指定文件参数有误,校验失败。'."\n" + .'- Running:正在实例上下发文件。'."\n" + .'- Aborted:向实例下发文件失败。'."\n" + .'- Success:文件下发完成。'."\n" + .'- Failed:文件在实例内创建失败。'."\n" + .'- Error:下发文件时发生异常无法继续。'."\n" + .'- Timeout:下发文件超时。', + 'type' => 'string', + 'example' => 'Success', + ], + 'FinishTime' => [ + 'description' => '下发任务的结束时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:54Z', + ], + 'UpdateTime' => [ + 'description' => '任务状态的更新时间。', + 'type' => 'string', + 'example' => '2019-12-20T06:15:54Z', + ], + 'ErrorInfo' => [ + 'description' => '文件下发的失败或执行失败原因详情。可能值:'."\n" + ."\n" + .'- 空:文件下发正常。'."\n" + .'- the specified instance does not exists:指定的实例不存在或已释放。'."\n" + .'- the specified instance has been released.:下发文件期间,该实例被释放。'."\n" + .'- the instance is not running when create task:创建下发文件任务时,该实例不在运行中。'."\n" + .'- the specified account does not exists:指定的账号不存在。'."\n" + .'- the aliyun service is not running on the instance:云助手Agent未运行。'."\n" + .'- the aliyun service in the instance does not response:云助手Agent无响应。'."\n" + .'- the aliyun service in the instance is upgrading now:云助手Agent正在升级中。'."\n" + .'- the aliyun service in the instance need upgrade:云助手Agent需要升级。'."\n" + .'- the command delivery has been timeout:下发文件超时。'."\n" + .'- the file creation is failed due to unknown error:文件创建失败。'."\n" + .'- the authority of file is invalid:文件权限不合法。'."\n" + .'- File content is empty:文件内容为空。'."\n" + .'- the content of file is invalid:文件内容不合法。'."\n" + .'- File already exists:相同路径下存在同名文件。'."\n" + .'- File name is invalid:文件名不合法。'."\n" + .'- File path is invalid:文件路径不合法。'."\n" + .'- Owner not exists:用户不存在。'."\n" + .'- Group not exists:用户组不存在。'."\n" + .'- Mode is invalid:文件权限设置不合法。', + 'type' => 'string', + 'example' => 'the instance is not running when create task', + ], + 'ErrorCode' => [ + 'description' => '文件下发的失败原因代码。可能值:'."\n" + ."\n" + .'- 空:文件下发正常。'."\n" + .'- InstanceNotExists:指定的实例不存在或已释放。'."\n" + .'- InstanceReleased:下发文件期间,该实例被释放。'."\n" + .'- InstanceNotRunning:创建下发文件任务时,该实例不在运行中。'."\n" + .'- AccountNotExists:指定的账号不存在。'."\n" + .'- ClientNotRunning:云助手Agent未运行。'."\n" + .'- ClientNotResponse:云助手Agent无响应。'."\n" + .'- ClientIsUpgrading:云助手Agent正在升级中。'."\n" + .'- ClientNeedUpgrade:云助手Agent需要升级。'."\n" + .'- DeliveryTimeout:发送文件超时。'."\n" + .'- FileCreateFail:文件创建失败。'."\n" + .'- FileAlreadyExists:相同路径下存在同名文件。'."\n" + .'- FileContentInvalid:文件内容不合法。'."\n" + .'- FileNameInvalid:文件名不合法。'."\n" + .'- FilePathInvalid:文件路径不合法。'."\n" + .'- FileAuthorityInvalid:文件权限不合法。'."\n" + .'- UserGroupNotExists:发送文件时指定的用户组不存在。', + 'type' => 'string', + 'example' => 'InstanceNotExists', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-uf614fhehhz****', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '文件下发的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '文件下发的标签信息。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '文件下发的标签键。', + 'type' => 'string', + 'example' => 'owner', + ], + 'TagValue' => [ + 'description' => '文件下发的标签值。', + 'type' => 'string', + 'example' => 'zhangsan', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"Invocations\\": {\\n \\"Invocation\\": [\\n {\\n \\"CreationTime\\": \\"2019-12-20T06:15:54Z\\",\\n \\"InvocationStatus\\": \\"Success\\",\\n \\"ContentType\\": \\"PlainText\\",\\n \\"TargetDir\\": \\"/home/user\\",\\n \\"FileOwner\\": \\"test\\",\\n \\"Description\\": \\"This is a test file.\\",\\n \\"VmCount\\": 1,\\n \\"FileMode\\": \\"777\\",\\n \\"FileGroup\\": \\"test\\",\\n \\"InvokeId\\": \\"f-hz0jdfwd9f****\\",\\n \\"Name\\": \\"test.txt\\",\\n \\"Content\\": \\"#!/bin/bash echo \\\\\\"Current User is :\\\\\\" echo $(ps | grep \\\\\\"$$\\\\\\" | awk \'{print $2}\')\\",\\n \\"Overwrite\\": \\"false\\",\\n \\"InvokeInstances\\": {\\n \\"InvokeInstance\\": [\\n {\\n \\"CreationTime\\": \\"2019-12-20T06:15:54Z\\",\\n \\"StartTime\\": \\"2019-12-20T06:15:54Z\\",\\n \\"InvocationStatus\\": \\"Success\\",\\n \\"FinishTime\\": \\"2019-12-20T06:15:54Z\\",\\n \\"UpdateTime\\": \\"2019-12-20T06:15:54Z\\",\\n \\"ErrorInfo\\": \\"the instance is not running when create task\\",\\n \\"ErrorCode\\": \\"InstanceNotExists\\",\\n \\"InstanceId\\": \\"i-uf614fhehhz****\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"owner\\",\\n \\"TagValue\\": \\"zhangsan\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 10\\n 1\\n \\n \\n 0644\\n false\\n Success\\n This is a test file.\\n PlainText\\n 1\\n /home/user\\n test\\n test\\n \\n \\n Success\\n 2020-09-11T08:30:55Z\\n i-bp1hsglsw****\\n \\n 2020-09-11T08:30:55Z\\n 2020-09-11T08:30:55Z\\n 2020-09-11T08:30:55Z\\n \\n \\n \\n test.txt\\n ZWNobyBoZWxsbw==\\n 2020-09-11T08:30:55Z\\n f-hz0vk9****\\n \\n \\n","errorExample":""}]', + 'title' => '查询云助手下发文件列表及状态', + 'description' => '## 接口说明:'."\n" + .'- 当您下发文件后,不代表文件一定成功下发。您需要通过接口返回值查看实际下发结果,并以实际输出结果为准。'."\n" + .'- 您可以查询最近6周的下发记录。'."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeCloudAssistantStatus' => [ + 'summary' => '调用DescribeCloudAssistantStatus查询一台或者多台实例是否安装了云助手Agent。如果已安装了云助手,还将查询云助手命令执行的总数量、正在执行的数量以及最近一次命令执行的时间。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29272', + 'abilityTreeNodes' => [ + 'FEATUREecsPW0L5N', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'OSType', + 'in' => 'query', + 'schema' => [ + 'description' => '实例的操作系统类型。取值范围:'."\n" + ."\n" + .'- Windows。'."\n" + .'- Linux。'."\n" + .'- FreeBSD。', + 'type' => 'string', + 'required' => false, + 'example' => 'Windows', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。若已设置**InstanceId**参数,则该参数无效。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID列表,可包含ECS实例ID、托管实例ID。'."\n" + .'最多可指定100个实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1iudwa5b1tqa****', + ], + 'required' => false, + 'example' => 'i-bp1iudwa5b1tqa****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '实例总个数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'InstanceCloudAssistantStatusSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceCloudAssistantStatus' => [ + 'description' => '实例云助手安装状态结果集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CloudAssistantStatus' => [ + 'description' => '实例内的云助手是否在运行中。可能值:'."\n" + ."\n" + .'- true:2分钟内有心跳。'."\n" + ."\n" + .'- false:2分钟内无心跳。', + 'type' => 'string', + 'example' => 'true', + ], + 'LastInvokedTime' => [ + 'description' => '最近一次命令执行的时间。', + 'type' => 'string', + 'example' => '2021-03-15T08:00:00Z', + ], + 'CloudAssistantVersion' => [ + 'description' => '云助手Agent版本号,若未安装或未运行云助手Agent,则该值为空。', + 'type' => 'string', + 'example' => '2.2.0.106', + ], + 'ActiveTaskCount' => [ + 'description' => '实例内的云助手运行中的任务数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'InvocationCount' => [ + 'description' => '实例内的云助手已完成的任务数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1iudwa5b1tqa****', + ], + 'LastHeartbeatTime' => [ + 'description' => '云助手最近一次心跳时间。该值平均每分钟(有上下5秒的随机浮动,最短55秒,最长65秒)更新一次。', + 'type' => 'string', + 'example' => '2021-03-15T09:00:00Z', + ], + 'OSType' => [ + 'description' => '实例操作系统类型。可能值:'."\n" + ."\n" + .'- Windows。'."\n" + .'- Linux。'."\n" + .'- FreeBSD。', + 'type' => 'string', + 'example' => 'Linux', + ], + 'SupportSessionManager' => [ + 'description' => '实例内的云助手是否支持会话管理功能。若不支持,表示云助手版本较低,请将客户端更新至最新版本。'."\n" + ."\n" + .'云助手支持会话管理功能的最低版本如下:'."\n" + .'- Linux:2.2.3.189'."\n" + .'- Windows:2.1.3.189', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter instanceId is missing or empty.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instance does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"InstanceCloudAssistantStatusSet\\": {\\n \\"InstanceCloudAssistantStatus\\": [\\n {\\n \\"CloudAssistantStatus\\": \\"true\\",\\n \\"LastInvokedTime\\": \\"2021-03-15T08:00:00Z\\",\\n \\"CloudAssistantVersion\\": \\"2.2.0.106\\",\\n \\"ActiveTaskCount\\": 0,\\n \\"InvocationCount\\": 2,\\n \\"InstanceId\\": \\"i-bp1iudwa5b1tqa****\\",\\n \\"LastHeartbeatTime\\": \\"2021-03-15T09:00:00Z\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"SupportSessionManager\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 1\\n \\n \\n 2.2.0.106\\n true\\n i-bp1iudwa5b1tqa****\\n true\\n Linux\\n 2\\n 0\\n 2021-03-15T08:00:00Z\\n 2021-03-15T09:00:00Z\\n \\n \\n","errorExample":""}]', + 'title' => '查询云助手安装状态', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 建议您先调用该接口查询实例的云助手状态,当CloudAssistantStatus为true时再执行命令或下发文件,尤其对于新购实例。'."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'InstallCloudAssistant' => [ + 'summary' => '调用InstallCloudAssistant为一台或多台ECS实例安装云助手Agent。需要重启实例来完成安装云助手Agent的操作。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29299', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID列表。列表元素数量为1~50。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1iudwa5b1tqa****', + ], + 'required' => true, + 'example' => 'i-bp1iudwa5b1tqa****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'MissingParam.InstanceId', + 'errorMessage' => 'The parameter instanceId is missing or empty.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'InvalidInstanceId.OSTypeUnsupported', + 'errorMessage' => 'The OS type of the instance %s corresponding to the parameter InstanceId does not support the operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instance does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"928E2273-5715-46B9-A730-238DC996A533\\"\\n}"},{"type":"xml","example":"\\n 928E2273-5715-46B9-A730-238DC996A533\\n","errorExample":"\\n 928E2273-5715-46B9-A730-238DC996A533\\n"}]', + 'title' => '为实例安装云助手Agent', + 'description' => '## 接口说明'."\n" + ."\n" + .'调用InstallCloudAssistant接口后再调用[RebootInstance](~~25502~~),安装云助手Agent的操作即可生效。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'StartTerminalSession' => [ + 'summary' => '调用StartTerminalSession基于会话管理功能创建一个会话。您可以通过指定ECS实例ID与该实例建立一个WebSocket会话,通过接口返回的WebSocketUrl可以远程连接到ECS实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29324', + 'abilityTreeNodes' => [ + 'FEATUREecsPW0L5N', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '指定的ECS实例ID。N表示可以同时指定多台ECS实例,最多可指定10台ECS实例。N的取值范围:1~10。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1eifrtpxa9tb****', + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'PortNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '指定ECS实例的端口号,用于数据转发。一旦设置该参数,云助手Agent的数据转发会传到指定的端口号,用于端口转发。例如,SSH使用22端口。'."\n" + ."\n" + .'默认值为空,表示不设置数据转发的端口号。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '22', + ], + ], + [ + 'name' => 'CommandLine', + 'in' => 'query', + 'schema' => [ + 'description' => '发起会话后,指定执行的命令内容。长度不能超过512个字符。'."\n" + ."\n" + .'> 指定了`CommandLine`后,不能再指定`PortNumber`和`TargetServer`。', + 'type' => 'string', + 'required' => false, + 'example' => 'ssh root@192.168.0.246', + ], + ], + [ + 'name' => 'TargetServer', + 'in' => 'query', + 'schema' => [ + 'description' => '指定通过实例访问VPC内目标服务地址。'."\n" + ."\n" + .'>当该参数不为空时,`PortNumber`表示通过托管实例访问VPC内目标服务的端口号。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.246', + ], + ], + [ + 'name' => 'Username', + 'in' => 'query', + 'schema' => [ + 'description' => '指定连接时的用户名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'testUser', + ], + ], + [ + 'name' => 'ConnectionType', + 'in' => 'query', + 'schema' => [ + 'description' => '远程连接实例所需WebSocket URL的网络类型。'."\n" + .'- Internet:公网(默认)'."\n" + .'- Intranet:内网。', + 'type' => 'string', + 'required' => false, + 'example' => 'Intranet', + ], + ], + [ + 'name' => 'PasswordName', + 'in' => 'query', + 'schema' => [ + 'description' => '在 Windows 实例中使用Session Manager时用户的密码名称。长度不得超过 255 个字符。'."\n" + .'当您希望以非默认用户(System)在 Windows 实例中使用Session Manager时,需要同时传入Username和该参数。为降低密码泄露的风险,需要将密码明文托管在系统运维管理的参数仓库中,此处仅传入密码的名称。更多信息,请参见[加密参数](~~186828~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'axtSecretPassword', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EncryptionOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '会话加密配置项。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '开启会话连接端到端加密。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'KMSKeyId' => [ + 'description' => 'KMS秘钥ID。'."\n" + .'注意事项:'."\n" + .'- 仅支持KMS对称密钥。'."\n" + .'- 仅当加密模式为Kms时,支持指定该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + ], + 'Mode' => [ + 'description' => '加密模式。可选值:'."\n" + .'- Auto:使用自动协商密钥加密会话。'."\n" + .'- Kms:使用KMS密钥加密会话。'."\n" + .'- 默认值:Auto。'."\n" + ."\n" + .'注意事项:'."\n" + .'- 仅当开启会话加密时,支持指定该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Auto', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'EB5173B0-8E80-564E-AAD1-3135412*****', + ], + 'SessionId' => [ + 'description' => '会话ID。', + 'type' => 'string', + 'example' => 's-hz023od0x9****', + ], + 'SecurityToken' => [ + 'description' => '附加在WebSocket的请求头部,用于系统校验本次请求。', + 'type' => 'string', + 'example' => 'd86c2df2-d19c-4bd8-b817-a19ef123****', + ], + 'WebSocketUrl' => [ + 'description' => '远程连接ECS实例的WebSocket会话对应的URL。包含了会话ID(`SessionId`)以及用于系统校验的`SecurityToken`。', + 'type' => 'string', + 'example' => 'wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'PortNumber.Invalid', + 'errorMessage' => 'The port number is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.ConnectionType', + 'errorMessage' => 'The specified parameter ConnectionType is not valid.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'SessionCount.ExceedLimit', + 'errorMessage' => 'The number of sessions exceeds the upper limit.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'PortForwarding.NotSupported', + 'errorMessage' => 'Port forwarding is not supported currently.', + ], + [ + 'errorCode' => 'UserBehavior.SessionManagerDisabled', + 'errorMessage' => 'The api is disabled by user behavior.', + ], + [ + 'errorCode' => 'InvalidCommandLine.Conflict', + 'errorMessage' => 'The parameter PortNumber or TargetServer cannot be specified with parameter CommandLine.', + ], + [ + 'errorCode' => 'InvalidTargetServer.MissingPortNumber', + 'errorMessage' => 'The parameter PortNumber must be specified with parameter TargetServer.', + ], + [ + 'errorCode' => 'InvalidCommandLine.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter CommandLine exceeded the limit of 512 characters.', + ], + [ + 'errorCode' => 'InvalidInstanceIds.CountLimitExceeded', + 'errorMessage' => 'The count of Instances exceeded the maximum limit of 1 when TargetServer or CommandLine parameter was specified.', + ], + [ + 'errorCode' => 'Username.ExceedLimit', + 'errorMessage' => 'The length of the username exceeds the upper limit.', + ], + [ + 'errorCode' => 'InvalidOperation.SecurityGroupRuleDenied', + 'errorMessage' => 'The operation is not allowed by the security group inbound rules of the specified instance.', + ], + [ + 'errorCode' => 'InvalidTargetServer.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter TargetServer exceeded the limit of 128 characters.', + ], + [ + 'errorCode' => 'InvalidOperation.ConnectionTypeUnsupported', + 'errorMessage' => 'The operation is not supported for the parameter ConnectionType.', + ], + [ + 'errorCode' => 'InvalidPasswordName.LengthLimitExceeded', + 'errorMessage' => 'The length of the parameter PasswordName exceeds the limit of 255 characters.', + ], + [ + 'errorCode' => 'InvalidEncryptionOptionsMode.EncryptionDisabled', + 'errorMessage' => 'EncryptionOptions.Mode cannot be specified when encryption is disabled.', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptionOptionsKMSKeyId', + 'errorMessage' => 'The specified parameter EncryptionOptions.KMSKeyId is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.EncryptionOptionsMode', + 'errorMessage' => 'The specified parameter EncryptionOptions.Mode is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.EncryptionOptionsKMSKeyId', + 'errorMessage' => 'The input parameter EncryptionOptions.KMSKeyId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'UnsupportedAgentVersion.Encryption', + 'errorMessage' => 'The cloud assistant agent version on instance %s do not support encryption.', + ], + [ + 'errorCode' => 'InvalidEncryptionOptions.Conflict', + 'errorMessage' => 'The parameter PortNumber or TargetServer cannot be specified with parameter EncryptionOptions.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instances not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EB5173B0-8E80-564E-AAD1-3135412*****\\",\\n \\"SessionId\\": \\"s-hz023od0x9****\\",\\n \\"SecurityToken\\": \\"d86c2df2-d19c-4bd8-b817-a19ef123****\\",\\n \\"WebSocketUrl\\": \\"wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n EB5173B0-8E80-564E-AAD1-3135412*****\\n s-hz023od0x9****\\n d86c2df2-d19c-4bd8-b817-a19ef123****\\n wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****\\n","errorExample":""}]', + 'title' => '开始终端会话', + 'description' => '## 接口说明'."\n" + ."\n" + .'当您通过代码定制化远程连接客户端时,可以调用该接口获取远程连接ECS实例的WebSocketUrl。调用该接口时您需要注意:'."\n" + ."\n" + .'- 指定的ECS实例必须处于运行中(Running)状态。'."\n" + .'- 指定的ECS实例必须安装了云助手Agent。您可以调用[DescribeCloudAssistantStatus](~~87346~~)查询ECS实例是否已安装云助手Agent,并可以查询云助手Agent的版本号。'."\n" + .' - 如果您的ECS实例没有安装云助手Agent,请调用[InstallCloudAssistant](~~85916~~)安装。'."\n" + .' - 云助手Agent的版本需要高于以下版本才支持会话管理功能。如果您需要升级云助手Agent版本,请参见[升级或禁止升级云助手Agent](~~134383~~)。'."\n" + .' - Linux操作系统:2.2.3.256'."\n" + .' - Windows操作系统:2.1.3.256'."\n" + .'- 成功调用该接口后,WebSocketUrl有效时长为10分钟。'."\n" + .'- 在会话建立后,3分钟没有数据传输,云助手会关闭链接。'."\n" + .'- 同一地域下,已创建并可用的会话不能超过1000个,单台ECS实例处于连接状态的会话不能超过20个,单个会话连接的带宽限制为200kb/s。'."\n" + .'- 端口转发功能,目前只支持TCP端口转发,不支持UDP。'."\n" + .'- 若想永久关闭会话,并使WebSocketUrl失效,请调用EndTerminalSession接口。', + ], + 'EndTerminalSession' => [ + 'summary' => '永久关闭指定Session的数据连接。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '255784', + 'abilityTreeNodes' => [ + 'FEATUREecsPW0L5N', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '会话所在地域的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SessionId', + 'in' => 'query', + 'schema' => [ + 'description' => '会话ID。', + 'type' => 'string', + 'required' => true, + 'example' => 's-hz023od0x9****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidSessionId.NotFound', + 'errorMessage' => 'The specified SessionId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => '关闭终端会话', + 'description' => '- 关闭指定Session数据连接,Session不可再使用。'."\n" + ."\n" + .'- Session关联的WebSocket URL也会失效,不可再使用。', + ], + 'DescribeTerminalSessions' => [ + 'summary' => '查看Session Manager会话历史记录。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29325', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1i7gg30r52z2em****', + ], + ], + [ + 'name' => 'SessionId', + 'in' => 'query', + 'schema' => [ + 'description' => '会话ID。', + 'type' => 'string', + 'required' => false, + 'example' => 's-hz023od0x9****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为100。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'Sessions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Session' => [ + 'description' => '会话列表。', + 'type' => 'array', + 'items' => [ + 'description' => '会话信息。', + 'type' => 'object', + 'properties' => [ + 'Connections' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Connection' => [ + 'description' => '连接信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '连接信息。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '会话状态,可能值:'."\n" + .'- Connecting:连接中。'."\n" + .'- Connected:已连接。'."\n" + .'- Terminated:会话已终止。'."\n" + .'- Failed:连接失败。', + 'type' => 'string', + 'example' => 'Connecting', + ], + 'FailedDetail' => [ + 'description' => '连接失败原因详情。仅在状态(Status)为Failed时返回该参数。', + 'type' => 'string', + 'example' => 'The Session Manager is closed normally.', + ], + 'EndTime' => [ + 'description' => '连接结束时间。', + 'type' => 'string', + 'example' => '2024-01-19T09:16:46Z', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1i7gg30r52z2em****', + ], + 'StartTime' => [ + 'description' => '连接开始时间。', + 'type' => 'string', + 'example' => '2024-01-19T09:16:40Z', + ], + 'ClosedReason' => [ + 'description' => '连接结束原因。'."\n" + .'仅在状态(`Status`)为`Disconnected`、`Terminated`、`Failed`时返回该参数。可能值:'."\n" + .'- InstanceNotExists:指定的实例不存在或已释放。'."\n" + .'- InstanceNotRunning:该实例不在运行中。'."\n" + .'- DeliveryTimeout:连接超时。'."\n" + .'- AgentNeedUpgrade:云助手 Agent 需要升级。'."\n" + .'- AgentNotOnline:云助手Agent未连接到服务器。'."\n" + .'- MessageFormatInvalid:消息格式不合法。'."\n" + .'- AgentSocketClosed:连接正常关闭。'."\n" + .'- ClientClosed:会话管理客户端关闭了连接。'."\n" + .'- ReadFromTargetPortFailed:StartTerminalSession指定PortNumber数据转发时,从目标端口读取数据时失败。'."\n" + .'- ReopenTargetPortFailed:StartTerminalSession指定PortNumber数据转发时,重新向目标端口发起TCP连接失败。'."\n" + .'- OpenTargetPortFailed:StartTerminalSession指定PortNumber数据转发时,向目标端口发起TCP连接失败。'."\n" + .'- WinptyPermissionDenied:对于Windows实例,为winpty.dll 或者 winty-agent.exe 增加指定用户的可读可执行权限失败。'."\n" + .'- PasswordNameNotFound:未找到StartTerminalSession指定的PasswordName。'."\n" + .'- ProcessSessionDataError:处理会话数据失败。'."\n" + .'- SessionIdDuplicate:会话ID重复。'."\n" + .'- SessionTimeout:会话超时(一次会话连接超过3小时会主动断开)。'."\n" + .'- IdleTimeout:连接超时(180秒没有会话交互,认为连接空闲主动断开)。'."\n" + .'- HomeDirPermissionDenied:待连接用户的home目录权限不足。'."\n" + .'- HomeDirNotFound:待连接用户的home目录不存在。'."\n" + .'- ShellCommandPermissionDenied:Shell程序权限不足(bash、csh没有可执行权限)。'."\n" + .'- ShellCommandNotFound:Shell程序不存在(Linux系统--bash、FreeBSD系统--csh、Windows系统--powershell.exe文件不存在)。'."\n" + .'- ObtainUserInfoFailed:获取Username参数信息失败(家目录信息)。'."\n" + .'- ObtainUserIdentityFailed:获取Username参数鉴权信息失败(uid、gid、groups)。'."\n" + .'- UserNotExists:StartTerminalSession时指定的Username不存在。'."\n" + .'- MalformedCommandLine:StartTerminalSession时指定的CommandLine解析失败。', + 'type' => 'string', + 'example' => 'AgentNeedUpgrade', + ], + ], + ], + ], + ], + ], + 'IdentityType' => [ + 'description' => '身份类型。当前支持的身份类型包括:'."\n" + .'- Account:阿里云账号(主账号)。'."\n" + .'- RAMUser:RAM用户。'."\n" + .'- AssumedRoleUser:RAM角色。', + 'type' => 'string', + 'example' => 'RAMUser', + ], + 'PrincipalId' => [ + 'description' => '身份标识。按照身份类型`IdentityType`,取值如下:'."\n" + .'- 当前调用者是阿里云账号:返回阿里云账号ID。'."\n" + .'- 当前调用者是RAM用户:返回RAM用户ID。'."\n" + .'- 当前调用者是角色扮演:返回角色扮演实际委托人ID。', + 'type' => 'string', + 'example' => '123456xxxx', + ], + 'Username' => [ + 'description' => '连接时的用户名。', + 'type' => 'string', + 'example' => 'root', + ], + 'CreationTime' => [ + 'description' => '会话的创建时间。', + 'type' => 'string', + 'example' => '2024-01-19T09:15:46Z', + ], + 'TargetServer' => [ + 'description' => '通过实例访问VPC内的目标服务地址。', + 'type' => 'string', + 'example' => '192.168.0.246', + ], + 'PortNumber' => [ + 'description' => 'ECS实例的端口号,用于数据转发。若未设置数据转发的端口号,则该值为空。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '22', + ], + 'ClientIP' => [ + 'description' => '远程连接的客户IP。', + 'type' => 'string', + 'example' => '192.168.1.1', + ], + 'SessionId' => [ + 'description' => '会话ID。', + 'type' => 'string', + 'example' => 's-hz023od0x9****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"Sessions\\": {\\n \\"Session\\": [\\n {\\n \\"Connections\\": {\\n \\"Connection\\": [\\n {\\n \\"Status\\": \\"Connecting\\",\\n \\"FailedDetail\\": \\"The Session Manager is closed normally.\\",\\n \\"EndTime\\": \\"2024-01-19T09:16:46Z\\",\\n \\"InstanceId\\": \\"i-bp1i7gg30r52z2em****\\",\\n \\"StartTime\\": \\"2024-01-19T09:16:40Z\\",\\n \\"ClosedReason\\": \\"AgentNeedUpgrade\\"\\n }\\n ]\\n },\\n \\"IdentityType\\": \\"RAMUser\\",\\n \\"PrincipalId\\": \\"123456xxxx\\",\\n \\"Username\\": \\"root\\",\\n \\"CreationTime\\": \\"2024-01-19T09:15:46Z\\",\\n \\"TargetServer\\": \\"192.168.0.246\\",\\n \\"PortNumber\\": 22,\\n \\"ClientIP\\": \\"192.168.1.1\\",\\n \\"SessionId\\": \\"s-hz023od0x9****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查看Session Manager会话历史记录', + 'description' => '支持查看4周内创建的Session Manager会话记录。', + ], + 'ModifyCloudAssistantSettings' => [ + 'summary' => '修改云助手服务配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '213696', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SettingType', + 'in' => 'query', + 'schema' => [ + 'description' => '服务配置类型。当前取值范围:'."\n" + .'- SessionManagerDelivery:会话操作记录投递。'."\n" + .'- InvocationDelivery:任务执行记录投递。'."\n" + .'- AgentUpgradeConfig:云助手Agent升级配置。'."\n" + .'- SessionManagerConfig: 云助手SessionManager配置。', + 'type' => 'string', + 'required' => true, + 'example' => 'SessionManagerDelivery', + ], + ], + [ + 'name' => 'OssDeliveryConfig', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'OSS投递配置信息。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '是否开启投递到OSS功能。默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'BucketName' => [ + 'description' => 'OSS存储空间名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'example-bucket', + ], + 'Prefix' => [ + 'description' => 'OSS存储空间目录前缀。约束如下:'."\n" + .'- 长度不得超过 254 个字符。'."\n" + .'- 不能以正斜线(/)或者反斜线(\\)开头。'."\n" + ."\n" + .'注:传入""表示不需要目录前缀;若之前设置过,而当前不再需要目录前缀可传入""清空。', + 'type' => 'string', + 'required' => false, + 'example' => 'sessionmanager/audit', + ], + 'EncryptionType' => [ + 'description' => 'OSS加密方式,可选值:'."\n" + .'- Inherit:继承 Bucket;'."\n" + .'- OssManaged:OSS 完全托管;'."\n" + .'- KMS:KMS加密。', + 'type' => 'string', + 'required' => false, + 'example' => 'Inherit', + ], + 'EncryptionAlgorithm' => [ + 'description' => 'OSS加密算法,可选值:'."\n" + .'- AES256'."\n" + .'- SM4', + 'type' => 'string', + 'required' => false, + 'example' => 'AES256', + ], + 'EncryptionKeyId' => [ + 'description' => '加密方式为KMS时,用户的主密钥CMK ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'a807****7a70e', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SlsDeliveryConfig', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'SLS投递配置信息。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '是否开启投递到SLS功能。'."\n" + .'默认值:false', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'ProjectName' => [ + 'description' => 'SLS项目名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'example-project', + ], + 'LogstoreName' => [ + 'description' => 'SLS日志库名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'example-logstore', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'AgentUpgradeConfig', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '云助手Agent升级配置。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '是否开启自定义Agent升级配置。如设置为false,默认保持每30分钟尝试升级一次。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'AllowedUpgradeWindow' => [ + 'description' => '允许升级的时间段列表,可精确到分,默认为 UTC 时区。'."\n" + ."\n" + .'各时间段的间隔不能小于1小时。'."\n" + ."\n" + .'格式:开始时间(HH:mm)-结束时间(HH:mm)。'."\n" + ."\n" + .'如['."\n" + .'"02:00-03:00",'."\n" + .'"05:00-06:00"'."\n" + .']'."\n" + .'代表在 UTC 时区的每天2点-3点、5点-6点允许升级。', + 'type' => 'array', + 'items' => [ + 'description' => '允许升级的时间段列表,可精确到分,默认为 UTC 时区。'."\n" + ."\n" + .'各时间段的间隔不能小于1小时。'."\n" + ."\n" + .'格式:开始时间(HH:mm)-结束时间(HH:mm)。'."\n" + ."\n" + .'如['."\n" + .'"02:00-03:00",'."\n" + .'"05:00-06:00"'."\n" + .']'."\n" + .'代表在 UTC 时区的每天2点-3点、5点-6点允许升级。', + 'type' => 'string', + 'required' => false, + 'example' => '['."\n" + .'"02:00-03:00",'."\n" + .'"05:00-06:00"'."\n" + .']', + ], + 'required' => false, + 'maxItems' => 6, + ], + 'TimeZone' => [ + 'description' => '允许升级时间段的时区。默认为 UTC 时区。'."\n" + .'时区支持以下两种形式:'."\n" + .'- 时区全称: 如Asia/Shanghai(中国/上海时间)、America/Los_Angeles(美国/洛杉矶时间)等。'."\n" + .'- 时区相对于格林威治时间的偏移量: 如GMT+8:00(东八区)、GMT-7:00(西七区)等。小时位不支持添加前导零。', + 'type' => 'string', + 'required' => false, + 'example' => 'Asia/Shanghai', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SessionManagerConfig', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '云助手会话功能配置。', + 'type' => 'object', + 'properties' => [ + 'SessionManagerEnabled' => [ + 'description' => '云助手会话功能开关。取值范围:'."\n" + .'* true: 开启;'."\n" + .'* false: 关闭。'."\n" + ."\n" + .'注意事项:'."\n" + .'* 会话功能开启/关闭对全部地域生效。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SettingType', + 'errorMessage' => 'The specified parameter SettingType is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.OssEncryptionType', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.EncryptionType is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.OssEncryptionAlgorithm', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.EncryptionAlgorithm is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.OssEncryptionKeyId', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.EncryptionKeyId is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.OssBucketName', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.BucketName is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.OssPrefix', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.Prefix is not valid.', + ], + [ + 'errorCode' => 'InvalidOssBucketName.InOtherRegion', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.BucketName is in another region.', + ], + [ + 'errorCode' => 'InvalidParameter.SlsProjectName', + 'errorMessage' => 'The specified parameter SlsDeliveryConfig.ProjectName is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.SlsLogstoreName', + 'errorMessage' => 'The specified parameter SlsDeliveryConfig.LogstoreName is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.AllowedUpgradeWindow', + 'errorMessage' => 'The specified parameter AgentUpgradeConfig.AllowedUpgradeWindow is not valid.', + ], + [ + 'errorCode' => 'InvalidAllowedUpgradeWindow.DurationTooShort', + 'errorMessage' => 'The duration of the specified parameter AgentUpgradeConfig.AllowedUpgradeWindow cannot be less than one hour.', + ], + [ + 'errorCode' => 'InvalidParameter.TimeZone', + 'errorMessage' => 'The specified parameter AgentUpgradeConfig.TimeZone is not valid.', + ], + [ + 'errorCode' => 'InvalidAllowedUpgradeWindow.Required', + 'errorMessage' => 'The specified parameter AgentUpgradeConfig.AllowedUpgradeWindow is required.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CreateServiceLinkedRole.NoPermission', + 'errorMessage' => 'You do not have permission to create ServiceLinkedRole.', + ], + [ + 'errorCode' => 'InvalidOperation.OssEncryptionUnsupported', + 'errorMessage' => 'The configuration of OSS Encryption is not supported.', + ], + [ + 'errorCode' => 'InvalidAllowedUpgradeWindow.CountLimitExceeded', + 'errorMessage' => 'The count of the parameter AgentUpgradeConfig.AllowedUpgradeWindow exceeds the limit of 5.', + ], + [ + 'errorCode' => 'InvalidOperation.SessionManagerDeliveryUnsupported', + 'errorMessage' => 'The delivery configuration of Session Manager is not supported.', + ], + ], + [ + [ + 'errorCode' => 'InvalidSlsProjectName.NotFound', + 'errorMessage' => 'The specified parameter SlsDeliveryConfig.ProjectName does not exist.', + ], + [ + 'errorCode' => 'InvalidSlsLogstoreName.NotFound', + 'errorMessage' => 'The specified parameter SlsDeliveryConfig.LogstoreName does not exist.', + ], + [ + 'errorCode' => 'InvalidOssBucketName.NotFound', + 'errorMessage' => 'The specified parameter OssDeliveryConfig.BucketName does not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => '修改云助手服务配置', + ], + 'DescribeCloudAssistantSettings' => [ + 'summary' => '查询云助手服务配置。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '213731', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SettingType', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待查询的服务配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => '待查询的服务配置类型。当前取值范围:'."\n" + .'- SessionManagerDelivery:会话操作记录投递。'."\n" + .'- InvocationDelivery:任务执行记录投递。'."\n" + .'- AgentUpgradeConfig:云助手Agent升级配置。'."\n" + .'- SessionManagerConfig: 云助手SessionManager配置。', + 'type' => 'string', + 'required' => false, + 'example' => 'SessionManagerDelivery', + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'OssDeliveryConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OssDeliveryConfig' => [ + 'description' => 'OSS投递配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'OSS投递配置信息。', + 'type' => 'object', + 'properties' => [ + 'EncryptionType' => [ + 'description' => 'OSS加密方式,可能值:'."\n" + .'- Inherit:继承 Bucket;'."\n" + .'- OssManaged:OSS 完全托管;'."\n" + .'- KMS:KMS加密。', + 'type' => 'string', + 'example' => 'Inherit', + ], + 'EncryptionAlgorithm' => [ + 'description' => 'OSS加密算法,可能值:'."\n" + .'- AES256'."\n" + .'- SM4', + 'type' => 'string', + 'example' => 'AES256', + ], + 'DeliveryType' => [ + 'description' => '投递类型,可能值:'."\n" + .'- SessionManager:会话操作记录。'."\n" + .'- Invocation:任务执行记录。', + 'type' => 'string', + 'example' => 'SessionManager', + ], + 'Enabled' => [ + 'description' => '是否开启投递到OSS功能。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'BucketName' => [ + 'description' => 'OSS存储空间名称。', + 'type' => 'string', + 'example' => 'example-bucket', + ], + 'Prefix' => [ + 'description' => 'OSS存储空间目录前缀。', + 'type' => 'string', + 'example' => 'sessionmanager/audit', + ], + 'EncryptionKeyId' => [ + 'description' => '加密方式为KMS时,用户的主密钥CMK ID。', + 'type' => 'string', + 'example' => 'a807****7a70e', + ], + ], + ], + ], + ], + ], + 'SlsDeliveryConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlsDeliveryConfig' => [ + 'description' => 'SLS投递配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'SLS投递配置信息。', + 'type' => 'object', + 'properties' => [ + 'DeliveryType' => [ + 'description' => '投递类型,可能值:'."\n" + .'- SessionManager:会话操作记录。'."\n" + .'- Invocation:任务执行记录。', + 'type' => 'string', + 'example' => 'SessionManager', + ], + 'LogstoreName' => [ + 'description' => 'SLS日志库名称。', + 'type' => 'string', + 'example' => 'example-logstore', + ], + 'Enabled' => [ + 'description' => '是否开启投递到SLS功能。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ProjectName' => [ + 'description' => 'SLS项目名称。', + 'type' => 'string', + 'example' => 'example-project', + ], + ], + ], + ], + ], + ], + 'AgentUpgradeConfig' => [ + 'description' => '云助手Agent升级配置。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '是否开启自定义Agent升级配置。如查询结果为false或空,默认保持每30分钟尝试升级一次。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AllowedUpgradeWindows' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AllowedUpgradeWindow' => [ + 'description' => '允许升级的时间段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '允许升级的时间段列表。', + 'type' => 'string', + 'example' => '['."\n" + .'"02:00-03:00",'."\n" + .'"05:00-06:00"'."\n" + .']', + ], + ], + ], + ], + 'TimeZone' => [ + 'description' => '允许升级时间段的时区。', + 'type' => 'string', + 'example' => 'Asia/Shanghai', + ], + ], + ], + 'SessionManagerConfig' => [ + 'description' => '云助手会话功能配置。', + 'type' => 'object', + 'properties' => [ + 'SessionManagerEnabled' => [ + 'description' => '云助手会话功能开关。取值范围:'."\n" + .'* true: 开启;'."\n" + .'* false: 关闭。'."\n" + ."\n" + .'注意事项:'."\n" + .'* 会话功能开启/关闭对全部地域生效。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SettingType', + 'errorMessage' => 'The specified parameter SettingType is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter RegionId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"OssDeliveryConfigs\\": {\\n \\"OssDeliveryConfig\\": [\\n {\\n \\"EncryptionType\\": \\"Inherit\\",\\n \\"EncryptionAlgorithm\\": \\"AES256\\",\\n \\"DeliveryType\\": \\"SessionManager\\",\\n \\"Enabled\\": false,\\n \\"BucketName\\": \\"example-bucket\\",\\n \\"Prefix\\": \\"sessionmanager/audit\\",\\n \\"EncryptionKeyId\\": \\"a807****7a70e\\"\\n }\\n ]\\n },\\n \\"SlsDeliveryConfigs\\": {\\n \\"SlsDeliveryConfig\\": [\\n {\\n \\"DeliveryType\\": \\"SessionManager\\",\\n \\"LogstoreName\\": \\"example-logstore\\",\\n \\"Enabled\\": false,\\n \\"ProjectName\\": \\"example-project\\"\\n }\\n ]\\n },\\n \\"AgentUpgradeConfig\\": {\\n \\"Enabled\\": true,\\n \\"AllowedUpgradeWindows\\": {\\n \\"AllowedUpgradeWindow\\": [\\n \\"[\\\\n\\\\\\"02:00-03:00\\\\\\",\\\\n\\\\\\"05:00-06:00\\\\\\"\\\\n]\\"\\n ]\\n },\\n \\"TimeZone\\": \\"Asia/Shanghai\\"\\n },\\n \\"SessionManagerConfig\\": {\\n \\"SessionManagerEnabled\\": true\\n }\\n}","type":"json"}]', + 'title' => '查询云助手服务配置', + ], + 'CreateActivation' => [ + 'summary' => '该接口用于创建一个激活码,该激活码用于将非阿里云服务器注册为阿里云托管实例。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29248', + 'abilityTreeNodes' => [ + 'FEATUREecsLJD94P', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '默认的实例名称前缀。支持2~50个字符,且必须以字母开头,不能以特殊字符及数字开头,只可包含特殊字符中的半角句号(.)、下划线(_)、短划线(-)和半角冒号(:),不可以使用`http://`或`https://`开头。'."\n" + ."\n" + .'使用该接口创建的激活码注册的实例,将使用该名称作为前缀,生成有序的实例名。您也可以在注册托管实例时,指定新的实例名称以覆盖此默认值。'."\n" + ."\n" + .'注册托管实例时,如果指定了InstanceName的值,则会生成名称`-001`,其中编号`001`数字的位数取决于`InstanceCount`数值的位数。如果未指定InstanceName的值,则会使用主机的主机名(Hostname)作为实例的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test-InstanceName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码对应的描述。支持1~100个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'This is description.', + ], + ], + [ + 'name' => 'InstanceCount', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码用于注册托管实例的使用次数上限。取值范围为1~1000。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'TimeToLiveInHours', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码的有效使用时间,过期后将不能用于注册新的实例。单位:小时。'."\n" + ."\n" + .'默认值为4小时。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'IpAddressRange', + 'in' => 'query', + 'schema' => [ + 'description' => '允许使用该激活码的主机IP。取值为对应的IPv4地址、IPv6地址或CIDR地址段。', + 'type' => 'string', + 'required' => false, + 'example' => '0.0.0.0/0', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-123******', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '托管实例激活码的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '托管实例激活码的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + 'ActivationCode' => [ + 'description' => '激活码的代码。该代码仅在调用接口时返回一次,后续无法被查询。因此,请您务必妥善保存返回值。', + 'type' => 'string', + 'example' => 'a-hz0ch3SwhOlE1234+Xo32lAZC****', + ], + 'ActivationId' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InstanceName.ExceedLimit', + 'errorMessage' => 'Default instance name prefix length exceeds.', + ], + [ + 'errorCode' => 'InstanceName.InvalidPattern', + 'errorMessage' => 'Default instance name prefix pattern invalid.', + ], + [ + 'errorCode' => 'ActivationDesc.ExceedLimit', + 'errorMessage' => 'Activation description length exceeds.', + ], + [ + 'errorCode' => 'ActivationLimitation.Invalid', + 'errorMessage' => 'The specified parameter InstanceCount exceeds the limit of %s.', + ], + [ + 'errorCode' => 'AddressRange.InvalidPattern', + 'errorMessage' => 'Address range should be ipv4 address or cidr.', + ], + [ + 'errorCode' => 'ActivationCount.ExceedLimit', + 'errorMessage' => 'The count of activation in current region exceeds the limit of %s.', + ], + [ + 'errorCode' => 'ActivationTTL.ExceedLimit', + 'errorMessage' => 'The specified parameter TimeToLiveInHours exceeds the limit of %s.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'InvalidStatus.ResourceGroup', + 'errorMessage' => 'You cannot perform an operation on a resource group that is being created or deleted.', + ], + [ + 'errorCode' => 'RealNameAuthenticationError', + 'errorMessage' => 'Your account has not passed the real-name authentication yet.', + ], + [ + 'errorCode' => 'ManagedInstanceCountExceedLimit', + 'errorMessage' => 'The count of managed instance in current region exceeds the limit of %s.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when dispatch the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F1234****\\",\\n \\"ActivationCode\\": \\"a-hz0ch3SwhOlE1234+Xo32lAZC****\\",\\n \\"ActivationId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F1234****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4ECEEE12-56F1-4FBC-9AB1-890F1234****\\n 4ECEEE12-56F1-4FBC-9AB1-890F1234****\\n a-hz0ch3SwhOlE1234+Xo32lAZC****\\n","errorExample":""}]', + 'title' => '创建一个激活码', + 'description' => '## 接口说明'."\n" + ."\n" + .'通过激活码将非阿里云服务器注册为阿里云托管实例后,您可以在托管实例中使用阿里云提供的多种在线服务(例如云助手、系统运维管理和云效等服务)。'."\n" + ."\n" + .'非阿里云服务器的操作系统需要符合以下版本,且服务器可以访问公网,才可以注册为阿里云托管实例。'."\n" + ."\n" + .'- Alibaba Cloud Linux 2/3及更高版本'."\n" + .'- CentOS 6/7/8及更高版本'."\n" + .'- Debian 8/9/10及更高版本'."\n" + .'- Ubuntu 12/14/16/18及更高版本'."\n" + .'- CoreOS'."\n" + .'- OpenSUSE'."\n" + .'- RedHat 5/6/7及更高版本'."\n" + .'- SUSE Linux Enterprise Server 11/12/15及更高版本'."\n" + .'- Window Server 2012/2016/2019及更高版本'."\n" + ."\n" + .'在一个阿里云地域下,您最多可以拥有5000条托管实例激活码。当激活码数量超过1000条时,需要激活码使用率大于50%才允许继续创建新的激活码。'."\n" + ."\n" + .'> 您可以在**ECS云助手**页面的**托管实例**页签下,单击**注册新实例**,获取激活码使用数据。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeActivations' => [ + 'summary' => '调用DescribeActivations查询已创建的激活码以及激活码的使用情况。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29271', + 'abilityTreeNodes' => [ + 'FEATUREecsLJD94P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ActivationId', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'required' => false, + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '默认的实例名称前缀。', + 'type' => 'string', + 'required' => false, + 'example' => 'test-InstanceName', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '当前页码。'."\n" + ."\n" + .'起始值为1。'."\n" + ."\n" + .'默认值为1。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-123******', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '托管实例激活码的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '托管实例激活码的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '分页查询时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F74625134', + ], + 'PageNumber' => [ + 'description' => '当前页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的记录条数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2****', + ], + 'ActivationList' => [ + 'description' => '激活码及使用情况信息组成的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2021-01-20T06:00:00Z', + ], + 'DeregisteredCount' => [ + 'description' => '已注销的实例数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InstanceCount' => [ + 'description' => '激活码用于注册托管实例的使用次数上限。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => '激活码对应的描述。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'RegisteredCount' => [ + 'description' => '已注册的实例数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InstanceName' => [ + 'description' => '默认的实例名称前缀。', + 'type' => 'string', + 'example' => 'test-InstanceName', + ], + 'Disabled' => [ + 'description' => '激活码是否被禁用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'IpAddressRange' => [ + 'description' => '允许使用该激活码的主机IP。', + 'type' => 'string', + 'example' => '0.0.0.0/0', + ], + 'TimeToLiveInHours' => [ + 'description' => '激活码的有效时间。单位:小时。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4', + ], + 'ActivationId' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + 'ResourceGroupId' => [ + 'description' => '激活码所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-123******', + ], + 'Tags' => [ + 'description' => '托管实例激活码的标签信息。', + 'type' => 'array', + 'items' => [ + 'description' => '托管实例激活码的标签信息。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '托管实例激活码的标签键。', + 'type' => 'string', + 'example' => 'owner', + ], + 'TagValue' => [ + 'description' => '托管实例激活码的标签值。', + 'type' => 'string', + 'example' => 'zhangsan', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F74625134\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"ActivationList\\": [\\n {\\n \\"CreationTime\\": \\"2021-01-20T06:00:00Z\\",\\n \\"DeregisteredCount\\": 1,\\n \\"InstanceCount\\": 1,\\n \\"Description\\": \\"This is description.\\",\\n \\"RegisteredCount\\": 1,\\n \\"InstanceName\\": \\"test-InstanceName\\",\\n \\"Disabled\\": false,\\n \\"IpAddressRange\\": \\"0.0.0.0/0\\",\\n \\"TimeToLiveInHours\\": 4,\\n \\"ActivationId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F1234****\\",\\n \\"ResourceGroupId\\": \\"rg-123******\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"owner\\",\\n \\"TagValue\\": \\"zhangsan\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 10\\n 4ECEEE12-56F1-4FBC-9AB1-890F74942176\\n 1\\n \\n test-InstanceName\\n 1\\n 1\\n This is description.\\n 2021-01-20T06:00:00Z\\n 4ECEEE12-56F1-4FBC-9AB1-890F1234****\\n 1\\n 4\\n false\\n 0.0.0.0/0\\n \\n","errorExample":""}]', + 'title' => '查询激活码的使用情况', + 'description' => '## 接口说明'."\n" + ."\n" + .'支持以下两种方式查看返回数据:'."\n" + .'- 方式一:分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。'."\n" + .'- 方式二:通过`PageSize`设置单页返回的条目数,再通过`PageNumber`设置页码。以上两种方式只能任选其中之一。如果设置了`MaxResults`或`NextToken`参数,则请求参数`PageSize`和`PageNumber`将失效,且返回数据中的`TotalCount`无效。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DisableActivation' => [ + 'summary' => '调用DisableActivation手动禁用指定的激活码。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29296', + 'abilityTreeNodes' => [ + 'FEATUREecsLJD94P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ActivationId', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'required' => true, + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F74942176', + ], + 'Activation' => [ + 'description' => '激活码及使用情况信息组成的集合。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2021-01-20T06:00:00Z', + ], + 'DeregisteredCount' => [ + 'description' => '已注销的实例数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InstanceCount' => [ + 'description' => '激活码用于注册托管实例的使用次数上限。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => '激活码对应的描述。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'RegisteredCount' => [ + 'description' => '已注册的实例数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'InstanceName' => [ + 'description' => '默认的实例名称前缀。', + 'type' => 'string', + 'example' => 'test-InstanceName', + ], + 'Disabled' => [ + 'description' => '激活码是否被禁用。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'IpAddressRange' => [ + 'description' => '允许使用该激活码的主机IP。', + 'type' => 'string', + 'example' => '0.0.0.0/0', + ], + 'TimeToLiveInHours' => [ + 'description' => '激活码的有效时间。单位:小时。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4', + ], + 'ActivationId' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'ActivationId.NotFound', + 'errorMessage' => 'The specified activation id does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F74942176\\",\\n \\"Activation\\": {\\n \\"CreationTime\\": \\"2021-01-20T06:00:00Z\\",\\n \\"DeregisteredCount\\": 1,\\n \\"InstanceCount\\": 1,\\n \\"Description\\": \\"This is description.\\",\\n \\"RegisteredCount\\": 1,\\n \\"InstanceName\\": \\"test-InstanceName\\",\\n \\"Disabled\\": false,\\n \\"IpAddressRange\\": \\"0.0.0.0/0\\",\\n \\"TimeToLiveInHours\\": 4,\\n \\"ActivationId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F1234****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 4ECEEE12-56F1-4FBC-9AB1-890F74942176\\n \\n test-InstanceName\\n 1\\n 1\\n This is description.\\n 2021-01-20T06:00:00Z\\n 4ECEEE12-56F1-4FBC-9AB1-890F1234****\\n 1\\n 4\\n false\\n 0.0.0.0/0\\n \\n","errorExample":""}]', + 'title' => '手动禁用指定的激活码', + 'description' => '## 接口说明'."\n" + ."\n" + .'如果您担心已创建的激活码存在泄露的风险,可以通过该接口禁用激活码。禁用后无法再通过该激活码注册新的托管实例,但不会影响已经注册的托管实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteActivation' => [ + 'summary' => '调用DeleteActivation删除一个未被使用的激活码。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29262', + 'abilityTreeNodes' => [ + 'FEATUREecsLJD94P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ActivationId', + 'in' => 'query', + 'schema' => [ + 'description' => '未被使用的激活码ID。', + 'type' => 'string', + 'required' => true, + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F74942176', + ], + 'Activation' => [ + 'description' => '激活码及使用情况信息组成的集合。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2021-01-20T06:00:00Z', + ], + 'DeregisteredCount' => [ + 'description' => '已注销的实例数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'InstanceCount' => [ + 'description' => '激活码用于注册托管实例的使用次数上限。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => '激活码对应的描述。', + 'type' => 'string', + 'example' => 'This is description.', + ], + 'RegisteredCount' => [ + 'description' => '已注册的实例数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'InstanceName' => [ + 'description' => '默认的实例名称前缀。', + 'type' => 'string', + 'example' => 'test-InstanceName', + ], + 'IpAddressRange' => [ + 'description' => '允许使用该激活码的主机IP。', + 'type' => 'string', + 'example' => '0.0.0.0/0', + ], + 'TimeToLiveInHours' => [ + 'description' => '激活码的有效时间。单位:小时。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4', + ], + 'ActivationId' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F1234****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ActivationId.InUse', + 'errorMessage' => 'The specified activation id is in use.', + ], + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'ActivationId.NotFound', + 'errorMessage' => 'The specified activation id does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F74942176\\",\\n \\"Activation\\": {\\n \\"CreationTime\\": \\"2021-01-20T06:00:00Z\\",\\n \\"DeregisteredCount\\": 0,\\n \\"InstanceCount\\": 1,\\n \\"Description\\": \\"This is description.\\",\\n \\"RegisteredCount\\": 0,\\n \\"InstanceName\\": \\"test-InstanceName\\",\\n \\"IpAddressRange\\": \\"0.0.0.0/0\\",\\n \\"TimeToLiveInHours\\": 4,\\n \\"ActivationId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F1234****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 4ECEEE12-56F1-4FBC-9AB1-890F74942176\\n \\n test-InstanceName\\n 0\\n 1\\n This is description.\\n 2021-01-20T06:00:00Z\\n 4ECEEE12-56F1-4FBC-9AB1-890F1234****\\n 0\\n 4\\n 0.0.0.0/0\\n \\n","errorExample":""}]', + 'title' => '删除一个未被使用的激活码', + 'description' => '## 接口说明'."\n" + ."\n" + .'激活码必须未被使用,即激活码对应注册的托管实例数量为0。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeManagedInstances' => [ + 'summary' => '调用DescribeManagedInstances查询托管实例列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29284', + 'abilityTreeNodes' => [ + 'FEATUREecsLJD94P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'OsType', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例的操作系统类型,取值范围:'."\n" + ."\n" + .'- windows。'."\n" + .'- linux。'."\n" + .'- FreeBSD。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'windows', + ], + ], + [ + 'name' => 'InstanceIp', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例的内网IP或公网IP。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.**.**', + ], + ], + [ + 'name' => 'ActivationId', + 'in' => 'query', + 'schema' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'required' => false, + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F7494****', + ], + ], + [ + 'name' => 'MachineId', + 'in' => 'query', + 'schema' => [ + 'description' => '在注册托管实例时,所指定的MachineId参数的值,最多允许36字符。'."\n" + .'注册脚本示例:'."\n" + .'```'."\n" + .'aliyun-service --register \\'."\n" + .' --RegionId=cn-hangznou \\'."\n" + .' --ActivationId=xxxxxxxxxxx \\'."\n" + .' --ActivationCode=xxxxxxxxx \\'."\n" + .' --MachineId=xxxxxx \\ # 可选参数,表示此机器的唯一标识'."\n" + .' --ForceResue '."\n" + .'```'."\n" + ."\n" + .'- 若在注册时指定了MachineId与ForceResult参数,则云助手将为此MachineId生成固定不变的托管实例ID。'."\n" + .'- 若未显式指定MachineId参数,云助手将根据机器的硬件信息自动生成MachineId值。'."\n" + .'- 推荐:显式指定参数MachineId与ForceResult,用于标记托管实例与线下机器的对应关系。', + 'type' => 'string', + 'required' => false, + 'example' => 'GOG4X8312A0188', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'my-webapp-server', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '托管实例的ID。N的取值范围为1~50。', + 'type' => 'array', + 'items' => [ + 'description' => '托管实例的ID。N的取值范围为1~50。', + 'type' => 'string', + 'required' => false, + 'example' => 'mi-hz018jrc1o0****', + ], + 'required' => false, + 'example' => 'mi-hz018jrc1o0****', + 'maxItems' => 50, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '托管实例的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '托管实例的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-123******', + ], + ], + [ + 'name' => 'Connected', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例是否已连接。'."\n" + ."\n" + .'true:托管实例已连接,您可以通过云助手管理托管实例。'."\n" + ."\n" + .'false:托管实例未连接,服务器可能停机或者云助手Agent未正确安装。', + 'type' => 'string', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '77115469-F2C5-4ECA-94F7-FA04F2FD****', + ], + 'PageNumber' => [ + 'description' => '托管实例列表的页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询到的托管实例总数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Instances' => [ + 'description' => '托管实例列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LastInvokedTime' => [ + 'description' => '最后一次执行云助手任务的时间。', + 'type' => 'string', + 'example' => '2021-01-20T09:00:40Z', + ], + 'Connected' => [ + 'description' => '托管实例是否已连接。'."\n" + ."\n" + .'- true:托管实例已连接,您可以通过云助手管理托管实例。'."\n" + ."\n" + .'- false:托管实例未连接,服务器可能停机或者云助手Agent未正确安装。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'InternetIp' => [ + 'description' => '托管实例的公网IP。', + 'type' => 'string', + 'example' => '40.65.**.**', + ], + 'Hostname' => [ + 'description' => '托管实例主机名。', + 'type' => 'string', + 'example' => 'demo', + ], + 'InstanceId' => [ + 'description' => '托管实例ID。', + 'type' => 'string', + 'example' => 'mi-hz018jrc1o0****', + ], + 'ActivationId' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'example' => '3704F543-F768-43FA-9864-897F75B3****', + ], + 'IntranetIp' => [ + 'description' => '托管实例的内网IP。', + 'type' => 'string', + 'example' => '10.0.**.**', + ], + 'AgentVersion' => [ + 'description' => '云助手Agent的版本号。', + 'type' => 'string', + 'example' => '2.2.0.102', + ], + 'RegistrationTime' => [ + 'description' => '托管实例的注册时间。', + 'type' => 'string', + 'example' => '2021-01-20T08:57:56Z', + ], + 'InstanceName' => [ + 'description' => '托管实例名称。', + 'type' => 'string', + 'example' => 'webAPP-linux-01', + ], + 'OsType' => [ + 'description' => '托管实例的操作系统。', + 'type' => 'string', + 'example' => 'Linux', + ], + 'OsVersion' => [ + 'description' => '操作系统的版本信息。', + 'type' => 'string', + 'example' => 'Linux_#38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021_x86_64', + ], + 'InvocationCount' => [ + 'description' => '托管实例执行云助手任务的次数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'MachineId' => [ + 'description' => '托管实例的机器码。', + 'type' => 'string', + 'example' => 'e03231b37ab14e53b5795ad625fc****', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '托管实例的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用[ListTagResources](~~110425~~)接口进行查询。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagValue' => [ + 'description' => '托管实例的标签值。N的取值范围为1~20。该值可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => '托管实例所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-123******', + ], + ], + ], + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter number is exceed.', + ], + [ + 'errorCode' => 'MissingParameter.TagKey', + 'errorMessage' => 'You must specify Tag.N.Key.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"77115469-F2C5-4ECA-94F7-FA04F2FD****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Instances\\": [\\n {\\n \\"LastInvokedTime\\": \\"2021-01-20T09:00:40Z\\",\\n \\"Connected\\": true,\\n \\"InternetIp\\": \\"40.65.**.**\\",\\n \\"Hostname\\": \\"demo\\",\\n \\"InstanceId\\": \\"mi-hz018jrc1o0****\\",\\n \\"ActivationId\\": \\"3704F543-F768-43FA-9864-897F75B3****\\",\\n \\"IntranetIp\\": \\"10.0.**.**\\",\\n \\"AgentVersion\\": \\"2.2.0.102\\",\\n \\"RegistrationTime\\": \\"2021-01-20T08:57:56Z\\",\\n \\"InstanceName\\": \\"webAPP-linux-01\\",\\n \\"OsType\\": \\"Linux\\",\\n \\"OsVersion\\": \\"Linux_#38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021_x86_64\\",\\n \\"InvocationCount\\": 1,\\n \\"MachineId\\": \\"e03231b37ab14e53b5795ad625fc****\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-123******\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAdDWBF2\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\n e03231b37ab14e53b5795ad625fc****\\n mi-hz018jrc1o0****\\n 2.2.0.102\\n true\\n 1\\n Linux_#38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021_x86_64\\n 3704F543-F768-43FA-9864-897F75B3****\\n demo\\n 2021-01-20T08:57:56Z\\n 10.0.**.**\\n webAPP-linux-01\\n 40.65.**.**\\n Linux\\n 2021-01-20T09:00:40Z\\n\\n1\\n77115469-F2C5-4ECA-94F7-FA04F2FDC8F4\\n10\\n1\\n","errorExample":""}]', + 'title' => '获取托管实例', + 'description' => '分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyManagedInstance' => [ + 'summary' => '调用ModifyManagedInstance修改一台托管实例的相关信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29305', + 'abilityTreeNodes' => [ + 'FEATUREecsLJD94P', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => '托管实例', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'mi-hz01nmcf****', + ], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例的名称。支持2~128个字符,且必须以字母开头,不能以特殊字符及数字开头。只可包含特殊字符中的半角句号(.)、下划线(_)、短划线(-)和半角冒号(:),不可以使用`http://`或`https://`开头。', + 'type' => 'string', + 'required' => true, + 'example' => 'testInstanceName', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'Instance' => [ + 'description' => '托管实例信息组成的集合。', + 'type' => 'object', + 'properties' => [ + 'InstanceName' => [ + 'description' => '托管实例的名称。', + 'type' => 'string', + 'example' => 'testInstanceName', + ], + 'InstanceId' => [ + 'description' => '托管实例的ID。', + 'type' => 'string', + 'example' => 'mi-hz01nmcf****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InstanceName.ExceedLimit', + 'errorMessage' => 'The specified instance name exceed limit.', + ], + [ + 'errorCode' => 'InstanceName.InvalidPattern', + 'errorMessage' => 'The specified instance name pattern invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instances id does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Instance\\": {\\n \\"InstanceName\\": \\"testInstanceName\\",\\n \\"InstanceId\\": \\"mi-hz01nmcf****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 874C6289-9D18-5E1A-8A68-8AC11E6E57B3\\n \\n testInstanceName\\n mi-hz01nmcf****\\n \\n","errorExample":""}]', + 'title' => '修改托管实例', + 'description' => '## 接口说明'."\n" + ."\n" + .'目前调用ModifyManagedInstance接口仅支持修改一台托管实例的名称。', + ], + 'DeregisterManagedInstance' => [ + 'summary' => '调用DeregisterManagedInstance注销一个托管实例。注销后您将无法再使用云助手向实例发送命令或文件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29270', + 'abilityTreeNodes' => [ + 'FEATUREecsLJD94P', + ], + 'autoTest' => false, + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。目前支持的地域:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、新加坡、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)查看地域对应的ID等信息。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '托管实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'mi-hz01axdfas****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F74942176', + ], + 'Instance' => [ + 'description' => '托管实例的信息组成的集合。', + 'type' => 'object', + 'properties' => [ + 'LastInvokedTime' => [ + 'description' => '最后一次执行云助手任务的时间。', + 'type' => 'string', + 'example' => '2021-01-20T09:00:40Z', + ], + 'InternetIp' => [ + 'description' => '托管实例的公网IP。', + 'type' => 'string', + 'example' => '47.8.**.**', + ], + 'Hostname' => [ + 'description' => '托管实例主机名。', + 'type' => 'string', + 'example' => 'test-Hostname', + ], + 'InstanceId' => [ + 'description' => '托管实例ID。', + 'type' => 'string', + 'example' => 'mi-hz01axdfas****', + ], + 'ActivationId' => [ + 'description' => '激活码ID。', + 'type' => 'string', + 'example' => '4ECEEE12-56F1-4FBC-9AB1-890F7494****', + ], + 'IntranetIp' => [ + 'description' => '托管实例的内网IP。', + 'type' => 'string', + 'example' => '10.0.**.**', + ], + 'AgentVersion' => [ + 'description' => '云助手Agent的版本号。', + 'type' => 'string', + 'example' => '2.2.0.102', + ], + 'RegistrationTime' => [ + 'description' => '托管实例的注册时间。', + 'type' => 'string', + 'example' => '2021-01-20T08:57:56Z', + ], + 'InstanceName' => [ + 'description' => '托管实例名称。', + 'type' => 'string', + 'example' => 'test-InstanceName-001', + ], + 'OsType' => [ + 'description' => '托管实例的操作系统。', + 'type' => 'string', + 'example' => 'linux', + ], + 'OsVersion' => [ + 'description' => '操作系统的版本信息。', + 'type' => 'string', + 'example' => 'Linux_#38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021_x86_64', + ], + 'InvocationCount' => [ + 'description' => '托管实例执行云助手任务的次数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'MachineId' => [ + 'description' => '托管实例的机器码。', + 'type' => 'string', + 'example' => 'e03231b37ab14e53b5795ad625fc****', + ], + 'ResourceGroupId' => [ + 'description' => '托管实例所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-123******', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidClientToken.Malformed', + 'errorMessage' => 'The specified parameter clientToken is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Operation.Forbidden', + 'errorMessage' => 'The operation is not permitted.', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The specified parameter has changed while using an already used clientToken.', + ], + [ + 'errorCode' => 'IdempotentProcessing', + 'errorMessage' => 'The previous idempotent request(s) is still processing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instance id does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F74942176\\",\\n \\"Instance\\": {\\n \\"LastInvokedTime\\": \\"2021-01-20T09:00:40Z\\",\\n \\"InternetIp\\": \\"47.8.**.**\\",\\n \\"Hostname\\": \\"test-Hostname\\",\\n \\"InstanceId\\": \\"mi-hz01axdfas****\\",\\n \\"ActivationId\\": \\"4ECEEE12-56F1-4FBC-9AB1-890F7494****\\",\\n \\"IntranetIp\\": \\"10.0.**.**\\",\\n \\"AgentVersion\\": \\"2.2.0.102\\",\\n \\"RegistrationTime\\": \\"2021-01-20T08:57:56Z\\",\\n \\"InstanceName\\": \\"test-InstanceName-001\\",\\n \\"OsType\\": \\"linux\\",\\n \\"OsVersion\\": \\"Linux_#38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021_x86_64\\",\\n \\"InvocationCount\\": 2,\\n \\"MachineId\\": \\"e03231b37ab14e53b5795ad625fc****\\",\\n \\"ResourceGroupId\\": \\"rg-123******\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 4ECEEE12-56F1-4FBC-9AB1-890F74942176\\n \\n e03231b37ab14e53b5795ad625fc****\\n 2.2.0.102\\n mi-hz01axdfas****\\n 2\\n Linux_#38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021_x86_64\\n test-Hostname\\n 4ECEEE12-56F1-4FBC-9AB1-890F7494****\\n 2021-01-20T08:57:56Z\\n 10.0.**.**\\n test-InstanceName-001\\n 47.8.**.**\\n linux\\n 2021-01-20T09:00:40Z\\n \\n","errorExample":""}]', + 'title' => '注销托管实例', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListPluginStatus' => [ + 'summary' => '调用ListPluginStatus查询实例中云助手插件的状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '150044', + 'abilityTreeNodes' => [ + 'FEATUREecsXZ3H4M', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID,单次请求最多支持50台实例,N的取值范围为1~50。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID,单次请求最多支持50台实例,N的取值范围为1~50。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1iudwa5b1tqa****', + ], + 'required' => false, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => '插件名称,支持全字符集。长度不得超过255个字符。'."\n" + ."\n" + .'- 若不指定该参数,会查询实例中已安装插件的状态。'."\n" + ."\n" + .' > 若不指定该参数,只能指定一个实例ID。'."\n" + ."\n" + .'- 若指定该参数,会查询出实例中指定插件的状态。', + 'type' => 'string', + 'required' => false, + 'example' => 'testPluginName', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。'."\n" + ."\n" + .'最大值为50。'."\n" + ."\n" + .'默认值为10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页行数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PageNumber' => [ + 'description' => '查询结果的页码。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '符合查询条件的记录条数。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'InstancePluginStatusSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstancePluginStatus' => [ + 'description' => '实例插件状态列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例插件状态列表。', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-xxxxx', + ], + 'PluginStatusSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PluginStatus' => [ + 'description' => '插件状态列表。', + 'type' => 'array', + 'items' => [ + 'description' => '插件状态列表。', + 'type' => 'object', + 'properties' => [ + 'PluginStatus' => [ + 'description' => '插件状态。取值范围:'."\n" + ."\n" + .'- NotInstalled:插件未安装。'."\n" + .'- Installed:一次性插件已安装。'."\n" + .'- Running:常驻插件运行中。'."\n" + .'- Stopped:常驻插件未运行。'."\n" + .'- Crashed:插件状态异常。'."\n" + .'- Removed:插件已卸载。'."\n" + .'- UnKnown:状态未知。', + 'type' => 'string', + 'example' => 'Running', + ], + 'PluginVersion' => [ + 'description' => '插件版本号。', + 'type' => 'string', + 'example' => '1.1', + ], + 'PluginName' => [ + 'description' => '插件名称。', + 'type' => 'string', + 'example' => 'testName', + ], + 'FirstHeartbeatTime' => [ + 'description' => '云助手第一次上报插件状态的时间。', + 'type' => 'string', + 'example' => '2020-01-19T09:15:46Z', + ], + 'LastHeartbeatTime' => [ + 'description' => '云助手最近一次上报插件状态的时间。', + 'type' => 'string', + 'example' => '2020-01-19T09:15:46Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RegionId.ApiNotSupported', + 'errorMessage' => 'The api is not supported in this region.', + ], + [ + 'errorCode' => 'InvalidParam.PageNumber', + 'errorMessage' => 'The specified parameter PageNumber is invalid.', + ], + [ + 'errorCode' => 'InvalidParam.PageSize', + 'errorMessage' => 'The specified parameter PageSize is invalid.', + ], + [ + 'errorCode' => 'PluginName.MissingValue', + 'errorMessage' => 'The plugin name must be specified when the number of InstanceIds is not 1.', + ], + [ + 'errorCode' => 'InstanceIds.ExceedLimit', + 'errorMessage' => 'The number of instance IDs exceeds the upper limit.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The specified parameter NextToken is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The specified parameter MaxResults is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstance.NotFound', + 'errorMessage' => 'The specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidPluginName.NotFound', + 'errorMessage' => 'The specified plugin name does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError.Dispatch', + 'errorMessage' => 'An error occurred when you dispatched the request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"InstancePluginStatusSet\\": {\\n \\"InstancePluginStatus\\": [\\n {\\n \\"InstanceId\\": \\"i-xxxxx\\",\\n \\"PluginStatusSet\\": {\\n \\"PluginStatus\\": [\\n {\\n \\"PluginStatus\\": \\"Running\\",\\n \\"PluginVersion\\": \\"1.1\\",\\n \\"PluginName\\": \\"testName\\",\\n \\"FirstHeartbeatTime\\": \\"2020-01-19T09:15:46Z\\",\\n \\"LastHeartbeatTime\\": \\"2020-01-19T09:15:46Z\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n 1\\n \\n \\n i-xxxxx\\n \\n \\n testName\\n 1.1\\n Running\\n 2020-01-19T09:15:46Z\\n 2020-01-19T09:15:46Z\\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询实例中云助手插件的状态', + 'description' => '- 实例的云助手Agent版本不低于以下版本,才可以查询到实例内云助手插件状态:'."\n" + .' - Linux:2.2.3.344。'."\n" + .' - Windows:2.1.3.344。'."\n" + .'- 分页查询首页时,仅需设置`MaxResults`以限制返回信息的条目数,返回结果中的`NextToken`将作为查询后续页的凭证。查询后续页时,将`NextToken`参数设置为上一次返回结果中获取到的`NextToken`作为查询凭证,并设置`MaxResults`限制返回条目数。', + ], + 'DescribeInstancesFullStatus' => [ + 'summary' => '调用DescribeInstancesFullStatus查询一台或多台ECS实例的全状态信息。全状态信息包括实例状态和实例系统事件状态,其中,实例状态为实例的生命周期状态,实例系统事件为维护事件的健康状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29281', + 'abilityTreeNodes' => [ + 'FEATUREecsYLNQGM', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '指定实例的生命周期状态。取值范围: '."\n" + .'- Starting:启动中。'."\n" + .'- Running:运行中。'."\n" + .'- Stopped:已停止。', + 'type' => 'string', + 'required' => false, + 'example' => 'Running', + ], + ], + [ + 'name' => 'HealthStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '指定实例的健康状态。取值范围: '."\n" + ."\n" + .'- Impaired:服务损坏。 '."\n" + .'- Warning:警告,实例性能可能因维护而降低。'."\n" + .'- Maintaining:维护中。'."\n" + .'- Initializing:初始化中。 '."\n" + .'- InsufficientData:数据不足。 '."\n" + .'- NotApplicable:不适用。'."\n" + ."\n" + .'以上参数取值均区分大小写。', + 'type' => 'string', + 'required' => false, + 'example' => 'Initializing', + ], + ], + [ + 'name' => 'EventType', + 'in' => 'query', + 'schema' => [ + 'description' => '一个事件的类型。EventType参数只在未指定InstanceEventType.N参数时有效。取值范围: '."\n" + ."\n" + .'- SystemMaintenance.Reboot:因系统维护实例重启。 '."\n" + .'- SystemFailure.Reboot:因系统错误实例重启。'."\n" + .'- InstanceFailure.Reboot:因实例错误实例重启。'."\n" + .'- InstanceExpiration.Stop:因包年包月期限到期,实例停止。'."\n" + .'- InstanceExpiration.Delete:因包年包月期限到期,实例释放。'."\n" + .'- AccountUnbalanced.Stop:因账号欠费,按量付费实例停止。'."\n" + .'- AccountUnbalanced.Delete:因账号欠费,按量付费实例释放。', + 'type' => 'string', + 'required' => false, + 'example' => 'InstanceExpiration.Stop', + ], + ], + [ + 'name' => 'NotBefore.Start', + 'in' => 'query', + 'schema' => [ + 'description' => '查询事件计划执行时间的开始时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-07T00:00:00Z', + ], + ], + [ + 'name' => 'NotBefore.End', + 'in' => 'query', + 'schema' => [ + 'description' => '查询事件计划执行时间的结束时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-11-30T00:00:00Z', + ], + ], + [ + 'name' => 'EventPublishTime.Start', + 'in' => 'query', + 'schema' => [ + 'description' => '查询事件发布时间的开始时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-11-30T00:00:00Z', + ], + ], + [ + 'name' => 'EventPublishTime.End', + 'in' => 'query', + 'schema' => [ + 'description' => '查询事件发布时间的结束时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-07T00:00:00Z', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果的页码。取值范围:正整数'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果的分页大小。取值范围:1~100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID列表。可输入最大100个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'EventId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '事件ID列表。可输入最多100个事件ID。', + 'type' => 'array', + 'items' => [ + 'description' => '事件ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'e-bp1hygp5b04o56l0****', + ], + 'required' => false, + 'example' => 'e-bp1hygp5b04o56l0****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'InstanceEventType', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例事件的类型列表。可输入最大30个实例事件的类型。', + 'type' => 'array', + 'items' => [ + 'description' => '实例系统事件的类型。取值范围:'."\n" + ."\n" + .'- SystemMaintenance.Reboot:因系统维护实例重启。'."\n" + .'- SystemMaintenance.Redeploy:因系统维护实例重新部署。'."\n" + .'- SystemFailure.Reboot:因系统错误实例重启。'."\n" + .'- SystemFailure.Redeploy:因系统错误实例重新部署。'."\n" + .'- SystemFailure.Delete:因实例创建失败实例释放。'."\n" + .'- InstanceFailure.Reboot:因实例错误实例重启。'."\n" + .'- InstanceExpiration.Stop:因包年包月期限到期,实例停止。'."\n" + .'- InstanceExpiration.Delete:因包年包月期限到期,实例释放。'."\n" + .'- AccountUnbalanced.Stop:因账号欠费,按量付费实例停止。'."\n" + .'- AccountUnbalanced.Delete:因账号欠费,按量付费实例释放。'."\n" + ."\n" + .'> 事件类型说明请参见[系统事件概述](~~66574~~)。该参数的取值只能是实例系统事件,不能是磁盘系统事件。', + 'type' => 'string', + 'required' => false, + 'example' => 'SystemMaintenance.Reboot', + ], + 'required' => false, + 'example' => 'InstanceExpiration.Stop', + 'maxItems' => 30, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页大小。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '总条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'InstanceFullStatusSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceFullStatusType' => [ + 'description' => '实例全状态数组。'."\n" + ."\n" + .'> 当实例不存在时该数据为空。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'ScheduledSystemEventSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScheduledSystemEventType' => [ + 'description' => '当前状态为Scheduled或Inquiring的系统事件数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EventPublishTime' => [ + 'description' => '事件的发布时间,使用UTC+0时间。', + 'type' => 'string', + 'example' => '2017-11-30T06:32:31Z', + ], + 'EventId' => [ + 'description' => '实例事件ID。', + 'type' => 'string', + 'example' => 'e-bp1hygp5b04o56l0****', + ], + 'NotBefore' => [ + 'description' => '事件的计划执行时间,使用UTC+0时间。', + 'type' => 'string', + 'example' => '2017-12-07T00:00:00Z', + ], + 'ImpactLevel' => [ + 'description' => '影响级别。'."\n" + ."\n" + .'> 不在白名单的用户,该参数为空。', + 'type' => 'string', + 'example' => '100', + ], + 'Reason' => [ + 'description' => '系统事件的计划原因。'."\n" + ."\n" + .'> 当阿里云没有判断出异常原因时,该参数为空。', + 'type' => 'string', + 'example' => 'A simulated event.', + ], + 'EventCycleStatus' => [ + 'description' => '事件状态。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '事件状态名称。', + 'type' => 'string', + 'example' => 'Scheduled', + ], + 'Code' => [ + 'description' => '事件状态代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '24', + ], + ], + ], + 'EventType' => [ + 'description' => '事件类型。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '事件类型名称。', + 'type' => 'string', + 'example' => 'SystemMaintenance.Reboot', + ], + 'Code' => [ + 'description' => '事件类型代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + 'ExtendedAttribute' => [ + 'description' => '本地盘实例系统事件拓展属性。'."\n" + ."\n" + .'不同事件类型,返回值有所不同。'."\n" + ."\n" + .'当事件类型不在以下列表中时,该数据为空。'."\n" + ."\n" + .'- SystemMaintenance.StopAndRepair'."\n" + .'- SystemMaintenance.CleanInactiveDisks'."\n" + .'- SecurityPunish.Locked'."\n" + .'- SecurityPunish.WebsiteBanned'."\n" + .'- SystemUpgrade.Migrate'."\n" + .'- SystemMaintenance.RebootAndIsolateErrorDisk'."\n" + .'- SystemMaintenance.RebootAndReInitErrorDisk'."\n" + .'- SystemMaintenance.ReInitErrorDisk'."\n" + .'- SystemMaintenance.IsolateErrorDisk'."\n", + 'type' => 'object', + 'properties' => [ + 'Device' => [ + 'description' => '本地盘设备名。', + 'type' => 'string', + 'example' => '/dev/vdb', + ], + 'DiskId' => [ + 'description' => '本地盘磁盘ID。', + 'type' => 'string', + 'example' => 'd-bp67acfmxazb4p****', + ], + 'InactiveDisks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InactiveDisk' => [ + 'description' => '已释放但需要清理的非活跃云盘或本地盘信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '云盘或本地盘的创建时间。按照[ISO 8601](~~25696~~)标准表示,使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2018-07-27T13:53:25Z', + ], + 'DeviceSize' => [ + 'description' => '云盘或本地盘大小,单位GiB。', + 'type' => 'string', + 'example' => '80', + ], + 'DeviceCategory' => [ + 'description' => '云盘或本地盘种类。可能值:'."\n" + .'- cloud:普通云盘'."\n" + .'- cloud_efficiency:高效云盘'."\n" + .'- cloud_ssd:SSD盘'."\n" + .'- cloud_essd:ESSD云盘'."\n" + .'- local_ssd_pro:I/O密集型本地盘'."\n" + .'- local_hdd_pro:吞吐密集型本地盘'."\n" + .'- ephemeral:(已停售)本地盘'."\n" + .'- ephemeral_ssd:(已停售)本地SSD盘', + 'type' => 'string', + 'example' => 'cloud_ssd', + ], + 'DeviceType' => [ + 'description' => '云盘或本地盘类型。可能值:'."\n" + .'- system:系统盘'."\n" + .'- data:数据盘', + 'type' => 'string', + 'example' => 'system', + ], + 'ReleaseTime' => [ + 'description' => '云盘或本地盘的释放时间。按照[ISO 8601](~~25696~~)标准表示,使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2019-07-27T13:53:25Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'Status' => [ + 'description' => '实例生命周期状态。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '实例生命周期状态名称。', + 'type' => 'string', + 'example' => 'Running', + ], + 'Code' => [ + 'description' => '实例生命周期状态代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + 'HealthStatus' => [ + 'description' => '实例的健康状态。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '健康状态名称。', + 'type' => 'string', + 'example' => 'Warning', + ], + 'Code' => [ + 'description' => '健康状态代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '64', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.TimeEndBeforeStart', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NotInWhiteList', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceIdLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EventIdLimitExceeded', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"InstanceFullStatusSet\\": {\\n \\"InstanceFullStatusType\\": [\\n {\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"ScheduledSystemEventSet\\": {\\n \\"ScheduledSystemEventType\\": [\\n {\\n \\"EventPublishTime\\": \\"2017-11-30T06:32:31Z\\",\\n \\"EventId\\": \\"e-bp1hygp5b04o56l0****\\",\\n \\"NotBefore\\": \\"2017-12-07T00:00:00Z\\",\\n \\"ImpactLevel\\": \\"100\\",\\n \\"Reason\\": \\"A simulated event.\\",\\n \\"EventCycleStatus\\": {\\n \\"Name\\": \\"Scheduled\\",\\n \\"Code\\": 24\\n },\\n \\"EventType\\": {\\n \\"Name\\": \\"SystemMaintenance.Reboot\\",\\n \\"Code\\": 1\\n },\\n \\"ExtendedAttribute\\": {\\n \\"Device\\": \\"/dev/vdb\\",\\n \\"DiskId\\": \\"d-bp67acfmxazb4p****\\",\\n \\"InactiveDisks\\": {\\n \\"InactiveDisk\\": [\\n {\\n \\"CreationTime\\": \\"2018-07-27T13:53:25Z\\",\\n \\"DeviceSize\\": \\"80\\",\\n \\"DeviceCategory\\": \\"cloud_ssd\\",\\n \\"DeviceType\\": \\"system\\",\\n \\"ReleaseTime\\": \\"2019-07-27T13:53:25Z\\"\\n }\\n ]\\n }\\n }\\n }\\n ]\\n },\\n \\"Status\\": {\\n \\"Name\\": \\"Running\\",\\n \\"Code\\": 1\\n },\\n \\"HealthStatus\\": {\\n \\"Name\\": \\"Warning\\",\\n \\"Code\\": 64\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"InstanceFullStatusSet\\": {\\n \\"InstanceFullStatusType\\": [\\n {\\n \\"InstanceId\\": \\"i-instance1\\",\\n \\"Status\\": {\\n \\"Code\\": 1,\\n \\"Name\\": \\"Running\\"\\n },\\n \\"HealthStatus\\": {\\n \\"Code\\": 0,\\n \\"Name\\": \\"Maintaining\\"\\n },\\n \\"ScheduledSystemEventSet\\": {\\n \\"ScheduledSystemEventType\\": [\\n {\\n \\"EventId\\": \\"e-event1\\",\\n \\"EventCycleStatus\\": {\\n \\"Code\\": 24,\\n \\"Name\\": \\"Scheduled\\"\\n },\\n \\"EventType\\": {\\n \\"Code\\": 1,\\n \\"Name\\": \\"SystemMaintenance.Reboot\\"\\n },\\n \\"EventPublishTime\\": \\"2017-11-30T06:32:31Z\\",\\n \\"NotBefore\\": \\"2017-12-01T06:32:31Z\\"\\n },\\n {\\n \\"EventId\\": \\"e-event2\\",\\n \\"EventCycleStatus\\": {\\n \\"Code\\": 24,\\n \\"Name\\": \\"Scheduled\\"\\n },\\n \\"EventType\\": {\\n \\"Code\\": 34,\\n \\"Name\\": \\"InstanceExpiration.Stop\\"\\n },\\n \\"EventPublishTime\\": \\"2017-11-30T00:00:00Z\\",\\n \\"NotBefore\\": \\"2017-12-07T00:00:00Z\\"\\n }\\n ]\\n }\\n },\\n {\\n \\"InstanceId\\": \\"i-instance2\\",\\n \\"Status\\": {\\n \\"Code\\": 1,\\n \\"Name\\": \\"Running\\"\\n },\\n \\"HealthStatus\\": {\\n \\"Code\\": 64,\\n \\"Name\\": \\"Warning\\"\\n },\\n \\"ScheduledSystemEventSet\\": {\\n \\"ScheduledSystemEventType\\": [\\n {\\n \\"EventId\\": \\"e-event3\\",\\n \\"EventCycleStatus\\": {\\n \\"Code\\": 24,\\n \\"Name\\": \\"Scheduled\\"\\n },\\n \\"EventType\\": {\\n \\"Code\\": 65,\\n \\"Name\\": \\"SystemFailure.Reboot\\"\\n },\\n \\"EventPublishTime\\": \\"2017-11-30T06:32:31Z\\",\\n \\"NotBefore\\": \\"2017-12-01T06:32:31Z\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"AAC49D3E-ED6F-4F00-XXXX-377C551B1DD4\\"\\n}"},{"type":"xml","example":"\\n 1\\n 7EBCB534-1CE5-46E7-92A6-507B1654CC03\\n 10\\n 1\\n \\n \\n \\n 1\\n Running\\n \\n i-bp19cx17f2yx****\\n \\n 64\\n Warning\\n \\n \\n \\n \\n 24\\n Scheduled\\n \\n 2020-04-24T07:09:37Z\\n \\n 65\\n SystemFailure.Reboot\\n \\n \\n e-bp1hygp5b04o56l0****\\n 2020-04-24T10:32:31Z\\n A simulated event.\\n \\n \\n \\n \\n","errorExample":"\\n \\n \\n \\n i-instance1\\n \\n 1\\n Running\\n \\n \\n 0\\n Maintaining\\n \\n \\n \\n e-event1\\n \\n 24\\n Scheduled\\n \\n \\n 1\\n SystemMaintenance.Reboot\\n \\n 2017-11-30T06:32:31Z\\n 2017-12-01T06:32:31Z\\n \\n \\n e-event2\\n \\n 24\\n Scheduled\\n \\n \\n 34\\n InstanceExpiration.Stop\\n \\n 2017-11-30T00:00:00Z\\n 2017-12-07T00:00:00Z\\n \\n \\n \\n \\n i-instance2\\n \\n 1\\n Running\\n \\n \\n 64\\n Warning\\n \\n \\n \\n e-event3\\n \\n 24\\n Scheduled\\n \\n \\n 65\\n SystemFailure.Reboot\\n \\n 2017-11-30T06:32:31Z\\n 2017-12-01T06:32:31Z\\n \\n \\n \\n \\n 10\\n 1\\n 2\\n AAC49D3E-ED6F-4F00-XXXX-377C551B1DD4\\n"}]', + 'title' => '查询实例的全部状态信息', + 'description' => '## 接口说明'."\n" + .'返回结果包括实例状态和待执行(Scheduled)状态的实例系统事件。'."\n" + ."\n" + .'如果指定一个时间段,则根据时间段筛选事件。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDisksFullStatus' => [ + 'summary' => '调用DescribeDisksFullStatus查询一块或多块块存储的全部状态信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29275', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '块存储所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '块存储所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '指定块存储的生命周期状态,详情请参见[云盘状态表](~~25689~~)。取值范围: '."\n" + ."\n" + .'- In_use:使用中 。'."\n" + .'- Available:待挂载 。'."\n" + .'- Attaching:挂载中 。'."\n" + .'- Detaching:卸载中 。'."\n" + .'- Creating:创建中 。'."\n" + .'- ReIniting:初始化中 。'."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'HealthStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '指定块存储的健康状态。取值范围: '."\n" + ."\n" + .'- Impaired:暂时性不可读写 。'."\n" + .'- Warning:服务降级 。'."\n" + .'- Initializing:初始化中 。'."\n" + .'- InsufficientData:数据不足 。'."\n" + .'- NotApplicable:不适用 。'."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'Warning', + ], + ], + [ + 'name' => 'EventType', + 'in' => 'query', + 'schema' => [ + 'description' => '指定块存储的事件类型。取值范围: '."\n" + ."\n" + .'- Degraded:块存储性能降级。'."\n" + .'- SeverelyDegraded:块存储性能严重降级。'."\n" + .'- Stalled:块存储性能受到严重影响。'."\n" + .'- ErrorDetected:本地盘出现损坏。', + 'type' => 'string', + 'required' => false, + 'example' => 'Stalled', + ], + ], + [ + 'name' => 'EventTime.Start', + 'in' => 'query', + 'schema' => [ + 'description' => '查询事件发生时间的开始时间。'."\n" + ."\n" + .'按照[ISO8601](~~25696~~)标准表示,并使用UTC+0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-05-06T02:43:10Z', + ], + ], + [ + 'name' => 'EventTime.End', + 'in' => 'query', + 'schema' => [ + 'description' => '查询事件发生时间的结束时间。'."\n" + ."\n" + .'按照[ISO8601](~~25696~~)标准表示,并使用UTC+0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'required' => false, + 'example' => '2018-05-08T02:48:52Z', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果的页码。取值范围:正整数。'."\n" + ."\n" + .'默认值:1 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果的分页大小。取值范围:1~100。'."\n" + ."\n" + .'默认值:10 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '块存储ID。N的取值范围:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '块存储ID。N的取值范围:1~100。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'd-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'EventId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '事件ID。N的取值范围:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '事件ID。N的取值范围:1~100。', + 'type' => 'string', + 'required' => false, + 'example' => 'e-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'e-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '块存储资源所属的资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2kkmhmhs****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '块存储资源绑定的标签键。N表示可以设置一个或多个标签键,且N的数值和`Tag.N.Value`参数中的N对应,构成键值对。N的取值范围:1~20。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '块存储资源绑定的标签值。N表示可以设置一个或多个标签值,且N的数值和`Tag.N.Key`参数中的N对应,构成键值对。N的取值范围:1~20。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '每页大小。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '列表页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '全状态总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'DiskFullStatusSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskFullStatusType' => [ + 'description' => '块存储全状态数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DiskId' => [ + 'description' => '块存储ID。', + 'type' => 'string', + 'example' => 'd-bp67acfmxazb4p****', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'Device' => [ + 'description' => '块存储挂载于实例上的设备名,例如/dev/xvdb。'."\n" + ."\n" + .'该参数仅在`Status`参数值为`In_use`时有值,其他状态时为空。 '."\n" + ."\n" + .'> 该参数即将停止使用,为提高代码兼容性,建议您尽量不要使用该参数。', + 'type' => 'string', + 'example' => 'null', + ], + 'DiskEventSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskEventType' => [ + 'description' => '块存储事件数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EventId' => [ + 'description' => '块存储事件ID。', + 'type' => 'string', + 'example' => 'e-bp67acfmxazb4p****', + ], + 'EventEndTime' => [ + 'description' => '事件结束时间。', + 'type' => 'string', + 'example' => '2018-05-06T02:48:52Z', + ], + 'EventTime' => [ + 'description' => '事件发生时间。', + 'type' => 'string', + 'example' => '2018-05-08T02:43:10Z', + ], + 'ImpactLevel' => [ + 'description' => '影响级别。', + 'type' => 'string', + 'example' => '100', + ], + 'EventType' => [ + 'description' => '事件类型。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '事件类型名称。可能值:'."\n" + .'- Degraded:块存储性能降级。'."\n" + .'- SeverelyDegraded:块存储性能严重降级。'."\n" + .'- Stalled:块存储性能受到严重影响。'."\n" + .'- ErrorDetected:本地盘出现损坏。', + 'type' => 'string', + 'example' => 'Stalled', + ], + 'Code' => [ + 'description' => '事件类型代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '7', + ], + ], + ], + ], + ], + ], + ], + ], + 'Status' => [ + 'description' => '块存储生命周期状态。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '块存储生命周期状态名称。', + 'type' => 'string', + 'example' => 'Available', + ], + 'Code' => [ + 'description' => '块存储生命周期状态代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '129', + ], + ], + ], + 'HealthStatus' => [ + 'description' => '块存储健康状态。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '块存储健康状态名称。', + 'type' => 'string', + 'example' => 'Impaired', + ], + 'Code' => [ + 'description' => '块存储健康状态代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '128', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'DiskIdLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EventIdLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.TimeEndBeforeStart', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NotInWhiteList', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'TooManyDiskEvent.DiskIdRequired', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"DiskFullStatusSet\\": {\\n \\"DiskFullStatusType\\": [\\n {\\n \\"DiskId\\": \\"d-bp67acfmxazb4p****\\",\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"Device\\": \\"null\\",\\n \\"DiskEventSet\\": {\\n \\"DiskEventType\\": [\\n {\\n \\"EventId\\": \\"e-bp67acfmxazb4p****\\",\\n \\"EventEndTime\\": \\"2018-05-06T02:48:52Z\\",\\n \\"EventTime\\": \\"2018-05-08T02:43:10Z\\",\\n \\"ImpactLevel\\": \\"100\\",\\n \\"EventType\\": {\\n \\"Name\\": \\"Stalled\\",\\n \\"Code\\": 7\\n }\\n }\\n ]\\n },\\n \\"Status\\": {\\n \\"Name\\": \\"Available\\",\\n \\"Code\\": 129\\n },\\n \\"HealthStatus\\": {\\n \\"Name\\": \\"Impaired\\",\\n \\"Code\\": 128\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"DiskFullStatusSet\\": {\\n \\"DiskFullStatusType\\": [\\n {\\n \\"DiskEventSet\\": {\\n \\"DiskEventType\\": [\\n {\\n \\"EventId\\": \\"e-event1\\",\\n \\"EventType\\": {\\n \\"Code\\": \\"7\\",\\n \\"Name\\": \\"Stalled\\"\\n },\\n \\"EventTime\\": \\"2018-05-08T02:43:10Z\\"\\n }\\n ]\\n },\\n \\"DiskId\\": \\"d-disk1\\",\\n \\"InstanceId\\": \\"i-instance1\\",\\n \\"Device\\": \\"/dev/xvda\\",\\n \\"HealthStatus\\": {\\n \\"Code\\": 128,\\n \\"Name\\": \\"Impaired\\"\\n },\\n \\"Status\\": {\\n \\"Code\\": 129,\\n \\"Name\\": \\"Available\\"\\n }\\n },\\n {\\n \\"DiskEventSet\\": {\\n \\"DiskEventType\\": [\\n {\\n \\"EventId\\": \\"e-event2\\",\\n \\"EventType\\": {\\n \\"Code\\": \\"1\\",\\n \\"Name\\": \\"Degraded\\"\\n },\\n \\"EventTime\\": \\"2018-05-06T02:43:10Z\\",\\n \\"EventEndTime\\": \\"2018-05-06T02:48:52Z\\"\\n }\\n ]\\n },\\n \\"DiskId\\": \\"d-disk2\\",\\n \\"InstanceId\\": \\"i-instance2\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"HealthStatus\\": {\\n \\"Code\\": 0,\\n \\"Name\\": \\"Ok\\"\\n },\\n \\"Status\\": {\\n \\"Code\\": 129,\\n \\"Name\\": \\"Available\\"\\n }\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"1A8B4B27-8B2D-XXXX-XXXX-0F64DBE4C211\\",\\n \\"TotalCount\\": 2\\n}"},{"type":"xml","example":"\\n \\n \\n \\n \\n e-bp67acfmxazb4p****\\n \\n 7\\n Stalled\\n \\n 2018-05-08T02:43:10Z\\n \\n \\n d-bp67acfmxazb4p****\\n i-bp67acfmxazb4p****\\n /dev/xvda\\n \\n 128\\n Impaired\\n \\n \\n 129\\n Available\\n \\n \\n \\n \\n \\n e-bp67acfmxazb4p****\\n \\n 1\\n Degraded\\n \\n 2018-05-06T02:43:10Z\\n 2018-05-06T02:48:52Z\\n \\n \\n d-disk2\\n i-instance2\\n /dev/xvdb\\n \\n 64\\n Warning\\n \\n \\n 0\\n Ok\\n \\n \\n \\n 1\\n 10\\n 1A8B4B27-8B2D-XXXX-XXXX-0F64DBE4C211\\n 2\\n","errorExample":"\\n \\n \\n \\n \\n e-event1\\n \\n 7\\n Stalled\\n \\n 2018-05-08T02:43:10Z\\n \\n \\n d-disk1\\n i-instance1\\n /dev/xvda\\n \\n 128\\n Impaired\\n \\n \\n 129\\n Available\\n \\n \\n \\n \\n \\n e-event2\\n \\n 1\\n Degraded\\n \\n 2018-05-06T02:43:10Z\\n 2018-05-06T02:48:52Z\\n \\n \\n d-disk2\\n i-instance2\\n /dev/xvdb\\n \\n 64\\n Warning\\n \\n \\n 0\\n Ok\\n \\n \\n \\n 1\\n 10\\n 1A8B4B27-8B2D-XXXX-XXXX-0F64DBE4C211\\n 2\\n"}]', + 'title' => '查询一块或多块块存储的全部状态信息', + 'description' => '- 块存储的全部状态信息包含块存储生命周期(`Status`)、块存储健康状态(`HealthStatus`)和块存储事件类型(`EventType`)。 '."\n" + ."\n" + .'- 由于块存储相关事件的发布时间、事件的计划执行时间以及事件的实际执行时间相同,如果指定一段时间(`EventTime.Start`~`EventTime.End`),则可以查询这段时间中发生过的所有历史事件。目前,您最多可以查询最近一周的历史事件。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceHistoryEvents' => [ + 'summary' => '调用DescribeInstanceHistoryEvents接口,并可以指定InstanceId、EventType等参数,查询指定实例系统事件信息,默认查询处于非活跃状态的历史系统事件。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29280', + 'abilityTreeNodes' => [ + 'FEATUREecsBUZW7T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。不指定实例ID时,表示查询您指定地域下所有实例的系统事件信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-uf678mass4zvr9n1****', + ], + ], + [ + 'name' => 'EventCycleStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '系统事件的生命周期状态。EventCycleStatus只在未指定InstanceEventCycleStatus.N参数时有效。取值范围: '."\n" + ."\n" + .'- Scheduled:等待执行事件。'."\n" + .'- Avoided:事件已避免。'."\n" + .'- Executing:事件执行中。'."\n" + .'- Executed:事件已完成执行。'."\n" + .'- Canceled:事件已取消。'."\n" + .'- Failed:事件执行失败。'."\n" + .'- Inquiring:事件问询中。'."\n" + .' ', + 'type' => 'string', + 'required' => false, + 'example' => 'Executed', + ], + ], + [ + 'name' => 'EventType', + 'in' => 'query', + 'schema' => [ + 'description' => '系统事件的类型。EventType参数只在未指定InstanceEventType.N参数时有效。取值范围: '."\n" + ."\n" + .'- SystemMaintenance.Reboot:因系统维护实例重启。'."\n" + .'- SystemMaintenance.Redeploy:因系统维护实例重新部署。'."\n" + .'- SystemFailure.Reboot:因系统错误实例重启。'."\n" + .'- SystemFailure.Redeploy:因系统错误实例重新部署。'."\n" + .'- SystemFailure.Delete:因实例创建失败实例释放。'."\n" + .'- InstanceFailure.Reboot:因实例错误实例重启。'."\n" + .'- InstanceExpiration.Stop:因包年包月期限到期,实例停止。'."\n" + .'- InstanceExpiration.Delete:因包年包月期限到期,实例释放。'."\n" + .'- AccountUnbalanced.Stop:因账号欠费,按量付费实例停止。'."\n" + .'- AccountUnbalanced.Delete:因账号欠费,按量付费实例释放。'."\n" + ."\n" + .'> 事件类型说明请参见[系统事件概述](~~66574~~)。该参数的取值只能是实例系统事件,不能是磁盘系统事件。', + 'type' => 'string', + 'required' => false, + 'example' => 'SystemMaintenance.Reboot', + ], + ], + [ + 'name' => 'NotBefore.Start', + 'in' => 'query', + 'schema' => [ + 'description' => '查询系统事件计划执行时间的开始时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-11-30T06:32:31Z', + ], + ], + [ + 'name' => 'NotBefore.End', + 'in' => 'query', + 'schema' => [ + 'description' => '查询系统事件计划执行时间的结束时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-01T06:32:31Z', + ], + ], + [ + 'name' => 'EventPublishTime.Start', + 'in' => 'query', + 'schema' => [ + 'description' => '查询系统事件发布时间的开始时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-11-30T06:32:31Z', + ], + ], + [ + 'name' => 'EventPublishTime.End', + 'in' => 'query', + 'schema' => [ + 'description' => '查询系统事件发布时间的结束时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-01T06:32:31Z', + ], + ], + [ + 'name' => 'ImpactLevel', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,建议您通过指定 MaxResults 或 NextToken 参数使用分页方式查询。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,建议您通过指定 MaxResults 或 NextToken 参数使用分页方式查询。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- managedhost:智能全托管资源池中的物理机。'."\n" + ."\n" + .'默认值:instance。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + ], + [ + 'name' => 'EventId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或者多个系统事件ID。N的取值范围为1~100,多个取值使用重复列表的形式。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或者多个系统事件ID。N的取值范围为1~100,多个取值使用重复列表的形式。', + 'type' => 'string', + 'required' => false, + 'example' => 'e-uf64yvznlao4jl2c****', + ], + 'required' => false, + 'example' => 'e-uf64yvznlao4jl2c****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'InstanceEventCycleStatus', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或者多个系统事件的生命周期状态。N的取值范围:1~7,多个取值使用重复列表的形式。取值范围:'."\n" + ."\n" + .'- Scheduled:等待执行事件。'."\n" + .'- Avoided:事件已避免。'."\n" + .'- Executing:事件执行中。'."\n" + .'- Executed:事件已完成执行。'."\n" + .'- Canceled:事件已取消。'."\n" + .'- Failed:事件执行失败。'."\n" + .'- Inquiring:事件问询中。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或者多个系统事件的生命周期状态。N的取值范围:1~7,多个取值使用重复列表的形式。取值范围:'."\n" + ."\n" + .'- Scheduled:等待执行事件。'."\n" + .'- Avoided:事件已避免。'."\n" + .'- Executing:事件执行中。'."\n" + .'- Executed:事件已完成执行。'."\n" + .'- Canceled:事件已取消。'."\n" + .'- Failed:事件执行失败。'."\n" + .'- Inquiring:事件问询中。', + 'type' => 'string', + 'required' => false, + 'example' => 'Executed', + ], + 'required' => false, + 'example' => 'Executed', + 'maxItems' => 10, + ], + ], + [ + 'name' => 'InstanceEventType', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或者多个系统事件的类型。N的取值范围:1~30,多个取值使用重复列表的形式。取值范围:'."\n" + ."\n" + .'- SystemMaintenance.Reboot:因系统维护实例重启。'."\n" + .'- SystemMaintenance.Redeploy:因系统维护实例重新部署。'."\n" + .'- SystemFailure.Reboot:因系统错误实例重启。'."\n" + .'- SystemFailure.Redeploy:因系统错误实例重新部署。'."\n" + .'- SystemFailure.Delete:因实例创建失败实例释放。'."\n" + .'- InstanceFailure.Reboot:因实例错误实例重启。'."\n" + .'- InstanceExpiration.Stop:因包年包月期限到期,实例停止。'."\n" + .'- InstanceExpiration.Delete:因包年包月期限到期,实例释放。'."\n" + .'- AccountUnbalanced.Stop:因账号欠费,按量付费实例停止。'."\n" + .'- AccountUnbalanced.Delete:因账号欠费,按量付费实例释放。'."\n" + ."\n" + .'> 事件类型说明请参见[系统事件概述](~~66574~~)。该参数的取值只能是实例系统事件,不能是磁盘系统事件。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或者多个系统事件的类型。N的取值范围:1~30,多个取值使用重复列表的形式。取值范围:'."\n" + ."\n" + .'- SystemMaintenance.Reboot:因系统维护实例重启。'."\n" + .'- SystemMaintenance.Redeploy:因系统维护实例重新部署。'."\n" + .'- SystemFailure.Reboot:因系统错误实例重启。'."\n" + .'- SystemFailure.Redeploy:因系统错误实例重新部署。'."\n" + .'- SystemFailure.Delete:因实例创建失败实例释放。'."\n" + .'- InstanceFailure.Reboot:因实例错误实例重启。'."\n" + .'- InstanceExpiration.Stop:因包年包月期限到期,实例停止。'."\n" + .'- InstanceExpiration.Delete:因包年包月期限到期,实例释放。'."\n" + .'- AccountUnbalanced.Stop:因账号欠费,按量付费实例停止。'."\n" + .'- AccountUnbalanced.Delete:因账号欠费,按量付费实例释放。'."\n" + ."\n" + .'> 事件类型说明请参见[系统事件概述](~~66574~~)。该参数的取值只能是实例系统事件,不能是磁盘系统事件。', + 'type' => 'string', + 'required' => false, + 'example' => 'SystemMaintenance.Reboot', + ], + 'required' => false, + 'example' => 'SystemMaintenance.Reboot', + 'maxItems' => 30, + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '一个或多个资源ID。N的取值范围为1~100。参数的多个取值使用重复列表的形式。取值范围:'."\n" + ."\n" + .'- 当`ResourceType=instance`时,资源ID表示ECS实例ID。'."\n" + .'- 当`ResourceType=ddh`时,资源ID表示专有宿主机ID。'."\n" + .'- 当`ResourceType=managedhost`时,资源ID表示智能全托管资源池中的物理机ID。'."\n" + ."\n" + .'如果不指定该参数,表示查询指定地域(`RegionId`)和指定资源类型(`ResourceType`)下,所有资源的系统事件信息。'."\n" + ."\n" + .'> 推荐您使用`ResourceId.N`参数设置一个或多个资源ID。如果您同时指定了`ResourceId.N`参数和`InstanceId`参数,系统默认优先生效`ResourceId.N`参数。', + 'type' => 'array', + 'items' => [ + 'description' => '一个或多个资源ID。N的取值范围为1~100。参数的多个取值使用重复列表的形式。取值范围:'."\n" + ."\n" + .'- 当`ResourceType=instance`时,资源ID表示ECS实例ID。'."\n" + .'- 当`ResourceType=ddh`时,资源ID表示专有宿主机ID。'."\n" + .'- 当`ResourceType=managedhost`时,资源ID表示智能全托管资源池中的物理机ID。'."\n" + ."\n" + .'如果不指定该参数,表示查询指定地域(`RegionId`)和指定资源类型(`ResourceType`)下,所有资源的系统事件信息。'."\n" + ."\n" + .'> 推荐您使用`ResourceId.N`参数设置一个或多个资源ID。如果您同时指定了`ResourceId.N`参数和`InstanceId`参数,系统默认优先生效`ResourceId.N`参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-uf678mass4zvr9n1****', + ], + 'required' => false, + 'example' => 'i-uf678mass4zvr9n1****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '系统事件支持的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '系统事件支持的标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '资源的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '资源的标签值。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所在的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次 API 调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'f1c9fa9de5752***', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。取值范围:10~100。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'* 当设置的值大于 0 小于 10 时,默认值为 10。'."\n" + .'* 当设置的值大于 100 时,默认值为 100。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '查询的实例系统事件信息。', + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '输入时设置的每页行数。'."\n" + ."\n" + .'> * 使用MaxResults和NextToken参数进行分页查询时,返回的PageSize参数值无意义。'."\n" + .'> * 该参数即将下线,推荐您使用 NextToken 与 MaxResults 完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '实例事件列表页码。'."\n" + ."\n" + .'> * 使用MaxResults和NextToken参数进行分页查询时,返回的PageNumber参数值无意义。'."\n" + .'> * 该参数即将下线,推荐您使用 NextToken 与 MaxResults 完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '实例事件总个数。'."\n" + ."\n" + .'> 使用MaxResults和NextToken参数进行分页查询时,返回的TotalCount参数值无意义。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'InstanceSystemEventSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceSystemEventType' => [ + 'description' => '实例历史系统事件数组。', + 'type' => 'array', + 'items' => [ + 'description' => '实例历史系统事件。', + 'type' => 'object', + 'properties' => [ + 'EventId' => [ + 'description' => '系统事件ID。', + 'type' => 'string', + 'example' => 'e-uf64yvznlao4jl2c****', + ], + 'EventPublishTime' => [ + 'description' => '系统事件发布时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2017-11-30T06:32:31Z', + ], + 'EventFinishTime' => [ + 'description' => '系统事件结束时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2017-12-01T06:35:31Z', + ], + 'ResourceType' => [ + 'description' => '资源类型。可能值:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- managedhost:智能全托管资源池中的物理机。', + 'type' => 'string', + 'example' => 'instance', + ], + 'ImpactLevel' => [ + 'description' => '影响级别。', + 'type' => 'string', + 'example' => '100', + ], + 'NotBefore' => [ + 'description' => '系统事件计划执行时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2017-12-06T00:00:00Z', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-uf678mass4zvr9n1****', + ], + 'Reason' => [ + 'description' => '系统事件发生原因。', + 'type' => 'string', + 'example' => 'System maintenance is scheduled due to ***.', + ], + 'EventType' => [ + 'description' => '系统事件类型。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '系统事件类型名称。', + 'type' => 'string', + 'example' => 'InstanceExpiration.Stop', + ], + 'Code' => [ + 'description' => '系统事件类型代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '34', + ], + ], + ], + 'EventCycleStatus' => [ + 'description' => '系统事件的生命周期状态。', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '系统事件状态名称。', + 'type' => 'string', + 'example' => 'Executed', + ], + 'Code' => [ + 'description' => '系统事件状态代码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + 'ExtendedAttribute' => [ + 'description' => '事件扩展属性。', + 'type' => 'object', + 'properties' => [ + 'Device' => [ + 'description' => '本地盘设备名。', + 'type' => 'string', + 'example' => '/dev/vda', + ], + 'DiskId' => [ + 'description' => '本地盘ID。', + 'type' => 'string', + 'example' => 'd-diskid1', + ], + 'InactiveDisks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InactiveDisk' => [ + 'description' => '已释放但需要清理的非活跃云盘或本地盘信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '已释放但需要清理的非活跃云盘或本地盘信息。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '云盘或本地盘创建时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2018-11-30T06:32:31Z', + ], + 'DeviceSize' => [ + 'description' => '云盘或本地盘大小,单位GiB。', + 'type' => 'string', + 'example' => '80', + ], + 'DeviceCategory' => [ + 'description' => '云盘或本地盘种类。可能值:'."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。'."\n" + .'- local_ssd_pro:I/O密集型本地盘。'."\n" + .'- local_hdd_pro:吞吐密集型本地盘。'."\n" + .'- ephemeral:(已停售)本地盘。'."\n" + .'- ephemeral_ssd:(已停售)本地SSD盘。', + 'type' => 'string', + 'example' => 'cloud_efficiency', + ], + 'DeviceType' => [ + 'description' => '云盘或本地盘类型。可能值:'."\n" + .'- system:系统盘。'."\n" + .'- data:数据盘。', + 'type' => 'string', + 'example' => 'data', + ], + 'ReleaseTime' => [ + 'description' => '云盘或本地盘释放时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2019-11-30T06:32:31Z', + ], + ], + ], + ], + ], + ], + 'HostType' => [ + 'description' => '宿主机类型。可能值:'."\n" + ."\n" + .'- ddh:专有宿主机。'."\n" + .'- managedhost:智能全托管资源池中的物理机。', + 'type' => 'string', + 'example' => 'ddh', + ], + 'HostId' => [ + 'description' => '宿主机ID。', + 'type' => 'string', + 'example' => 'dh-bp1ewce1gk3iwv2****', + ], + 'MigrationOptions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MigrationOption' => [ + 'description' => '实例迁移选项。当前仅支持MigrationOptions(使用迁移计划迁移)。', + 'type' => 'array', + 'items' => [ + 'description' => '实例迁移选项。当前仅支持MigrationPlan(使用迁移计划迁移)。', + 'type' => 'string', + 'example' => 'MigrationPlan', + ], + ], + ], + ], + 'OnlineRepairPolicy' => [ + 'description' => '受损云盘在线维修策略。可能值:IsolateOnly,表示仅支持隔离坏盘,不支持维修坏盘。', + 'type' => 'string', + 'example' => 'IsolateOnly', + ], + 'Rack' => [ + 'description' => '云盒机柜号。', + 'type' => 'string', + 'example' => 'A01', + ], + 'PunishType' => [ + 'description' => '处罚类型。', + 'type' => 'string', + 'example' => 'ecs_message_alert', + ], + 'PunishDomain' => [ + 'description' => '安全违规域名。', + 'type' => 'string', + 'example' => '1228.test.com', + ], + 'PunishUrl' => [ + 'description' => '安全违规链接。', + 'type' => 'string', + 'example' => 'http://1228.test.com/1', + ], + 'Code' => [ + 'description' => '安全违规code。', + 'type' => 'string', + 'example' => 'PR111', + ], + 'CanAccept' => [ + 'description' => '事件是否可以处理。', + 'type' => 'string', + 'example' => 'true', + ], + 'ResponseResult' => [ + 'description' => '事件响应结果。可能值:'."\n" + .'- true:事件响应成功。 '."\n" + .'- false:事件响应失败。', + 'type' => 'string', + 'example' => 'true', + ], + 'MetricValue' => [ + 'description' => '指标值。', + 'type' => 'string', + 'example' => '18000', + ], + 'MetricName' => [ + 'description' => '指标名称。', + 'type' => 'string', + 'example' => 'in_mbps', + ], + ], + ], + 'ReasonCode' => [ + 'description' => '系统事件发生原因分类代码。', + 'type' => 'string', + 'example' => 'VPCMigrationEcs', + ], + ], + ], + ], + ], + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。'."\n" + .'> 当使用 MaxResults 和 NextToken 参数进行分页查询时未返回NextToken,说明已经没有更多的数据要返回。', + 'type' => 'string', + 'example' => 'f1c9fa9de5752***', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'EventIdLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.TimeEndBeforeStart', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NotInWhiteList', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"InstanceSystemEventSet\\": {\\n \\"InstanceSystemEventType\\": [\\n {\\n \\"EventId\\": \\"e-uf64yvznlao4jl2c****\\",\\n \\"EventPublishTime\\": \\"2017-11-30T06:32:31Z\\",\\n \\"EventFinishTime\\": \\"2017-12-01T06:35:31Z\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"ImpactLevel\\": \\"100\\",\\n \\"NotBefore\\": \\"2017-12-06T00:00:00Z\\",\\n \\"InstanceId\\": \\"i-uf678mass4zvr9n1****\\",\\n \\"Reason\\": \\"System maintenance is scheduled due to ***.\\",\\n \\"EventType\\": {\\n \\"Name\\": \\"InstanceExpiration.Stop\\",\\n \\"Code\\": 34\\n },\\n \\"EventCycleStatus\\": {\\n \\"Name\\": \\"Executed\\",\\n \\"Code\\": 0\\n },\\n \\"ExtendedAttribute\\": {\\n \\"Device\\": \\"/dev/vda\\",\\n \\"DiskId\\": \\"d-diskid1\\",\\n \\"InactiveDisks\\": {\\n \\"InactiveDisk\\": [\\n {\\n \\"CreationTime\\": \\"2018-11-30T06:32:31Z\\",\\n \\"DeviceSize\\": \\"80\\",\\n \\"DeviceCategory\\": \\"cloud_efficiency\\",\\n \\"DeviceType\\": \\"data\\",\\n \\"ReleaseTime\\": \\"2019-11-30T06:32:31Z\\"\\n }\\n ]\\n },\\n \\"HostType\\": \\"ddh\\",\\n \\"HostId\\": \\"dh-bp1ewce1gk3iwv2****\\",\\n \\"MigrationOptions\\": {\\n \\"MigrationOption\\": [\\n \\"MigrationPlan\\"\\n ]\\n },\\n \\"OnlineRepairPolicy\\": \\"IsolateOnly\\",\\n \\"Rack\\": \\"A01\\",\\n \\"PunishType\\": \\"ecs_message_alert\\",\\n \\"PunishDomain\\": \\"1228.test.com\\",\\n \\"PunishUrl\\": \\"http://1228.test.com/1\\",\\n \\"Code\\": \\"PR111\\",\\n \\"CanAccept\\": \\"true\\",\\n \\"ResponseResult\\": \\"true\\",\\n \\"MetricValue\\": \\"18000\\",\\n \\"MetricName\\": \\"in_mbps\\"\\n },\\n \\"ReasonCode\\": \\"VPCMigrationEcs\\"\\n }\\n ]\\n },\\n \\"NextToken\\": \\"f1c9fa9de5752***\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 2\\n \\n e-uf64yvznlao4jl2c****\\n 2017-11-30T06:32:31Z\\n 2017-12-01T06:35:31Z\\n instance\\n 100\\n 2017-12-06T00:00:00Z\\n i-uf678mass4zvr9n1****\\n System maintenance is scheduled due to ***.\\n \\n InstanceExpiration.Stop\\n 34\\n \\n \\n Executed\\n 0\\n \\n \\n /dev/vda\\n d-diskid1\\n \\n 2018-11-30T06:32:31Z\\n 80\\n cloud_efficiency\\n data\\n 2019-11-30T06:32:31Z\\n \\n ddh\\n dh-bp1ewce1gk3iwv2****\\n MigrationPlan\\n IsolateOnly\\n A01\\n ecs_message_alert\\n 1228.test.com\\n http://1228.test.com/1\\n PR111\\n true\\n true\\n \\n VPCMigrationEcs\\n \\n f1c9fa9de5752***\\n","errorExample":""}]', + 'title' => '查询指定实例系统事件信息', + 'description' => '- 您最多可以查询最近30天的已完结历史系统事件。对于未完结的系统事件无查询时间限制。'."\n" + ."\n" + .'- 未指定EventCycleStatus参数和InstanceEventCycleStatus参数时,查询结果默认只包括处于Avoided(事件已避免)、Executed(事件已完成执行)、Canceled(事件已取消)和Failed(事件执行失败)状态的系统事件。'."\n" + ."\n" + .'- 通过指定InstanceEventCycleStatus参数,还可以查询处于Scheduled(等待执行事件)、Executing(事件执行中)和Inquiring(事件问询中)状态的系统事件。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateSimulatedSystemEvents' => [ + 'summary' => '为一台或多台ECS实例预约模拟系统事件。模拟系统事件相当于事件演习,不会真正执行事件,也不会对ECS实例产生影响。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29260', + 'abilityTreeNodes' => [ + 'FEATUREecsBUZW7T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EventType', + 'in' => 'query', + 'schema' => [ + 'description' => '系统事件的类型。取值范围: '."\n" + .'- SystemMaintenance.Reboot:因系统维护实例重启 '."\n" + .'- SystemFailure.Reboot:因系统错误实例重启 '."\n" + .'- InstanceFailure.Reboot:因实例错误实例重启'."\n" + .'- SystemMaintenance.Stop:因系统维护实例停止'."\n" + .'- SystemMaintenance.Redeploy:因系统维护实例重新部署'."\n" + .'- SystemFailure.Redeploy:因系统错误实例重新部署'."\n" + .'- SystemFailure.Stop:因系统错误实例重新停止'."\n" + .'- InstanceFailure.Reboot:因实例错误实例重启', + 'type' => 'string', + 'required' => true, + 'example' => 'SystemMaintenance.Reboot', + ], + ], + [ + 'name' => 'NotBefore', + 'in' => 'query', + 'schema' => [ + 'description' => '事件计划执行的开始时间。按照[ISO8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。'."\n" + ."\n" + .'> 对于系统错误或实例错误导致的异常事件,创建事件后,事件已处于正在执行(`Executing`)状态,此时参数`NotBefore`为事件进入完成执行(`Executed`)状态的时间。', + 'type' => 'string', + 'required' => true, + 'example' => '2018-12-01T06:32:31Z', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'ECS实例ID列表信息。可输入最多100个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1gtjxuuvwj17zr****', + ], + 'required' => true, + 'example' => 'i-bp1gtjxuuvwj17zr****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'EventIdSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EventId' => [ + 'description' => '模拟事件ID(EventId)列表。', + 'type' => 'array', + 'items' => [ + 'description' => '模拟事件ID(EventId)。', + 'type' => 'string', + 'example' => 'e-bp16helosl7v0ooj****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidNotBefore.Passed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'SimulatedEventLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceIdLimitExceeded', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => true, + 'eventNames' => [ + 'ecs:Instance:MigrationCompleted', + 'ecs:Instance:InstanceTypeChanged', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"EventIdSet\\": {\\n \\"EventId\\": [\\n \\"e-bp16helosl7v0ooj****\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\" EventId \\" : [ \\" e-bp16helosl7v0ooj**** \\" ]\\n","errorExample":""}]', + 'title' => '为实例预约模拟系统事件', + 'description' => '预约模拟事件后,您可以通过ECS管理控制台、[ECS API](~~63962~~)和云监控服务查看已经预约的模拟系统事件。'."\n" + ."\n" + .'下表为模拟系统事件的生命周期:'."\n" + ."\n" + .'- Scheduled(计划中):预约后,模拟系统事件自动切换为Scheduled状态。'."\n" + .'- Executed(已完成):在没有人为干预的情况下,模拟系统事件在指定时间点(NotBefore)自动变成Executed状态。'."\n" + .'- Canceled(已取消):您调用[CancelSimulatedSystemEvents](~~88808~~)取消模拟系统事件后,变成Canceled状态。 '."\n" + .'- Avoided(已避免):对于因系统维护实例重启(SystemMaintenance.Reboot)的模拟系统事件,可以通过在指定时间点前[重启实例](~~25502~~)而变成Avoided状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelSimulatedSystemEvents' => [ + 'summary' => '调用CancelSimulatedSystemEvents取消一件或多件处于Scheduled(计划中)或Executing(执行中)状态的模拟系统事件。取消系统事件后,模拟事件变为Canceled(已取消)状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29247', + 'abilityTreeNodes' => [ + 'FEATUREecsBUZW7T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EventId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '系统事件ID列表。可输入最多100个事件ID。', + 'type' => 'array', + 'items' => [ + 'description' => '系统事件ID列表。可输入最多100个事件ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'e-xhskHun1256****', + ], + 'required' => true, + 'example' => 'e-xhskHun1256****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'EventIdLimitExceeded', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'CannotCancelSystemEvent.NotSimulated', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEventId.NotFound', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"E69EF3CC-94CD-42E7-8926-F133B86387C0\\"\\n}"},{"type":"xml","example":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n","errorExample":"\\n E69EF3CC-94CD-42E7-8926-F133B86387C0\\n"}]', + 'title' => '取消模拟系统事件', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AcceptInquiredSystemEvent' => [ + 'summary' => '调用AcceptInquiredSystemEvent接受并授权执行系统事件操作。对问询中(Inquiring)状态的系统事件,接受系统事件的默认操作,授权系统执行默认操作。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29240', + 'abilityTreeNodes' => [ + 'FEATUREecsBUZW7T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统事件所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统事件所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EventId', + 'in' => 'query', + 'schema' => [ + 'description' => '系统事件ID。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'e-2zeielxl1qzq8slb****', + ], + ], + [ + 'name' => 'Choice', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数正在邀测中,暂不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '4DD56CA6-6D75-4D33-BE34-E4A44EBE1C3D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'Current instance status does not support this operation.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFail.DiskCategoryNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFail.DiskStatusNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFail.InstanceStatusNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.AcceptNotSupported', + 'errorMessage' => 'Accept is not supported on current event type.', + ], + [ + 'errorCode' => 'SwitchToOffline.OnlineIsolateFail', + 'errorMessage' => 'Failed to online isolate disk while offline isolation succeeded.', + ], + [ + 'errorCode' => 'SwitchToOffline.OnlineReinitFail', + 'errorMessage' => 'Failed to online reinitialize disk while offline reinitialization succeeded.', + ], + [ + 'errorCode' => 'Forbidden.RAM', + 'errorMessage' => 'User not authorized to operate on the specified resource, or this API does not support RAM.', + ], + [ + 'errorCode' => 'OperationFail.AcceptRecoverFail', + 'errorMessage' => 'Failed to accept system event due to resource constraints.', + ], + ], + [ + [ + 'errorCode' => 'InvalidEventId.NoInquiringEventFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4DD56CA6-6D75-4D33-BE34-E4A44EBE1C3D\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 4DD56CA6-6D75-4D33-BE34-E4A44EBE1C3D\\r\\n","errorExample":""}]', + 'title' => '接受并授权执行系统事件操作', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDiagnosticMetrics' => [ + 'summary' => '调用DescribeDiagnosticMetrics查询诊断指标列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142763', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MetricIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '诊断指标列表。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断指标列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'Instance.DiskLoadFailure', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '支持的资源类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + 'enum' => [ + 'instance', + ], + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值为100。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'- 当不设置值时,默认值为10。'."\n" + .'- 当设置的值大于100时,默认值为100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'Metrics' => [ + 'description' => '诊断指标。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断指标。', + 'type' => 'object', + 'properties' => [ + 'MetricId' => [ + 'description' => '诊断指标ID。', + 'type' => 'string', + 'example' => 'GuestOS.WinFirewall', + ], + 'MetricName' => [ + 'description' => '诊断指标名称。', + 'type' => 'string', + 'example' => 'CPU诊断', + ], + 'MetricCategory' => [ + 'description' => '诊断指标分类。', + 'type' => 'string', + 'example' => 'CPU', + ], + 'Description' => [ + 'description' => '诊断指标描述。', + 'type' => 'string', + 'example' => 'CPU诊断', + ], + 'ResourceType' => [ + 'description' => '诊断指标支持的资源。', + 'type' => 'string', + 'example' => 'instance', + ], + 'GuestMetric' => [ + 'description' => '是否需要在GuestOS内执行脚本。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'SupportedOperatingSystem' => [ + 'description' => '支持的操作系统。取值范围:'."\n" + ."\n" + .'- Windows:支持Windows操作系统。'."\n" + .'- Linux:支持Linux操作系统。'."\n" + .'- All:支持Windows和Linux操作系统。', + 'type' => 'string', + 'example' => 'ALL', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"Metrics\\": [\\n {\\n \\"MetricId\\": \\"GuestOS.WinFirewall\\",\\n \\"MetricName\\": \\"CPU诊断\\",\\n \\"MetricCategory\\": \\"CPU\\",\\n \\"Description\\": \\"CPU诊断\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"GuestMetric\\": true,\\n \\"SupportedOperatingSystem\\": \\"ALL\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n caeba0bbb2be03f84eb48b699f0a4883\\n \\n GuestOS.WinFirewall\\n CPU诊断\\n CPU\\n CPU诊断\\n instance\\n true\\n ALL\\n \\n","errorExample":""}]', + 'title' => '查询诊断指标列表', + ], + 'CreateDiagnosticMetricSet' => [ + 'summary' => '调用CreateDiagnosticMetricSet创建资源诊断指标集合。您可以根据需要,灵活组合诊断指标。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142759', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断资源类型。'."\n" + ."\n" + .'默认值:instance。', + 'type' => 'string', + 'required' => true, + 'example' => 'instance', + 'enum' => [ + 'instance', + 'account', + ], + ], + ], + [ + 'name' => 'MetricSetName', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断指标集合的名称。', + 'type' => 'string', + 'required' => false, + 'example' => '远程连接问题诊断', + 'maxLength' => 128, + ], + ], + [ + 'name' => 'MetricIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '诊断指标列表。最多支持100个。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断指标列表。最多支持100个。', + 'type' => 'string', + 'required' => false, + 'example' => 'Instance.DiskLoadFailure', + ], + 'required' => true, + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断指标集合的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => '远程连接问题诊断', + 'maxLength' => 255, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + 'MetricSetId' => [ + 'description' => '诊断指标集合的唯一识别码。', + 'type' => 'string', + 'example' => 'dms-o7ymuutup5l*****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.MetricId', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\",\\n \\"MetricSetId\\": \\"dms-o7ymuutup5l*****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n dms-o7ymuutup5l*****\\n","errorExample":""}]', + 'title' => '创建资源诊断指标集合', + ], + 'DescribeDiagnosticMetricSets' => [ + 'summary' => '调用DescribeDiagnosticMetricSets查询资源诊断集合列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142762', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MetricSetIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '诊断项集合列表。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断项集合列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'dms-uf6i0tv2refv8wz*****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断项集合类型。取值范围:'."\n" + ."\n" + .'- User:用户。'."\n" + .'- Common:公共。'."\n" + ."\n" + .'默认值:User。', + 'type' => 'string', + 'required' => false, + 'example' => 'User', + 'enum' => [ + 'User', + 'Common', + ], + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + 'enum' => [ + 'instance', + ], + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值为100。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'- 当不设置值时,默认值为10。'."\n" + .'- 当设置的值大于100时,默认值为100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'MetricSets' => [ + 'description' => '诊断指标集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricSetId' => [ + 'description' => '诊断指标集合ID。', + 'type' => 'string', + 'example' => 'dms-bp17p0qwtr72zmu*****', + ], + 'MetricSetName' => [ + 'description' => '诊断指标集合的名称。', + 'type' => 'string', + 'example' => '远程连接问题诊断', + ], + 'Description' => [ + 'description' => '诊断指标集合的描述信息。', + 'type' => 'string', + 'example' => '远程连接问题诊断', + ], + 'Type' => [ + 'description' => '诊断指标集合类型。取值范围:'."\n" + ."\n" + .'- User:用户。'."\n" + .'- Common:公共。'."\n", + 'type' => 'string', + 'example' => 'User', + ], + 'ResourceType' => [ + 'description' => '支持的资源类型。', + 'type' => 'string', + 'example' => 'instance', + ], + 'MetricIds' => [ + 'description' => '诊断指标列表。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断指标。', + 'type' => 'string', + 'example' => 'Instance.DiskLoadFailure', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidMetricSetId.NotExist', + 'errorMessage' => 'The specified MetricSetId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"MetricSets\\": [\\n {\\n \\"MetricSetId\\": \\"dms-bp17p0qwtr72zmu*****\\",\\n \\"MetricSetName\\": \\"远程连接问题诊断\\",\\n \\"Description\\": \\"远程连接问题诊断\\",\\n \\"Type\\": \\"User\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"MetricIds\\": [\\n \\"Instance.DiskLoadFailure\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n caeba0bbb2be03f84eb48b699f0a4883\\n \\n dms-bp17p0qwtr72zmu*****\\n 远程连接问题诊断\\n 远程连接问题诊断\\n User\\n instance\\n Instance.DiskLoadFailure\\n \\n","errorExample":""}]', + 'title' => '查询资源诊断集合列表', + ], + 'ModifyDiagnosticMetricSet' => [ + 'summary' => '修改资源诊断指标集合。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142760', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MetricSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断指标集合ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dms-uf6i0tv2refv8wz*****', + ], + ], + [ + 'name' => 'MetricIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '诊断指标列表。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断指标列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'Instance.DiskLoadFailure', + ], + 'required' => false, + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + 'enum' => [ + 'instance', + ], + ], + ], + [ + 'name' => 'MetricSetName', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断指标集合的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'remoteConnectError', + 'maxLength' => 128, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断指标集合的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => '远程连接诊断', + 'maxLength' => 255, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.MetricSetId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.MetricIds', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n","errorExample":""}]', + 'title' => '修改资源诊断指标集合', + ], + 'DeleteDiagnosticMetricSets' => [ + 'summary' => '调用DeleteDiagnosticMetricSets删除资源诊断指标集合。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '144566', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MetricSetIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '诊断指标集合ID列表。最多支持10个。'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => '诊断指标集合ID列表。最多支持10个。', + 'type' => 'string', + 'required' => false, + 'example' => 'dms-uf6i0tv2refv8wz*****', + ], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidMetricSetId.NotExist', + 'errorMessage' => 'The specified MetricSetId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n","errorExample":""}]', + 'title' => '删除资源诊断指标集合', + ], + 'CreateDiagnosticReport' => [ + 'summary' => '调用CreateDiagnosticReport创建资源诊断报告。根据您传入诊断指标集合ID,生成多个诊断指标的诊断报告。您可以根据返回的诊断报告ID,调用DescribeDiagnosticReportAttributes查询资源诊断详情。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142819', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '地域', + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'title' => '资源ID,如i-bp1io7xxxutup5l2y4vt', + 'description' => '资源ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-uf6i0tv2refv8wz*****', + ], + ], + [ + 'name' => 'MetricSetId', + 'in' => 'query', + 'schema' => [ + 'title' => '诊断指标集合ID,如果为空,会使用EcsInstance的默认诊断指标集合。', + 'description' => '诊断指标集合ID。如果为空,则会使用ECS实例的默认诊断指标集合dms-instancedefault。', + 'type' => 'string', + 'required' => false, + 'example' => 'dms-uf6i0tv2refv8wz*****', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'title' => '开始时间,只对不需要在GuestOS内执行云助手指令的诊断指标生效', + 'description' => '开始时间。只对无需在GuestOS内执行云助手指令的诊断指标生效。', + 'type' => 'string', + 'required' => false, + 'example' => '2022-07-11T12:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'title' => '开始时间,只对不需要在GuestOS内执行云助手指令的诊断指标生效', + 'description' => '结束时间。只对无需在GuestOS内执行云助手指令的诊断指标生效。', + 'type' => 'string', + 'required' => false, + 'example' => '2022-07-11T14:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + 'ReportId' => [ + 'description' => '诊断报告ID,资源诊断报告的唯一标志。', + 'type' => 'string', + 'example' => 'dr-uf6i0tv2refv8wz*****', + ], + ], + ], + ], + [ + 'headers' => [], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidResource.NotExists ', + 'errorMessage' => 'The specified resource not exists.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.CloudAssistantNotReady', + 'errorMessage' => 'Cloud Assistant is not installed, or the service is unavailable. Install Cloud Assistant or check the status of Cloud Assistant first.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidAxt.ServiceNotReady ', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.CreateSLR', + 'errorMessage' => 'You are not authorized to do this action.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\",\\n \\"ReportId\\": \\"dr-uf6i0tv2refv8wz*****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n dr-uf6i0tv2refv8wz*****\\n","errorExample":""}]', + 'title' => '创建资源诊断报告', + ], + 'DescribeDiagnosticReports' => [ + 'summary' => '调用DescribeDiagnosticReports查询资源诊断报告列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142820', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域', + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ReportIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '诊断报告ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断报告ID列表。最多支持100个ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dr-uf6i0tv2refv8wz*****', + ], + 'required' => false, + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ResourceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID列表。最多支持100个ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-uf6i0tv2refv8wz*****', + ], + 'required' => false, + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'title' => '报告状态', + 'description' => '报告状态。取值范围:'."\n" + ."\n" + .'- InProgress:诊断中。'."\n" + .'- Failed:诊断失败。'."\n" + .'- Finished:诊断完成。', + 'type' => 'string', + 'required' => false, + 'example' => 'Finished', + 'enum' => [ + 'InProgress', + 'Finished', + 'Failed', + 'inprogress', + 'finished', + 'failed', + ], + ], + ], + [ + 'name' => 'Severity', + 'in' => 'query', + 'schema' => [ + 'title' => '严重等级'."\n" + .'- Info'."\n" + .'- Warn'."\n" + .'- Critical', + 'description' => '严重等级。取值范围:'."\n" + ."\n" + .'- Unknown:初始状态,表示未开始诊断或者诊断过程程序异常退出,无诊断结论。'."\n" + .'- Normal:诊断正常,没有发现问题。'."\n" + .'- Info:有关联信息,可能与异常相关。'."\n" + .'- Warn:有关联信息,可能导致异常。'."\n" + .'- Critical:有关键异常。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + 'enum' => [ + 'normal', + 'info', + 'warn', + 'critical', + 'Normal', + 'Info', + 'Warn', + 'Critical', + 'unknown', + 'Unknown', + ], + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '查询凭证(Token)。取值为上一次调用该接口返回的NextToken参数值,初次调用接口时无需设置该参数。', + 'description' => '查询凭证(Token)。取值为上一次调用接口返回的`NextToken`参数值,初次调用接口时无需设置该参数。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值为100。'."\n" + ."\n" + .'默认值:'."\n" + ."\n" + .'- 当不设置值时,默认值为10。'."\n" + .'- 当设置的值大于100时,默认值为100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证值。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'Reports' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Report' => [ + 'description' => '诊断报告列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'i-uf6i0tv2refv8wz*****', + ], + 'ResourceType' => [ + 'description' => '资源类型。', + 'type' => 'string', + 'example' => 'instance', + ], + 'MetricSetId' => [ + 'description' => '诊断指标集合ID。', + 'type' => 'string', + 'example' => 'dms-bp17p0qwtr72zmu*****', + ], + 'StartTime' => [ + 'description' => '开始时间。调用[CreateDiagnosticReport](~~442490~~)接口创建诊断报告时传入的参数。', + 'type' => 'string', + 'example' => '2022-07-11T12:00:00Z', + ], + 'EndTime' => [ + 'description' => '结束时间。调用[CreateDiagnosticReport](~~442490~~)接口创建诊断报告时传入的参数。', + 'type' => 'string', + 'example' => '2022-07-11T14:00:00Z', + ], + 'ReportId' => [ + 'description' => '诊断报告ID。', + 'type' => 'string', + 'example' => 'dr-uf6i0tv2refv8wz*****', + ], + 'Status' => [ + 'description' => '诊断报告状态。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'CreationTime' => [ + 'description' => '诊断报告创建时间。', + 'type' => 'string', + 'example' => '2022-07-11T12:00:00Z', + ], + 'FinishedTime' => [ + 'description' => '诊断报告结束时间。', + 'type' => 'string', + 'example' => '2022-07-11T14:00:00Z', + ], + 'Severity' => [ + 'description' => '严重等级。取值范围:'."\n" + ."\n" + .'- Unknown:初始状态,表示未开始诊断或者诊断过程程序异常退出,无诊断结论。'."\n" + .'- Normal:诊断正常,没有发现问题。'."\n" + .'- Info:有关联信息,可能与异常相关。'."\n" + .'- Warn:有关联信息,可能导致异常。'."\n" + .'- Critical:有关键异常。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Issues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Issue' => [ + 'description' => '诊断问题列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricId' => [ + 'description' => '诊断指标ID。', + 'type' => 'string', + 'example' => 'GuestOS.WinFirewall', + ], + 'MetricCategory' => [ + 'description' => '诊断指标分类。', + 'type' => 'string', + 'example' => 'ECSService.GuestOS', + ], + 'IssueId' => [ + 'description' => '诊断问题的唯一识别码。', + 'type' => 'string', + 'example' => 'GuestOS.CPU.HighUtiliz*****', + ], + 'Severity' => [ + 'description' => '诊断指标严重等级。严重等级由轻到重如下:'."\n" + ."\n" + .'- Info:有关联信息,可能与异常相关。'."\n" + .'- Warn:有关联信息,可能导致异常。'."\n" + .'- Critical:有关键异常。', + 'type' => 'string', + 'example' => 'Info', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"Reports\\": {\\n \\"Report\\": [\\n {\\n \\"ResourceId\\": \\"i-uf6i0tv2refv8wz*****\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"MetricSetId\\": \\"dms-bp17p0qwtr72zmu*****\\",\\n \\"StartTime\\": \\"2022-07-11T12:00:00Z\\",\\n \\"EndTime\\": \\"2022-07-11T14:00:00Z\\",\\n \\"ReportId\\": \\"dr-uf6i0tv2refv8wz*****\\",\\n \\"Status\\": \\"Finished\\",\\n \\"CreationTime\\": \\"2022-07-11T12:00:00Z\\",\\n \\"FinishedTime\\": \\"2022-07-11T14:00:00Z\\",\\n \\"Severity\\": \\"Normal\\",\\n \\"Issues\\": {\\n \\"Issue\\": [\\n {\\n \\"MetricId\\": \\"GuestOS.WinFirewall\\",\\n \\"MetricCategory\\": \\"ECSService.GuestOS\\",\\n \\"IssueId\\": \\"GuestOS.CPU.HighUtiliz*****\\",\\n \\"Severity\\": \\"Info\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n caeba0bbb2be03f84eb48b699f0a4883\\n \\n i-uf6i0tv2refv8wz*****\\n instance\\n dms-bp17p0qwtr72zmu*****\\n 2022-07-11T12:00:00Z\\n 2022-07-11T14:00:00Z\\n dr-uf6i0tv2refv8wz*****\\n Finished\\n 2022-07-11T12:00:00Z\\n 2022-07-11T14:00:00Z\\n Normal\\n \\n GuestOS.WinFirewall\\n CPU\\n GuestOS.CPU.HighUtiliz*****\\n Info\\n \\n \\n","errorExample":""}]', + 'title' => '查询资源诊断报告列表', + ], + 'DescribeDiagnosticReportAttributes' => [ + 'summary' => '调用DescribeDiagnosticReportAttributes查询资源诊断详情。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '144108', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ReportId', + 'in' => 'query', + 'schema' => [ + 'description' => '诊断报告ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dr-i-uf6i0tv2refv8wz*****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'i-uf6i0tv2refv8wz*****', + ], + 'ResourceType' => [ + 'description' => '资源类型。支持的类型为instance。', + 'type' => 'string', + 'example' => 'instance', + ], + 'ReportId' => [ + 'description' => '诊断报告ID。资源诊断报告的唯一标志。', + 'type' => 'string', + 'example' => 'dr-uf6i0tv2refv8wz*****', + ], + 'Status' => [ + 'description' => '诊断报告状态。可能值:'."\n" + ."\n" + .'- InProgress:诊断中。'."\n" + .'- Finished:诊断完成。'."\n" + .'- Failed:诊断失败。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'CreationTime' => [ + 'description' => '诊断报告创建时间。', + 'type' => 'string', + 'example' => '2022-07-11T12:00:00Z', + ], + 'FinishedTime' => [ + 'description' => '诊断报告完成时间。', + 'type' => 'string', + 'example' => '2022-07-11T14:00:00Z', + ], + 'StartTime' => [ + 'description' => '开始时间。调用[CreateDiagnosticReport](~~442490~~)接口创建诊断报告时传入的参数。', + 'type' => 'string', + 'example' => '2022-07-11T12:00:00Z', + ], + 'EndTime' => [ + 'description' => '结束时间。调用[CreateDiagnosticReport](~~442490~~)接口创建诊断报告时传入的参数。', + 'type' => 'string', + 'example' => '2022-07-11T14:00:00Z', + ], + 'Severity' => [ + 'description' => '报告严重等级。所有指标中最严重的等级,严重等级由轻到重如下:'."\n" + ."\n" + .'- Unknown:初始状态,表示未开始诊断或者诊断过程程序异常退出,无诊断结论。'."\n" + .'- Normal:诊断正常,没有发现问题。'."\n" + .'- Info:有关联信息,可能与异常相关。'."\n" + .'- Warn:有关联信息,可能导致异常。'."\n" + .'- Critical:有关键异常。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'MetricSetId' => [ + 'description' => '诊断指标集合ID。', + 'type' => 'string', + 'example' => 'dms-bp17p0qwtr72zmu*****', + ], + 'MetricResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MetricResult' => [ + 'description' => '诊断集合中所有指标的诊断结果。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MetricId' => [ + 'description' => '诊断指标ID。', + 'type' => 'string', + 'example' => 'GuestOS.WinFirewall', + ], + 'MetricCategory' => [ + 'description' => '诊断指标分类。', + 'type' => 'string', + 'example' => 'CPU', + ], + 'Severity' => [ + 'description' => '诊断指标严重等级。可能值:'."\n" + ."\n" + .'- Unknown:初始状态,表示未开始诊断或者诊断过程程序异常退出,无诊断结论。'."\n" + .'- Normal:诊断正常,没有发现问题。'."\n" + .'- Info:有关联信息,可能与异常相关。'."\n" + .'- NotSupport:GuestOS版本不支持诊断该项目。'."\n" + .'- Warn:有关联信息,可能导致异常。'."\n" + .'- Critical:有关键异常。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'Status' => [ + 'description' => '指标诊断状态。可能值:'."\n" + ."\n" + .'- InProgress:诊断中。'."\n" + .'- Finished:诊断完成。'."\n" + .'- Failed:诊断失败。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'Issues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Issue' => [ + 'description' => '诊断问题列表。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断问题列表。', + 'type' => 'object', + 'properties' => [ + 'IssueId' => [ + 'description' => '诊断问题的唯一识别码。', + 'type' => 'string', + 'example' => 'GuestOS.CPU.HighUtiliz*****', + ], + 'Severity' => [ + 'description' => '诊断问题严重程度,严重等级由轻到重如下:'."\n" + ."\n" + .'- Info:有关联信息,可能与异常相关。'."\n" + .'- Warn:有关联信息,可能导致异常。'."\n" + .'- Critical:有关键异常。', + 'type' => 'string', + 'example' => 'Info', + ], + 'Additional' => [ + 'description' => '诊断问题携带的额外数据,帮助理解问题更多信息,数据格式为JSON的字符串。', + 'type' => 'string', + 'example' => '{'."\n" + .' "TotalPercent": 95,'."\n" + .' "TopUtilizationProcesses": ['."\n" + .' {'."\n" + .' "Pid": "1223",'."\n" + .' "CommandName": "/usr/bin/mem.py",'."\n" + .' "PhysicalMemoryPercent": 50'."\n" + .' }'."\n" + .' ]'."\n" + .'}', + ], + 'OccurrenceTime' => [ + 'description' => '问题发生的时间。', + 'type' => 'string', + 'example' => '2022-07-11T14:00:00Z', + ], + 'RepairStatus' => [ + 'title' => '修复状态,执行修复操作后有值。取值范围:'."\n" + .'InProgress:修复中。'."\n" + .'Failed:修复失败。'."\n" + .'Finished:修复完成。', + 'description' => '修复状态,执行修复操作后有值。取值范围:'."\n" + .'InProgress:修复中。'."\n" + .'Failed:修复失败。'."\n" + .'Finished:修复完成。', + 'type' => 'string', + ], + 'Repairable' => [ + 'title' => '是否可自动化修复:false-不可修复,true-可修复', + 'description' => '是否可自动化修复:false-不可修复,true-可修复', + 'type' => 'boolean', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'Attributes' => [ + 'description' => '诊断报告的扩展属性。', + 'type' => 'string', + 'example' => '{"OfflineDiagReportStatus":"CONFIRMED"}', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter.ReportNotExist', + 'errorMessage' => 'The specified report does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ResourceId\\": \\"i-uf6i0tv2refv8wz*****\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"ReportId\\": \\"dr-uf6i0tv2refv8wz*****\\",\\n \\"Status\\": \\"Finished\\",\\n \\"CreationTime\\": \\"2022-07-11T12:00:00Z\\",\\n \\"FinishedTime\\": \\"2022-07-11T14:00:00Z\\",\\n \\"StartTime\\": \\"2022-07-11T12:00:00Z\\",\\n \\"EndTime\\": \\"2022-07-11T14:00:00Z\\",\\n \\"Severity\\": \\"Normal\\",\\n \\"MetricSetId\\": \\"dms-bp17p0qwtr72zmu*****\\",\\n \\"MetricResults\\": {\\n \\"MetricResult\\": [\\n {\\n \\"MetricId\\": \\"GuestOS.WinFirewall\\",\\n \\"MetricCategory\\": \\"CPU\\",\\n \\"Severity\\": \\"Normal\\",\\n \\"Status\\": \\"Finished\\",\\n \\"Issues\\": {\\n \\"Issue\\": [\\n {\\n \\"IssueId\\": \\"GuestOS.CPU.HighUtiliz*****\\",\\n \\"Severity\\": \\"Info\\",\\n \\"Additional\\": \\"{\\\\n \\\\\\"TotalPercent\\\\\\": 95,\\\\n \\\\\\"TopUtilizationProcesses\\\\\\": [\\\\n {\\\\n \\\\\\"Pid\\\\\\": \\\\\\"1223\\\\\\",\\\\n \\\\\\"CommandName\\\\\\": \\\\\\"/usr/bin/mem.py\\\\\\",\\\\n \\\\\\"PhysicalMemoryPercent\\\\\\": 50\\\\n }\\\\n ]\\\\n}\\",\\n \\"OccurrenceTime\\": \\"2022-07-11T14:00:00Z\\",\\n \\"RepairStatus\\": \\"\\",\\n \\"Repairable\\": true\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Attributes\\": \\"{\\\\\\"OfflineDiagReportStatus\\\\\\":\\\\\\"CONFIRMED\\\\\\"}\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n i-uf6i0tv2refv8wz*****\\n instance\\n dr-uf6i0tv2refv8wz*****\\n Finished\\n 2022-07-11T12:00:00Z\\n 2022-07-11T14:00:00Z\\n 2022-07-11T12:00:00Z\\n 2022-07-11T14:00:00Z\\n Normal\\n dms-bp17p0qwtr72zmu*****\\n \\n GuestOS.WinFirewall\\n CPU\\n Normal\\n Finished\\n \\n GuestOS.CPU.HighUtiliz*****\\n Info\\n {\\n \\"TotalPercent\\": 95,\\n \\"TopUtilizationProcesses\\": [\\n {\\n \\"Pid\\": \\"1223\\",\\n \\"CommandName\\": \\"/usr/bin/mem.py\\",\\n \\"PhysicalMemoryPercent\\": 50\\n }\\n ]\\n}\\n 2022-07-11T14:00:00Z\\n \\n \\n {\\"OfflineDiagReportStatus\\":\\"CONFIRMED\\"}\\n","errorExample":""}]', + 'title' => '查询资源诊断报告详情', + ], + 'DeleteDiagnosticReports' => [ + 'summary' => '调用DeleteDiagnosticReports删除资源诊断报告。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '142758', + 'abilityTreeNodes' => [ + 'FEATUREecsE0CAY4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ReportIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '诊断报告ID列表。最多支持100个ID。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断报告ID列表。最多支持100个ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dr-uf6i0tv2refv8wz*****', + ], + 'required' => true, + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE*****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidStatus.InProgress', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidResource.NotFound', + 'errorMessage' => 'The specified resource not exists.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE*****\\n","errorExample":""}]', + 'title' => '删除资源诊断报告', + 'description' => '不支持删除诊断中的报告。', + ], + 'GetInstanceScreenshot' => [ + 'summary' => '调用GetInstanceScreenshot获取实例的截屏信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29298', + 'abilityTreeNodes' => [ + 'FEATUREecs3YSCYT', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用 [DescribeRegions](~~25609~~) 查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shenzhen', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用 [DescribeRegions](~~25609~~) 查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shenzhen', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1gbz20g229bvu5****', + ], + ], + [ + 'name' => 'WakeUp', + 'in' => 'query', + 'schema' => [ + 'description' => '是否唤醒处于休眠状态的实例。'."\n" + ."\n" + .'默认值:false', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1gbz20g229bvu5****', + ], + 'Screenshot' => [ + 'description' => 'JPG图像格式的实例截屏,返回Base64编码后的图像。', + 'type' => 'string', + 'example' => 'iVBORw0KGgoA...AAABJRU5ErkJggg==', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotSupported', + 'errorMessage' => '%s', + ], + ], + 429 => [ + [ + 'errorCode' => 'Throttling', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"InstanceId\\": \\"i-bp1gbz20g229bvu5****\\",\\n \\"Screenshot\\": \\"iVBORw0KGgoA...AAABJRU5ErkJggg==\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"22A1933F-AD02-4560-A6A7-53CF2231D942\\",\\n \\"InstanceId\\": \\"i-j5e42sbbthlokka11ech\\",\\n \\"Screenshot\\": \\"iVBORw0KGgoA...AAABJRU5ErkJggg==\\"\\n}"},{"type":"xml","example":"\\n 22A1933F-AD02-4560-A6A7-53CF2231D942\\n i-bp1gbz20g229bvu5****\\n iVBORw0KGgoA...AAABJRU5ErkJggg==\\n","errorExample":"\\n 22A1933F-AD02-4560-A6A7-53CF2231D942\\n i-j5e42sbbthlokka11ech\\n iVBORw0KGgoA...AAABJRU5ErkJggg==\\n"}]', + 'title' => '获取实例的截屏信息', + 'description' => '云服务器ECS返回Base64编码后的JPG图像格式的实例截屏后,您需要自行解码。您可以在排查故障时调用该接口,并请注意:'."\n" + ."\n" + .'- 实例必须处于运行中(Running)状态。 '."\n" + ."\n" + .'- [已停售的实例规格](~~55263~~)无法获取截屏信息。 '."\n" + ."\n" + .'- 在同一台实例中多次调用该接口时,调用的间隔时间至少10秒,否则将返回错误码`Throttling`。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetInstanceConsoleOutput' => [ + 'summary' => '获取一台实例的系统命令行输出,数据以Base64编码后返回。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29297', + 'abilityTreeNodes' => [ + 'FEATUREecsQDYV10', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1c1xhsrac2coiw****', + ], + ], + [ + 'name' => 'RemoveSymbols', + 'in' => 'query', + 'schema' => [ + 'description' => '是否去除返回文本中的排版符号。取值范围:'."\n" + .'- true:去除'."\n" + .'- false:不去除'."\n" + ."\n" + .'默认值:false', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'LastUpdateTime' => [ + 'description' => '该字段记录的是Linux内核日志打印最后一条日志时的北京时间,格式为yyyy-MM-dd HH:mm:ss。', + 'type' => 'string', + 'example' => '2018-03-22 10:04:57', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1c1xhsrac2coiw****', + ], + 'ConsoleOutput' => [ + 'description' => '实例的系统命令行输出,根据Base64编码后输出。', + 'type' => 'string', + 'example' => 'V2VsY29tZSB0byBDZW50T1MgCgpDaGVja2luZyBmaWxlc3lzdGVtcwpDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgpbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgL2Rldi92ZGExIAovZGV2L3ZkYTE6IGNsZWFuLCAzMjAxNi8yNjIxNDQwIGZpbGVzLCA0NDc5NzQvMTA0ODU1MDQgYmxvY2tzCgpFbnRlcmluZyBub24taW50ZXJhY3RpdmUgc3RhcnR1cApDYWxsaW5nIHRoZSBzeXN0ZW0gYWN0aXZpdHkgZGF0YSBjb2xsZWN0b3IgKHNhZGMpLi4uIAoKQnJpbmdpbmcgdXAgaW50ZXJmYWNlIGV0aDA6ICAKRGV0ZXJtaW5pbmcgSVAgaW5mb3JtYXRpb24gZm9yIGV0aDAuLi4gZG9uZS4KCmFsaXl1bi1zZXJ2aWNlIHN0YXJ0L3J1bm5pbmcsIHByb2Nlc3MgMTczMwpmaW5pc2hlZAoKQ2VudE9TIHJlbGVhc2UgNi44IChGaW5hbCkKS2VybmVsIDIuNi4zMi02OTYuMy4yLmVsNi5pNjg2IG9uIGFuIGk2ODYKCmlaMnplZDk2ZTQ2MmF5cjBxeioqKioqIGxvZ2luOg==', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotSupported', + 'errorMessage' => '%s', + ], + ], + 429 => [ + [ + 'errorCode' => 'Throttling', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"LastUpdateTime\\": \\"2018-03-22 10:04:57\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"InstanceId\\": \\"i-bp1c1xhsrac2coiw****\\",\\n \\"ConsoleOutput\\": \\"V2VsY29tZSB0byBDZW50T1MgCgpDaGVja2luZyBmaWxlc3lzdGVtcwpDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgpbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgL2Rldi92ZGExIAovZGV2L3ZkYTE6IGNsZWFuLCAzMjAxNi8yNjIxNDQwIGZpbGVzLCA0NDc5NzQvMTA0ODU1MDQgYmxvY2tzCgpFbnRlcmluZyBub24taW50ZXJhY3RpdmUgc3RhcnR1cApDYWxsaW5nIHRoZSBzeXN0ZW0gYWN0aXZpdHkgZGF0YSBjb2xsZWN0b3IgKHNhZGMpLi4uIAoKQnJpbmdpbmcgdXAgaW50ZXJmYWNlIGV0aDA6ICAKRGV0ZXJtaW5pbmcgSVAgaW5mb3JtYXRpb24gZm9yIGV0aDAuLi4gZG9uZS4KCmFsaXl1bi1zZXJ2aWNlIHN0YXJ0L3J1bm5pbmcsIHByb2Nlc3MgMTczMwpmaW5pc2hlZAoKQ2VudE9TIHJlbGVhc2UgNi44IChGaW5hbCkKS2VybmVsIDIuNi4zMi02OTYuMy4yLmVsNi5pNjg2IG9uIGFuIGk2ODYKCmlaMnplZDk2ZTQ2MmF5cjBxeioqKioqIGxvZ2luOg==\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"22A1933F-AD02-4560-A6A7-53CF2231D942\\",\\n \\"InstanceId\\": \\"i-j5e42sbbthlokka11ech\\",\\n \\"LastUpdateTime\\": \\"2018-03-22 10:04:57\\",\\n \\"ConsoleOutput\\": \\"V2VsY29tZSB0byBDZW50T1MgCgpDaGVja2luZyBmaWxlc3lzdGVtcwpDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgpbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgL2Rldi92ZGExIAovZGV2L3ZkYTE6IGNsZWFuLCAzMjAxNi8yNjIxNDQwIGZpbGVzLCA0NDc5NzQvMTA0ODU1MDQgYmxvY2tzCgpFbnRlcmluZyBub24taW50ZXJhY3RpdmUgc3RhcnR1cApDYWxsaW5nIHRoZSBzeXN0ZW0gYWN0aXZpdHkgZGF0YSBjb2xsZWN0b3IgKHNhZGMpLi4uIAoKQnJpbmdpbmcgdXAgaW50ZXJmYWNlIGV0aDA6ICAKRGV0ZXJtaW5pbmcgSVAgaW5mb3JtYXRpb24gZm9yIGV0aDAuLi4gZG9uZS4KCmFsaXl1bi1zZXJ2aWNlIHN0YXJ0L3J1bm5pbmcsIHByb2Nlc3MgMTczMwpmaW5pc2hlZAoKQ2VudE9TIHJlbGVhc2UgNi44IChGaW5hbCkKS2VybmVsIDIuNi4zMi02OTYuMy4yLmVsNi5pNjg2IG9uIGFuIGk2ODYKCmlaMnplZDk2ZTQ2MmF5cjBxemw2czhaIGxvZ2luOg==\\"\\n}"},{"type":"xml","example":"\\n 22A1933F-AD02-4560-A6A7-53CF2231D942\\n i-bp1c1xhsrac2coiw****\\n 2018-03-22 10:04:57\\n V2VsY29tZSB0byBDZW50T1MgCgpDaGVja2luZyBmaWxlc3lzdGVtcwpDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgpbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgL2Rldi92ZGExIAovZGV2L3ZkYTE6IGNsZWFuLCAzMjAxNi8yNjIxNDQwIGZpbGVzLCA0NDc5NzQvMTA0ODU1MDQgYmxvY2tzCgpFbnRlcmluZyBub24taW50ZXJhY3RpdmUgc3RhcnR1cApDYWxsaW5nIHRoZSBzeXN0ZW0gYWN0aXZpdHkgZGF0YSBjb2xsZWN0b3IgKHNhZGMpLi4uIAoKQnJpbmdpbmcgdXAgaW50ZXJmYWNlIGV0aDA6ICAKRGV0ZXJtaW5pbmcgSVAgaW5mb3JtYXRpb24gZm9yIGV0aDAuLi4gZG9uZS4KCmFsaXl1bi1zZXJ2aWNlIHN0YXJ0L3J1bm5pbmcsIHByb2Nlc3MgMTczMwpmaW5pc2hlZAoKQ2VudE9TIHJlbGVhc2UgNi44IChGaW5hbCkKS2VybmVsIDIuNi4zMi02OTYuMy4yLmVsNi5pNjg2IG9uIGFuIGk2ODYKCmlaMnplZDk2ZTQ2MmF5cjBxeioqKioqIGxvZ2luOg==\\n","errorExample":"\\n 22A1933F-AD02-4560-A6A7-53CF2231D942\\n i-j5e42sbbthlokka11ech\\n 2018-03-22 10:04:57\\n V2VsY29tZSB0byBDZW50T1MgCgpDaGVja2luZyBmaWxlc3lzdGVtcwpDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgpbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgL2Rldi92ZGExIAovZGV2L3ZkYTE6IGNsZWFuLCAzMjAxNi8yNjIxNDQwIGZpbGVzLCA0NDc5NzQvMTA0ODU1MDQgYmxvY2tzCgpFbnRlcmluZyBub24taW50ZXJhY3RpdmUgc3RhcnR1cApDYWxsaW5nIHRoZSBzeXN0ZW0gYWN0aXZpdHkgZGF0YSBjb2xsZWN0b3IgKHNhZGMpLi4uIAoKQnJpbmdpbmcgdXAgaW50ZXJmYWNlIGV0aDA6ICAKRGV0ZXJtaW5pbmcgSVAgaW5mb3JtYXRpb24gZm9yIGV0aDAuLi4gZG9uZS4KCmFsaXl1bi1zZXJ2aWNlIHN0YXJ0L3J1bm5pbmcsIHByb2Nlc3MgMTczMwpmaW5pc2hlZAoKQ2VudE9TIHJlbGVhc2UgNi44IChGaW5hbCkKS2VybmVsIDIuNi4zMi02OTYuMy4yLmVsNi5pNjg2IG9uIGFuIGk2ODYKCmlaMnplZDk2ZTQ2MmF5cjBxemw2czhaIGxvZ2luOg==\\n"}]', + 'title' => '获取实例系统命令行输出', + 'description' => '- 云服务器ECS是虚拟化的云上服务,无法接入显示设备,也无法手动截屏。但是阿里云缓存了实例最近一次启动、重启或者关机时的系统命令行输出,您可以调用GetInstanceConsoleOutput获取。'."\n" + ."\n" + .'- [已停售的实例规格](~~55263~~)无法获取系统命令行输出。'."\n" + ."\n" + .'- Windows实例不支持获取系统命令行输出。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDiskMonitorData' => [ + 'summary' => '查询一块云盘在指定时间内的使用信息,例如,云盘读IOPS、写IOPS、读带宽(B/s)、写带宽(B/s)、读时延(μs)以及写时延(μs)。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28921', + 'abilityTreeNodes' => [ + 'FEATUREecsTKAXF8', + 'FEATUREecs70JNQP', + ], + ], + 'parameters' => [ + [ + 'name' => 'DiskId', + 'in' => 'query', + 'schema' => [ + 'description' => '待查询的云盘ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'd-bp1bq5g3dxxo1x4o****', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '数据的起始时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果秒(ss)不是00,则自动取为下一分钟开始时。'."\n" + ."\n" + .'> 一次最多能查询近30天内的监控信息,即参数`StartTime`距今不能超过30天。', + 'type' => 'string', + 'required' => true, + 'example' => '2014-07-23T12:07:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '数据的结束时间。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果秒(ss)不是00,则自动取为下一分钟开始时。', + 'type' => 'string', + 'required' => true, + 'example' => '2014-07-23T12:09:00Z', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '数据的精度,单位为秒。取值范围:'."\n" + ."\n" + .'- 60。'."\n" + .'- 600。 '."\n" + .'- 3600。'."\n" + ."\n" + .'默认值:60。'."\n" + ."\n" + .'> (EndTime–StartTime)/Period必须小于等于400,即一次最多返回400个周期的数据。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + 'default' => '60', + 'enum' => [ + '60', + '600', + '3600', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => '云盘使用信息的返回条目数量,即周期数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'MonitorData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DiskMonitorData' => [ + 'description' => '云盘的监控数据集合。', + 'type' => 'array', + 'items' => [ + 'description' => '云盘的监控数据集合。', + 'type' => 'object', + 'properties' => [ + 'BPSRead' => [ + 'description' => '云盘读带宽,单位:Byte/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'IOPSRead' => [ + 'description' => '云盘I/O读操作,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'LatencyRead' => [ + 'description' => '云盘读时延。单位:μs(微秒)。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'BPSTotal' => [ + 'description' => '云盘读写总带宽,单位:Byte/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '204', + ], + 'IOPSTotal' => [ + 'description' => '云盘I/O读写总操作,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'TimeStamp' => [ + 'description' => '查询监控信息的时间戳。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2014-07-23T12:07:00Z', + ], + 'LatencyWrite' => [ + 'description' => '云盘写时延。单位:μs(微秒)。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'IOPSWrite' => [ + 'description' => '云盘I/O写操作,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'DiskId' => [ + 'description' => '云盘ID。', + 'type' => 'string', + 'example' => 'd-bp1bq5g3dxxo1x4o****', + ], + 'BPSWrite' => [ + 'description' => '云盘写带宽,单位:Byte/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '204', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified parameter "StartTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Period" is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.TooEarly', + 'errorMessage' => 'The specified parameter "StartTime" is too early.', + ], + [ + 'errorCode' => 'InvalidParameter.TooManyDataQueried', + 'errorMessage' => 'Too many data queried.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportCredit', + 'errorMessage' => 'The InstanceType of the specified instance does not support credit.', + ], + [ + 'errorCode' => 'InvalidParameter.EndTime', + 'errorMessage' => 'The specified parameter EndTime is earlier than StartTime.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The DiskId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 3,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"MonitorData\\": {\\n \\"DiskMonitorData\\": [\\n {\\n \\"BPSRead\\": 0,\\n \\"IOPSRead\\": 0,\\n \\"LatencyRead\\": 0,\\n \\"BPSTotal\\": 204,\\n \\"IOPSTotal\\": 0,\\n \\"TimeStamp\\": \\"2014-07-23T12:07:00Z\\",\\n \\"LatencyWrite\\": 0,\\n \\"IOPSWrite\\": 0,\\n \\"DiskId\\": \\"d-bp1bq5g3dxxo1x4o****\\",\\n \\"BPSWrite\\": 204\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"MonitorData\\": {\\n \\"DiskMonitorData\\": [\\n {\\n \\"BPSRead\\": 0,\\n \\"BPSTotal\\": 0,\\n \\"BPSWrite\\": 0,\\n \\"DiskId\\": \\"d-23b3p4r8b\\",\\n \\"IOPSRead\\": 0,\\n \\"IOPSTotal\\": 0,\\n \\"IOPSWrite\\": 0,\\n \\"TimeStamp\\": \\"2014-07-23T12:07:00Z\\"\\n },\\n {\\n \\"BPSRead\\": 0,\\n \\"BPSTotal\\": 204,\\n \\"BPSWrite\\": 204,\\n \\"DiskId\\": \\"d-23b3p4r8b\\",\\n \\"IOPSRead\\": 0,\\n \\"IOPSTotal\\": 0,\\n \\"IOPSWrite\\": 0,\\n \\"TimeStamp\\": \\"2014-07-23T12:08:00Z\\"\\n },\\n {\\n \\"BPSRead\\": 0,\\n \\"BPSTotal\\": 819,\\n \\"BPSWrite\\": 819,\\n \\"DiskId\\": \\"d-23b3p4r8b\\",\\n \\"IOPSRead\\": 0,\\n \\"IOPSTotal\\": 0,\\n \\"IOPSWrite\\": 0,\\n \\"TimeStamp\\": \\"2014-07-23T12:09:00Z\\"\\n }\\n ]\\n }, \\n \\"RequestId\\": \\"A48A0A77-34F5-4C33-9066-9E8D2DA0D8E2\\",\\n \\"TotalCount\\": 3\\n}"},{"type":"xml","example":"\\n \\n \\n 0\\n 0\\n 0\\n d-bp1bq5g3dxxo1x4o****\\n 0\\n 0\\n 0\\n 2014-07-23T12:07:00Z\\n \\n \\n 0\\n 204\\n 204\\n d-bp1bq5g3dxxo1x4o****\\n 0\\n 0\\n 0\\n 2014-07-23T12:08:00Z\\n \\n \\n 0\\n 819\\n 819\\n d-bp1bq5g3dxxo1x4o****\\n 0\\n 0\\n 0\\n 2014-07-23T12:09:00Z\\n \\n \\n BF666447-B171-4076-BCBA-48437C18FD76\\n 3\\n","errorExample":"\\n \\n \\n 0\\n 0\\n 0\\n d-23b3p4r8b\\n 0\\n 0\\n 0\\n 2014-07-23T12:07:00Z\\n \\n \\n 0\\n 204\\n 204\\n d-23b3p4r8b\\n 0\\n 0\\n 0\\n 2014-07-23T12:08:00Z\\n \\n \\n 0\\n 819\\n 819\\n d-23b3p4r8b\\n 0\\n 0\\n 0\\n 2014-07-23T12:09:00Z\\n \\n \\n BF666447-B171-4076-BCBA-48437C18FD76\\n 3\\n"}]', + 'title' => '查询云盘监控数据', + 'description' => '调用该接口时,您需要注意以下限制:'."\n" + ."\n" + .'- 只能查询状态为使用中(`In_use`)的云盘使用信息。更多详情,请参见[普通云盘状态表](~~25689~~)。'."\n" + .' > 若查询的信息中出现内容缺失,是因为无法获取该段时间的使用信息,即云盘状态不是使用中(`In_use`)。'."\n" + ."\n" + .'- 一次最多返回400条数据,需满足`(EndTime–StartTime)/Period`小于等于400的条件限制,即返回参数`TotalCount`不能超过400,否则将返回`InvalidParameter.TooManyDataQueried`的错误提示。 '."\n" + ."\n" + .'- 一次最多能查询近30天内的监控信息,即指定的参数`StartTime`距今不能超过30天。'."\n" + ."\n\n" + .'## 请求示例'."\n" + ."\n" + .'假设您需要查询华东 1(杭州)地域下ID为`d-bp14emm68wx98vjk****`的磁盘,在`2025-02-17T00:00:00Z`至`2025-02-18T10:00:00Z`期间,每600秒内的使用信息。相关配置请求参数如下:'."\n" + .'```'."\n" + .'RegionId:"cn-hangzhou", //设置华东 1(杭州)地域'."\n" + .'DiskId:"d-bp14emm68wx98vjk****", //设置磁盘ID'."\n" + .'StartTime:"2025-02-15T00:00:00Z", //设置查询起始时间'."\n" + .'EndTime:"2025-02-17T00:00:00Z", //设置查询结束时间'."\n" + .'Period:"600", //设置数据精度'."\n" + .'```', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceMonitorData' => [ + 'summary' => '调用DescribeInstanceMonitorData查询一台ECS实例的监控信息。可查询的指标包括ECS实例的vCPU使用率、突发性能实例积分、接收的数据流量、发送的数据流量、平均带宽等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28951', + 'abilityTreeNodes' => [ + 'FEATUREecsQDYV10', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '待查询的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1a36962lrhj4ab****', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取数据的起始时间点。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果指定的秒(`ss`)不是`00`,则自动换算为下一分钟。 ', + 'type' => 'string', + 'required' => true, + 'example' => '2014-10-29T23:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取数据的结束时间点。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果指定的秒(`ss`)不是`00`,则自动换算为下一分钟。 ', + 'type' => 'string', + 'required' => true, + 'example' => '2014-10-30T08:00:00Z', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '获取监控数据的间隔时间,单位:秒。取值范围: '."\n" + ."\n" + .'- 60。'."\n" + .'- 600。'."\n" + .'- 3600。'."\n" + ."\n" + .'默认值:60。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + 'enum' => [ + '60', + '600', + '3600', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'MonitorData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceMonitorData' => [ + 'description' => '实例的监控数据集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CPUCreditBalance' => [ + 'description' => '突发性能实例积分总数。', + 'type' => 'number', + 'format' => 'float', + 'example' => '120', + ], + 'BPSRead' => [ + 'description' => '实例云盘(包括系统盘和数据盘)的读带宽,单位:Byte/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000', + ], + 'InternetTX' => [ + 'description' => '在查询监控信息时(`TimeStamp`),实例在指定的间隔时间(`Period`)内发送的公网数据流量。单位:kbits。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '343', + ], + 'CPU' => [ + 'description' => '实例vCPU的使用比例,单位:百分比(%)。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'CPUCreditUsage' => [ + 'description' => '突发性能实例已使用的积分数。', + 'type' => 'number', + 'format' => 'float', + 'example' => '30', + ], + 'IOPSWrite' => [ + 'description' => '实例云盘(包括系统盘和数据盘)的I/O写操作,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'IntranetTX' => [ + 'description' => '在查询监控信息时(`TimeStamp`),实例在指定的间隔时间(`Period`)内发送的内网数据流量。单位:kbits。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '343', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp1a36962lrhj4****', + ], + 'BPSWrite' => [ + 'description' => '实例云盘(包括系统盘和数据盘)的写带宽,单位:Byte/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '13585', + ], + 'CPUNotpaidSurplusCreditUsage' => [ + 'description' => '超额未支付积分。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.5', + ], + 'CPUAdvanceCreditBalance' => [ + 'description' => '超额积分(突发性能实例积分超限部分)。', + 'type' => 'number', + 'format' => 'float', + 'example' => '0.4', + ], + 'IOPSRead' => [ + 'description' => '实例云盘(包括系统盘和数据盘)的I/O读操作,单位:次/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000', + ], + 'InternetBandwidth' => [ + 'description' => '实例的公网带宽,单位时间内的网络流量,单位:kbits/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'InternetRX' => [ + 'description' => '在查询监控信息时(`TimeStamp`),实例在指定的间隔时间(`Period`)内接收的公网数据流量。单位:kbits。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '122', + ], + 'TimeStamp' => [ + 'description' => '查询监控信息的时间戳。', + 'type' => 'string', + 'example' => '2014-10-30T05:00:00Z', + ], + 'IntranetRX' => [ + 'description' => '在查询监控信息时(`TimeStamp`),实例在指定的间隔时间(`Period`)内接收的内网数据流量。单位:kbits。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '122', + ], + 'IntranetBandwidth' => [ + 'description' => '实例的内网带宽,单位时间内的网络流量,单位:kbits/s。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified parameter "StartTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Period" is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.TooEarly', + 'errorMessage' => 'The specified parameter "StartTime" is too early.', + ], + [ + 'errorCode' => 'InvalidParameter.TooManyDataQueried', + 'errorMessage' => 'Too many data queried.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified parameter StartTime is later than EndTime.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"MonitorData\\": {\\n \\"InstanceMonitorData\\": [\\n {\\n \\"CPUCreditBalance\\": 120,\\n \\"BPSRead\\": 1000,\\n \\"InternetTX\\": 343,\\n \\"CPU\\": 2,\\n \\"CPUCreditUsage\\": 30,\\n \\"IOPSWrite\\": 200,\\n \\"IntranetTX\\": 343,\\n \\"InstanceId\\": \\"i-bp1a36962lrhj4****\\",\\n \\"BPSWrite\\": 13585,\\n \\"CPUNotpaidSurplusCreditUsage\\": 0.5,\\n \\"CPUAdvanceCreditBalance\\": 0.4,\\n \\"IOPSRead\\": 1000,\\n \\"InternetBandwidth\\": 10,\\n \\"InternetRX\\": 122,\\n \\"TimeStamp\\": \\"2014-10-30T05:00:00Z\\",\\n \\"IntranetRX\\": 122,\\n \\"IntranetBandwidth\\": 10\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"C8B26B44-0189-443E-9816-D951F59623A9\\",\\n \\"MonitorData\\": {\\n \\"InstanceMonitorData\\": [{\\n \\"InstanceId\\": \\"Bc0102-23xYm09\\",\\n \\"CPU\\": 0,\\n \\"IntranetRX\\": 122,\\n \\"IntranetTX\\": 343,\\n \\"IntranetFlow\\": 675,\\n \\"IntranetBandwidth\\": 10,\\n \\"InternetRX\\": 122,\\n \\"InternetTX\\": 343,\\n \\"InternetFlow\\": 675,\\n \\"InternetBandwidth\\": 10,\\n \\"IOPSRead\\": 1000,\\n \\"IOPSWrite\\": 200,\\n \\"BPSRead\\": 1000,\\n \\"BPSWrite\\": 200,\\n \\"TimeStamp\\": \\"2010-01-21T09:50:23Z\\"\\n }]\\n }\\n}"},{"type":"xml","example":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n \\n \\n i-bp1a36962lrhj4ab****\\n 2\\n 122\\n 343\\n 675\\n 10\\n 122\\n 343\\n 675\\n 10\\n 1000\\n 200\\n 1000\\n 13585\\n 2014-10-30T05:00:00Z\\n \\n \\n","errorExample":"\\n C8B26B44-0189-443E-9816-D951F59623A9\\n \\n \\n Bc0102-23xYm09\\n 2\\n 122\\n 343\\n 675\\n 10\\n 122\\n 343\\n 675\\n 10\\n 1000\\n 200\\n 1000\\n 200\\n 2010-01-21T09:50:23Z\\n \\n \\n"}]', + 'title' => '查询实例监控数据', + 'description' => '## 接口说明'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 一次最多返回400条数据,需满足`(EndTime–StartTime)/Period`小于等于400的条件限制,即返回参数`TotalCount`不能超过400,否则将返回`InvalidParameter.TooManyDataQueried`的错误提示。 '."\n" + ."\n" + .'- 一次最多能查询近30天内的监控信息,即指定的参数`StartTime`距今不能超过30天。'."\n" + ."\n" + .'- 当返回信息中缺少部分内容时,可能是系统没有获取到相应的信息。例如,当时实例处于已停止(Stopped)状态。'."\n" + ."\n" + .'- 该接口暂无法获取EBM弹性裸金属实例的CPU基础监控信息,您可通过安装云监控插件获取CPU监控信息。具体操作,请参见[安装云监控插件](~~183482~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeEniMonitorData' => [ + 'summary' => '调用DescribeEniMonitorData查询一块辅助网卡在指定时间段内使用的流量信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28929', + 'abilityTreeNodes' => [ + 'FEATUREecsTML5VX', + ], + ], + 'parameters' => [ + [ + 'name' => 'EniId', + 'in' => 'query', + 'schema' => [ + 'description' => '辅助网卡的ID。默认查询指定实例上所有已绑定的辅助网卡。', + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp19da36d6xdwey****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '辅助网卡绑定的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1a5zr3u7nq9cx****', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取数据的起始时间点。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果指定的秒(ss)不是00,则自动换算为下一分钟。 ', + 'type' => 'string', + 'required' => true, + 'example' => '2018-05-21T12:19:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取数据的结束时间点。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果指定的秒(ss)不是00,则自动换算为下一分钟。 ', + 'type' => 'string', + 'required' => true, + 'example' => '2018-05-21T12:22:00Z', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '获取监控数据的间隔时间,单位:秒。取值范围:'."\n" + .'- 60。'."\n" + .'- 600。'."\n" + .'- 3600。'."\n" + ."\n" + .'默认值:60。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + 'default' => '60', + 'enum' => [ + '60', + '600', + '3600', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => '返回条目数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'MonitorData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EniMonitorData' => [ + 'description' => '辅助网卡流量的监控数据EniMonitorDataType组成的集合。 ', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PacketRx' => [ + 'description' => '辅助网卡接收的内网数据包,单位:packets。', + 'type' => 'string', + 'example' => '0', + ], + 'TimeStamp' => [ + 'description' => '查询监控信息的时间戳。按照ISO 8601标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2018-05-21T03:22:00Z', + ], + 'DropPacketRx' => [ + 'description' => '辅助网卡接收丢弃的内网数据包,单位:packets。', + 'type' => 'string', + 'example' => '0', + ], + 'EniId' => [ + 'description' => '辅助网卡ID。', + 'type' => 'string', + 'example' => 'eni-bp19da36d6xdwey****', + ], + 'DropPacketTx' => [ + 'description' => '辅助网卡发送丢弃的内网数据包,单位:packets。', + 'type' => 'string', + 'example' => '0', + ], + 'PacketTx' => [ + 'description' => '辅助网卡发送的内网数据包,单位:packets。', + 'type' => 'string', + 'example' => '0', + ], + 'IntranetTx' => [ + 'description' => '辅助网卡发送的内网数据平均速率,单位:kB/s。', + 'type' => 'string', + 'example' => '0', + ], + 'IntranetRx' => [ + 'description' => '辅助网卡接收的内网数据平均速率,单位:kB/s。', + 'type' => 'string', + 'example' => '0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => 'The specified ENI ID does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified parameter "StartTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Period" is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.TooEarly', + 'errorMessage' => 'The specified parameter "StartTime" is too early.', + ], + [ + 'errorCode' => 'InvalidParameter.TooManyDataQueried', + 'errorMessage' => 'Too many data queried.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + [ + 'errorCode' => 'InvalidInstanceType.NotSupportCredit', + 'errorMessage' => 'The InstanceType of the specified instance does not support credit.', + ], + [ + 'errorCode' => 'InvalidParameter.EndTime', + 'errorMessage' => 'The specified parameter EndTime is earlier than StartTime.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDiskId.NotFound', + 'errorMessage' => 'The DiskId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidEcsId.NotFound', + 'errorMessage' => 'The specified instance ID is invalid.', + ], + ], + 4003 => [ + [ + 'errorCode' => 'InvalidParam.Malformed', + 'errorMessage' => 'The specified parameter "EniId" and "InstanceId" are not valid', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 4,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"MonitorData\\": {\\n \\"EniMonitorData\\": [\\n {\\n \\"PacketRx\\": \\"0\\",\\n \\"TimeStamp\\": \\"2018-05-21T03:22:00Z\\",\\n \\"DropPacketRx\\": \\"0\\",\\n \\"EniId\\": \\"eni-bp19da36d6xdwey****\\",\\n \\"DropPacketTx\\": \\"0\\",\\n \\"PacketTx\\": \\"0\\",\\n \\"IntranetTx\\": \\"0\\",\\n \\"IntranetRx\\": \\"0\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\":\\"5A03C2BA-3BCE-4A87-8076-7DC1629\\",\\n \\"MonitorData\\":{\\n \\"EniMonitorData\\":[\\n {\\n \\"PacketTx\\":0,\\n \\"TimeStamp\\":\\"2018-05-21T03:22:00Z\\",\\n \\"IntranetOut\\":0,\\n \\"DropPacketRx\\":0,\\n \\"IntranetIn\\":0,\\n \\"EniId\\":\\"eni-myENI\\",\\n \\"DropPacketTx\\":0,\\n \\"PacketRx\\":0\\n },\\n {\\n \\"PacketTx\\":0,\\n \\"TimeStamp\\":\\"2018-05-21T03:21:00Z\\",\\n \\"IntranetOut\\":0,\\n \\"DropPacketRx\\":0,\\n \\"IntranetIn\\":0,\\n \\"EniId\\":\\"eni-myENI\\",\\n \\"DropPacketTx\\":0,\\n \\"PacketRx\\":0\\n },\\n {\\n \\"PacketTx\\":52240,\\n \\"TimeStamp\\":\\"2018-05-21T03:19:00Z\\",\\n \\"IntranetOut\\":73344,\\n \\"DropPacketRx\\":0,\\n \\"IntranetIn\\":467,\\n \\"EniId\\":\\"eni-myENI\\",\\n \\"DropPacketTx\\":0,\\n \\"PacketRx\\":6603\\n },\\n {\\n \\"PacketTx\\":34925,\\n \\"TimeStamp\\":\\"2018-05-21T03:20:00Z\\",\\n \\"IntranetOut\\":48871,\\n \\"DropPacketRx\\":0,\\n \\"IntranetIn\\":350,\\n \\"EniId\\":\\"eni-myENI\\",\\n \\"DropPacketTx\\":0,\\n \\"PacketRx\\":4888\\n }\\n ]\\n }\\n}"},{"type":"xml","example":"\\n 5A03C2BA-3BCE-4A87-8076-7DC1629\\n \\n \\n 0\\n 2018-05-21T03:22:00Z\\n 0\\n 0\\n 0\\n eni-bp19da36d6xdwey4****\\n 0\\n 0\\n \\n \\n 0\\n 2018-05-21T03:21:00Z\\n 0\\n 0\\n 0\\n eni-bp19da36d6xdwey3****\\n 0\\n 0\\n \\n \\n 52240\\n 2018-05-21T03:19:00Z\\n 73344\\n 0\\n 467\\n eni-bp19da36d6xdwey2****\\n 0\\n 6603\\n \\n \\n 34925\\n 2018-05-21T03:20:00Z\\n 48871\\n 0\\n 350\\n eni-bp19da36d6xdwey1****\\n 0\\n 4888\\n \\n \\n","errorExample":"\\n 5A03C2BA-3BCE-4A87-8076-7DC1629\\n 4\\n \\n \\n 0\\n 2018-05-21T03:22:00Z\\n 0\\n 0\\n 0\\n eni-myENI\\n 0\\n 0\\n \\n \\n 0\\n 2018-05-21T03:21:00Z\\n 0\\n 0\\n 0\\n eni-myENI\\n 0\\n 0\\n \\n \\n 52240\\n 2018-05-21T03:19:00Z\\n 73344\\n 0\\n 467\\n eni-myENI\\n 0\\n 6603\\n \\n \\n 34925\\n 2018-05-21T03:20:00Z\\n 48871\\n 0\\n 350\\n eni-myENI\\n 0\\n 4888\\n \\n \\n"}]', + 'title' => '查询辅助网卡监控数据', + 'description' => '## 接口说明'."\n" + ."\n" + .'可查询的辅助网卡流量信息包括辅助网卡收发数据包的数量、内网出入流量、辅助网卡收发丢包的数量。当返回信息中缺少部分内容时,可能是由于系统没有获取到相应的信息。例如,当实例处于已停止(Stopped)状态或者辅助网卡没有挂载到实例上,即处于可用(Available)状态时,无法获取到相应的信息。调用该接口时,您需要注意: '."\n" + ."\n" + .'- 一次最多返回400条数据,需满足`(EndTime–StartTime)/Period`小于等于400的条件限制,即返回参数`TotalCount`不能超过400,否则将返回`InvalidParameter.TooManyDataQueried`的错误提示。 '."\n" + ."\n" + .'- 一次最多能查询近30天内的监控信息,即指定的参数`StartTime`距今不能超过30天。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeSnapshotMonitorData' => [ + 'summary' => '查询一个地域下近30天内的快照容量变化监控数据。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28997', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取快照容量变化数据的起始时间点。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果指定的秒(ss)不是 00,则自动换算为下一分钟。', + 'type' => 'string', + 'required' => true, + 'example' => '2019-05-10T00:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '获取快照容量变化数据的结束时间点。按照[ISO 8601](~~25696~~)标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。如果指定的秒(ss)不是 00,则自动换算为下一分钟。', + 'type' => 'string', + 'required' => true, + 'example' => '2019-05-10T03:00:00Z', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '获取快照容量变化数据的间隔时间,单位为秒。取值范围:'."\n" + ."\n" + .'- 60'."\n" + .'- 600'."\n" + .'- 3600'."\n" + ."\n" + .'默认值:60。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + 'enum' => [ + '60', + '600', + '3600', + ], + ], + ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => [ + 'description' => '快照类型。取值范围:'."\n" + ."\n" + .'- Standard:标准快照。'."\n" + .'- Flash:本地快照。'."\n" + .'- Archive:归档快照。'."\n" + ."\n" + .'默认值:Standard。', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9F8163A8-F5DE-47A2-A572-4E062D223E09', + ], + 'MonitorData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataPoint' => [ + 'description' => '快照容量变化数据的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Size' => [ + 'description' => '快照总容量,单位:字节(Byte)。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '243036848128', + ], + 'TimeStamp' => [ + 'description' => '某一快照容量数值对应的时间戳。', + 'type' => 'string', + 'example' => '2019-05-10T04:00:00Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified parameter "StartTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Period" is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.TooEarly', + 'errorMessage' => 'The specified parameter "StartTime" is too early.', + ], + [ + 'errorCode' => 'InvalidParameter.TooManyDataQueried', + 'errorMessage' => 'Too many data queried.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9F8163A8-F5DE-47A2-A572-4E062D223E09\\",\\n \\"MonitorData\\": {\\n \\"DataPoint\\": [\\n {\\n \\"Size\\": 243036848128,\\n \\"TimeStamp\\": \\"2019-05-10T04:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n \\r\\n \\r\\n \\r\\n 243036848128\\r\\n 2019-05-10T01:00:00Z\\r\\n \\r\\n \\r\\n 243036848128\\r\\n 2019-05-10T02:00:00Z\\r\\n \\r\\n \\r\\n 243036848128\\r\\n 2019-05-10T03:00:00Z\\r\\n \\r\\n \\r\\n \\r\\n 9F8163A8-F5DE-47A2-A572-4E062D223E09\\r\\n","errorExample":""}]', + 'title' => '查询近30天内快照容量变化监控数据', + 'description' => '## 接口说明'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 一次最多返回400条数据,需满足`(EndTime–StartTime)/Period`小于等于400的条件限制,即返回参数`TotalCount`不能超过400,否则将返回`InvalidParameter.TooManyDataQueried`的错误提示。 '."\n" + ."\n" + .'- 一次最多能查询近30天内的监控信息,即指定的参数`StartTime`距今不能超过30天。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeInstanceMaintenanceAttributes' => [ + 'summary' => '调用DescribeInstanceMaintenanceAttributes查询实例的维护属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28949', + 'abilityTreeNodes' => [ + 'FEATUREecsQDYV10', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '维护属性列表的页码。'."\n" + ."\n" + .'起始值:1'."\n" + ."\n" + .'默认值:1', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '单页返回的条数。取值范围:1~100'."\n" + ."\n" + .'默认值:10', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID列表。可输入最多100个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '单页返回的条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => '维护属性列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '查询到的维护属性总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'MaintenanceAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MaintenanceAttribute' => [ + 'description' => '运维属性的集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NotifyOnMaintenance' => [ + 'description' => '实例宕机运维前是否发送事件通知。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'InstanceId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'MaintenanceWindows' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MaintenanceWindow' => [ + 'description' => '运维窗口实例的列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => '维护时间窗口结束时间。', + 'type' => 'string', + 'example' => '18:00:00', + ], + 'StartTime' => [ + 'description' => '维护时间窗口开始时间。', + 'type' => 'string', + 'example' => '02:00:00', + ], + ], + ], + ], + ], + ], + 'ActionOnMaintenance' => [ + 'description' => '实例的运维动作属性。', + 'type' => 'object', + 'properties' => [ + 'DefaultValue' => [ + 'description' => '维护动作,默认的值。'."\n", + 'type' => 'string', + 'example' => 'AutoRecover', + ], + 'Value' => [ + 'description' => '维护动作,当前生效的值。可能值:'."\n" + ."\n" + .'- Stop: 停止状态(即宕机)。'."\n" + .'- AutoRecover:自动恢复。'."\n" + .'- AutoRedeploy:宕机迁移,数据盘有损。', + 'type' => 'string', + 'example' => 'Stop', + ], + 'SupportedValues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedValue' => [ + 'description' => '由维护动作组成的数组格式,返回支持的运维动作值列表。', + 'type' => 'array', + 'items' => [ + 'description' => '运维动作值。', + 'type' => 'string', + 'example' => 'Stop', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceIdLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NotInWhiteList', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 100,\\n \\"MaintenanceAttributes\\": {\\n \\"MaintenanceAttribute\\": [\\n {\\n \\"NotifyOnMaintenance\\": false,\\n \\"InstanceId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"MaintenanceWindows\\": {\\n \\"MaintenanceWindow\\": [\\n {\\n \\"EndTime\\": \\"18:00:00\\",\\n \\"StartTime\\": \\"02:00:00\\"\\n }\\n ]\\n },\\n \\"ActionOnMaintenance\\": {\\n \\"DefaultValue\\": \\"AutoRecover\\",\\n \\"Value\\": \\"Stop\\",\\n \\"SupportedValues\\": {\\n \\"SupportedValue\\": [\\n \\"Stop\\"\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 10\\n 100\\n \\n \\n i-bp67acfmxazb4ph***\\n false\\n \\n \\n 02:00:00\\n 18:00:00\\n \\n \\n \\n Stop\\n AutoRecover\\n \\n Stop\\n AutoRecover\\n \\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询实例的维护属性', + 'description' => '查询已设定的维护策略,策略中主要包括两个维护属性。'."\n" + ."\n" + .'- 维护时间窗口:您指定的一个时间段,运维只会在该时间内进行。'."\n" + .'- 维护动作:您指定的实例宕机处理策略。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyInstanceMaintenanceAttributes' => [ + 'summary' => '调用ModifyInstanceMaintenanceAttributes修改实例的维护属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29074', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ActionOnMaintenance', + 'in' => 'query', + 'schema' => [ + 'description' => '维护动作。取值范围:'."\n" + ."\n" + .'- Stop:停止状态(即宕机)。'."\n" + .'- AutoRecover:自动恢复。'."\n" + .'- AutoRedeploy:宕机迁移,数据盘有损。', + 'type' => 'string', + 'required' => false, + 'example' => 'AutoRecover', + ], + ], + [ + 'name' => 'NotifyOnMaintenance', + 'in' => 'query', + 'schema' => [ + 'description' => '实例宕机运维前是否发送事件通知。取值范围:'."\n" + ."\n" + .'- true:发送事件通知。'."\n" + .'- false:不发送事件通知。'."\n" + ."\n" + .'默认值:false', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '实例ID。N的取值范围为:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '实例ID。N的取值范围为:1~100。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4ph****', + ], + 'required' => false, + 'example' => 'i-bp67acfmxazb4ph****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'MaintenanceWindow', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '维护时间窗口列表。', + 'type' => 'array', + 'items' => [ + 'description' => '维护时间窗口列表。'."\n" + ."\n", + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => '维护时间窗口结束时间。必须为整小时,不允许设置分、秒。开始时间和结束时间必须同时设置,并且结束时间与开始时间需要间隔1~23个整小时。采用UTC +8时区,格式为`HH:mm:ss`。N的取值为1,只支持设置1个时间窗口。', + 'type' => 'string', + 'required' => false, + 'example' => '18:00:00', + ], + 'StartTime' => [ + 'description' => '维护时间窗口开始时间。必须为整小时,不允许设置分、秒。开始时间和结束时间必须同时设置,并且结束时间与开始时间需要间隔1~23个整小时。采用UTC +8时区,格式为`HH:mm:ss`。N的取值为1,只支持设置1个时间窗口。', + 'type' => 'string', + 'required' => false, + 'example' => '02:00:00', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied.NotInWhiteList', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":" \\r\\n E69FF3CC-94DD-42EF-8836-F33C45EDF9945ED\\r\\n","errorExample":""}]', + 'title' => '修改实例的维护属性', + 'description' => '修改实例的维护策略,策略中包含两个维护属性。'."\n" + ."\n" + .'- 维护时间窗口:您指定的一段时间,运维只会在该时间内进行。'."\n" + .'- 维护动作:您指定的实例宕机处理策略。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RedeployInstance' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29141', + 'abilityTreeNodes' => [ + 'FEATUREecs0ILANB', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '处于运行中或者已停止状态的实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1azkttqpldxgted****', + ], + ], + [ + 'name' => 'ForceStop', + 'in' => 'query', + 'schema' => [ + 'description' => '是否强制停止运行中(Running)的实例。'."\n" + ."\n" + .'默认值:false。'."\n" + ."\n" + .'> 强制停止等同于典型的服务器断电关机,实例操作系统中暂未写入存储设备的数据会丢失。建议您尽量对已停止实例做重新部署操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'TaskId' => [ + 'description' => '重新部署的任务ID。'."\n" + ."\n" + .'您可以使用[DescribeTasks](~~25622~~)接口查询迁移结果。'."\n", + 'type' => 'string', + 'example' => 't-bp10e8orkp8x****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'DiskError', + 'errorMessage' => 'IncorrectDiskStatus.', + ], + [ + 'errorCode' => 'InstanceExpiredOrInArrears', + 'errorMessage' => 'The specified operation is denied as your prepay instance is expired (prepay mode) or in arrears (afterpay mode).', + ], + [ + 'errorCode' => 'InvalidOperation.RedeployInstance', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"t-bp10e8orkp8x****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"1C488B66-B819-4D14-8711-C4EAAA13AC01\\"\\n}"},{"type":"xml","example":"\\n    473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n    t-bp10e8orkp8x****\\n","errorExample":"\\n 1C488B66-B819-4D14-8711-C4EAAA13AC01\\n"}]', + 'title' => '重新部署实例', + 'summary' => '当ECS实例收到系统事件通知时,调用RedeployInstance可以重新部署这台ECS实例。', + 'description' => '## 接口说明'."\n" + ."\n" + .'RedeployInstance为异步调用接口,会重启并迁移实例。重新部署成功后,实例进入运行中(`Running`)状态。重新部署失败时,实例返回原有的物理服务器,并恢复到重新部署前的状态。'."\n" + ."\n" + .'调用该接口时,您需要注意:'."\n" + ."\n" + .'- 目标实例必须处于运行中或者已停止状态,调用接口后的实例状态变化:'."\n" + .' - 处于运行中(`Running`)的实例会进入停止中(`Stopping`)状态。'."\n" + .' - 处于已停止(`Stopped`)的实例会进入启动中(`Starting`)状态。'."\n" + .'- 不支持重新部署专有宿主机上的实例。'."\n" + .'- 被安全控制的实例的`OperationLocks`中标记了`"LockReason": "security"`时,不支持重新部署。'."\n" + .'- 不支持响应通过CreateSimulatedSystemEvent创建的模拟事件。'."\n" + .'- 在隔离本地盘的系统事件流程中,受损本地盘已隔离但尚未发出**因系统维护计划重启并重新初始化坏盘**事件(SystemMaintenance.RebootAndReInitErrorDisk)时,也可以调用RedeployInstance。更多信息,请参见[本地盘实例系统事件概述](~~107693~~)。'."\n" + ."\n" + .'RedeployInstance能响应系统事件类型及事件状态请参见下表。'."\n" + ."\n" + .'| 事件名称及参数 | 事件状态 |'."\n" + .'| --- | --- |'."\n" + .'| 因系统维护实例重启(SystemMaintenance.Reboot)| Inquiring、Scheduled|'."\n" + .'| 因系统维护实例重新部署(SystemMaintenance.Redeploy)| Inquiring、Scheduled |'."\n" + .'| 因系统维护重启并更换坏盘(SystemMaintenance.RebootAndIsolateErrorDisk)| Inquiring |'."\n" + .'| 因系统维护重启并重新初始化坏盘(SystemMaintenance.RebootAndReInitErrorDisk)| Inquiring |'."\n" + .'| 因系统错误实例重新部署(SystemFailure.Redeploy)| Inquiring |'."\n" + .'| 仅限使用了本地盘的ECS实例:因系统错误实例重新启动(SystemFailure.Reboot)| Executing |'."\n" + .'| 因系统维护隔离坏盘(SystemMaintenance.IsolateErrorDisk) | Inquiring |'."\n" + .'| 因系统维护重新初始化坏盘(SystemMaintenance.ReInitErrorDisk) | Inquiring |'."\n" + ."\n" + .'> 重新部署本地盘实例会重新初始化本地盘,存储设备的数据被清空。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReportInstancesStatus' => [ + 'summary' => '调用ReportInstancesStatus反馈一台或者多台ECS实例的异常问题。您可以反馈多台ECS实例发生的相同问题,也可以反馈一台ECS实例的多块磁盘发生的相同问题。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29311', + 'abilityTreeNodes' => [ + 'FEATUREecs7AL3YP', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Reason', + 'in' => 'query', + 'schema' => [ + 'description' => '异常问题对ECS实例造成的影响。取值范围:'."\n" + ."\n" + .'- instance-hang:ECS实例不可用,或无法连接。'."\n" + .'- instance-stuck-in-status:ECS实例长时间停留在某一个状态,如Starting或Stopping状态。'."\n" + .'- abnormal-network:ECS实例发生网络异常。'."\n" + .'- abnormal-local-disk:ECS实例挂载的本地盘出现异常。'."\n" + .'- abnormal-cloud-disk:ECS实例挂载的云盘或共享块存储出现异常。'."\n" + .'- others:其他异常类型。当以上影响类型不符合条件时,您可以设置`Reason=others`并在`Description`中描述更多信息。', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'abnormal-local-disk', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '异常问题的详细描述。', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '本地盘不可用,挂载点拒绝访问,无法加载文件。', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '实例异常问题开始时间。按照ISO8601标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-11-30T06:32:31Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '实例异常问题结束时间。按照ISO8601标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2017-11-31T06:32:31Z', + ], + ], + [ + 'name' => 'IssueCategory', + 'in' => 'query', + 'schema' => [ + 'description' => '异常问题的类别。该参数仅适用于弹性裸金属服务器实例。取值范围:'."\n" + .'- hardware-cpu-error:CPU故障'."\n" + .'- hardware-motherboard-error:主板故障'."\n" + .'- hardware-mem-error:内存故障'."\n" + .'- hardware-power-error:电源故障'."\n" + .'- hardware-disk-error:磁盘故障'."\n" + .'- hardware-networkcard-error:网卡故障'."\n" + .'- hardware-raidcard-error:SAS/RAID卡故障'."\n" + .'- hardware-fan-error:风扇故障'."\n" + .'- others:其他', + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'hardware-cpu-error', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'ECS实例ID列表。最多可输入100个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECS实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp165p6xk2tmdhj0****', + ], + 'required' => true, + 'example' => 'i-bp165p6xk2tmdhj0****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'DiskId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '发生相同异常问题的磁盘ID列表。可输入最多100个磁盘ID。如果您使用的是弹性裸金属服务器实例,请填写磁盘设备对应的SN列表。'."\n" + ."\n" + .'> 当参数`Reason`值为`abnormal-local-disk`或`abnormal-cloud-disk`,或者参数`IssueCategory`值为`hardware-disk-error`时,该参数为必填参数。', + 'type' => 'array', + 'items' => [ + 'description' => '磁盘ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'd-bp1aeljlfad7x6u1****', + ], + 'required' => false, + 'example' => 'd-bp1aeljlfad7x6u1****', + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Device', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '发生相同异常问题的磁盘的挂载的设备名列表。可输入最多100个设备名。'."\n" + ."\n" + .'如果您使用的是弹性裸金属服务器实例,请填写磁盘设备对应SLOT槽位信息列表。'."\n" + ."\n" + .'> 对于弹性裸金属服务器实例,当参数`Reason`值为`abnormal-local-disk`或`abnormal-cloud-disk`,或者参数`IssueCategory`值为`hardware-disk-error`时,该参数为必填参数。', + 'type' => 'array', + 'items' => [ + 'description' => '设备名。', + 'type' => 'string', + 'required' => false, + 'example' => '/dev/xvdb', + ], + 'required' => false, + 'example' => '/dev/xvdb', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InstanceIdLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'DiskIdLimitExceeded', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 4DD56CA6-6D75-4D33-BE34-E4A44EBE1C3D\\n","errorExample":""}]', + 'title' => '反馈一台或者多台ECS实例异常问题', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'TagResources' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '29319', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型定义。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- volume:存储卷。'."\n" + .'- eni:弹性网卡。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- ddhcluster:专有宿主机集群。'."\n" + .'- keypair:SSH密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- snapshotpolicy:自动快照策略。'."\n" + .'- elasticityassurance:弹性保障。'."\n" + .'- capacityreservation:容量预定。'."\n" + .'- command:云助手命令。'."\n" + .'- invocation:云助手命令执行或文件下发结果。'."\n" + .'- activation:云助手托管实例激活码。'."\n" + .'- managedinstance:云助手托管实例。', + 'type' => 'string', + 'required' => true, + 'example' => 'instance', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID数组。数组长度:1~50。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'r-XXX', + ], + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签数组。数组长度:1~20。如果数组中有多个标签对象,标签键`Key`不允许重复。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对象。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键,不允许为空和空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => true, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '标签值。不允许为空,可以为空字符串。最多支持128个字符,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => true, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NumberExceed.ResourceIds', + 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 50.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter\'s number is exceed , Valid : 20.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.QuotaExceed', + 'errorMessage' => 'The quota of tags on resource is beyond permitted range.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'Invalid.Scope', + 'errorMessage' => 'The specified scope is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'PermissionDenied.TagOwnerBid', + 'errorMessage' => 'The specified operator not have permission to set TagOwnerBid value.', + ], + [ + 'errorCode' => 'PermissionDenied.TagOwnerUid', + 'errorMessage' => 'The specified operator not have permission to set TagOwnerUid value.', + ], + [ + 'errorCode' => 'PermissionDenied.Scope', + 'errorMessage' => 'The specified operator not have permission to set Scope value.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotSupported', + 'errorMessage' => 'The specified ResourceId does not support tagging.', + ], + [ + 'errorCode' => 'NoPermissionKey.Scope', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NoPermission.Tag', + 'errorMessage' => 'The operator is not permission for the tag.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'TagKey.Duplication', + 'errorMessage' => 'The TagKey has duplication with others, case-insensitive.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'MissingParameter.ResourceIds', + 'errorMessage' => 'The parameter - ResourceIds.N should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.TagOwnerUid', + 'errorMessage' => 'The parameter - TagOwnerUid should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.TagOwnerBid', + 'errorMessage' => 'The parameter - TagOwnerBid should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.ResourceType', + 'errorMessage' => 'The parameter - ResourceType should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.Tags', + 'errorMessage' => 'The parameter - Tags should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The parameter - RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceIds are not found in our records.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The service is unavailable, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C46FF5A8-C5F0-4024-8262-B16B639225A0\\r\\n","errorExample":""}]', + 'title' => '创建并绑定标签', + 'summary' => '为指定的ECS资源列表统一创建并绑定标签。', + 'description' => '## 接口说明'."\n" + ."\n" + .'绑定标签前,阿里云会校验资源已有标签数量。超过限制值后返回报错信息。更多信息,请参见[使用限制](~~25412~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTagResources' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29301', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '下一个查询开始Token。', + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型定义。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- volume:存储卷。'."\n" + .'- eni:弹性网卡。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- ddhcluster:专有宿主机集群。'."\n" + .'- keypair:SSH密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- snapshotpolicy:自动快照策略。'."\n" + .'- elasticityassurance:弹性保障。'."\n" + .'- capacityreservation:容量预定。'."\n" + .'- command:云助手命令。'."\n" + .'- invocation:云助手命令执行或文件下发结果。'."\n" + .'- activation:云助手托管实例激活码。'."\n" + .'- managedinstance:云助手托管实例。', + 'type' => 'string', + 'required' => true, + 'example' => 'instance', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'ECS资源ID。N的取值范围为1~50。', + 'type' => 'array', + 'items' => [ + 'description' => 'ECS资源ID。N的取值范围为1~50。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp1j6qtvdm8w0z1o****', + ], + 'required' => false, + 'example' => 'i-bp1j6qtvdm8w0z1o****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '精确查找ECS资源时使用的标签键。标签键长度的取值范围为1~128。N的取值范围为1~20。'."\n" + ."\n" + .'`Tag.N`参数使用说明:'."\n" + ."\n" + .'- 方式一:用于精确查找绑定了指定标签的ECS资源,由一个键值对组成。'."\n" + ."\n" + .' - 仅指定`Tag.N.Key`时,则返回关联该标签键的所有资源。'."\n" + ."\n" + .' - 仅指定`Tag.N.Value`,则报错`InvalidParameter.TagValue`。'."\n" + ."\n" + .' - 同时指定多个标签键值对时,仅同时满足所有标签键值对的ECS资源会被查找到。'."\n" + ."\n" + .'- 方式二:用于查询非默认资源组内的资源信息。`Key`的取值固定为`acs:rm:rgId`,对应的`Value`取值为资源组ID。'."\n" + ."\n" + .' - 如果`Key`取值为`acs:rm:rgId`,则`Value`的取值只能是非默认资源组ID。如果指定的资源组ID为默认资源组,则会返回错误信息。'."\n" + ."\n" + .' - 如果`Key`取值为`acs:rm:rgId`,则不支持再指定其他标签键值对。如果通过多个`Tag.N`参数同时查询资源组和标签对应的资源,则会返回错误信息。'."\n" + ."\n" + .' '."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '精确查找ECS资源时使用的标签值。标签值长度的取值范围为1~128。N的取值范围为1~20。'."\n" + ."\n" + .'> 当`Key=acs:rm:rgId`时,该参数只能传入资源组ID,且资源组ID不能为默认资源组。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'TagFilter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Tag过滤规则。', + 'type' => 'array', + 'items' => [ + 'description' => 'Tag过滤规则。', + 'type' => 'object', + 'properties' => [ + 'TagValues' => [ + 'description' => '模糊查找ECS资源时使用的标签值。标签值长度的取值范围为1~128。N的取值范围为1~5。具体的参数说明请参见`TagFilter.N.TagKey`参数描述。', + 'type' => 'array', + 'items' => [ + 'description' => '模糊查找ECS资源时使用的标签值。标签值长度的取值范围为1~128。N的取值范围为1~5。具体的参数说明请参见`TagFilter.N.TagKey`参数描述。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestTagFilter', + ], + 'required' => false, + 'example' => 'TestTagFilter', + 'maxItems' => 5, + ], + 'TagKey' => [ + 'description' => '模糊查找ECS资源时使用的标签键。标签键长度的取值范围为1~128。N的取值范围为1~5。'."\n" + ."\n" + .' `TagFilter.N`用于模糊查找绑定了指定标签的ECS资源,由一个键和一个或多个值组成。模糊查询可能会有2秒延时,仅支持模糊过滤后资源数小于等于5000的情况。'."\n" + ."\n" + .'- 通过标签键(`TagFilter.N.TagKey`)模糊查找ECS资源时,标签值(`TagFilter.N.TagValues.N`)必须为空。例如,模糊搜索标签键为`environment`的ECS资源时,`TagFilter.1.TagKey`可以设置为`env*`(前缀匹配的模糊搜索方式)、`*env*`(两边匹配的模糊搜索方式)或者`env`(精确搜索方式),而`TagFilter.1.TagValues`必须为空。'."\n" + ."\n" + .'- 通过标签值(`TagFilter.N.TagValues.N`)模糊查找ECS资源时,标签键(`TagFilter.N.TagKey`)必须设置为精确值。例如,模糊搜索标签键为`env`,标签值为`product`的ECS资源时,`TagFilter.1.TagKey`必须精确设置为`env`,`TagFilter.1.TagValues.1`可以设置为`proc*`(前缀匹配的模糊搜索方式)、`*proc*`(两边匹配的模糊搜索方式)或者`proc`(精确搜索方式)。同一个`TagKey`下只能用同一种搜索方式,如果设置了多个不同的搜索方式,则以第一个方式为准。'."\n" + ."\n" + .'- 标签键之间为交集关系,即仅同时满足您指定的所有标签键的ECS资源才会被查找到。'."\n" + ."\n" + .'- 同一标签键下的标签值之间为并集关系,即满足您为该标签键指定的任一标签值的ECS资源均会被查找到。'."\n" + ."\n" + .'> `TagFilter.N`与`Tag.N`参数不能同时使用,否则会返回错误信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => '下一个查询开始Token。', + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '484256DA-D816-44D2-9D86-B6EE4D5BA78C', + ], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => '由资源及其标签组成的集合,包含了资源ID、资源类型和标签键值等信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'ResourceType' => [ + 'description' => '资源类型。可能值:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- volume:存储卷。'."\n" + .'- eni:弹性网卡。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- ddhcluster:专有宿主机集群。'."\n" + .'- keypair:SSH密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- snapshotpolicy:自动快照策略。'."\n" + .'- elasticityassurance:弹性保障。'."\n" + .'- capacityreservation:容量预定。'."\n" + .'- command:云助手命令。'."\n" + .'- invocation:云助手命令执行结果。'."\n" + .'- activation:云助手托管实例激活码。'."\n" + .'- managedinstance:云助手托管实例。', + 'type' => 'string', + 'example' => 'instance', + ], + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'i-bp1j6qtvdm8w0z1o****', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDefaultResourceGroup.NotSupported', + 'errorMessage' => 'The specified parameter Tag is not support for default resource group.', + ], + [ + 'errorCode' => 'InvalidTag.NotSupported', + 'errorMessage' => 'You can only specify Tag for either resource tag or resource group.', + ], + [ + 'errorCode' => 'NumberExceed.ResourceIds', + 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 50.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter\'s number is exceed , Valid : 20.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.QuotaExceed', + 'errorMessage' => 'The quota of tags on resource is beyond permitted range.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'Invalid.Scope', + 'errorMessage' => 'The specified scope is invalid.', + ], + [ + 'errorCode' => 'InvalidTags.MalFormed', + 'errorMessage' => 'The tags must be empty, when the tagFilters is not empty.', + ], + ], + 403 => [ + [ + 'errorCode' => 'PermissionDenied.TagOwnerBid', + 'errorMessage' => 'The specified operator not have permission to set TagOwnerBid value.', + ], + [ + 'errorCode' => 'PermissionDenied.TagOwnerUid', + 'errorMessage' => 'The specified operator not have permission to set TagOwnerUid value.', + ], + [ + 'errorCode' => 'PermissionDenied.Scope', + 'errorMessage' => 'The specified operator not have permission to set Scope value.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotSupported', + 'errorMessage' => 'The specified ResourceId does not support tagging.', + ], + [ + 'errorCode' => 'NoPermission.Tag', + 'errorMessage' => 'The operator is not permission for the tag.', + ], + [ + 'errorCode' => 'BothEmpty.TagsAndResources', + 'errorMessage' => 'The specified Tags and ResourcesIds are not allow to both empty.', + ], + [ + 'errorCode' => 'PermissionDenied.TagsFuzzyQuery', + 'errorMessage' => 'The specified operator has not permission to query fuzzy tags.', + ], + [ + 'errorCode' => 'NumberExceed.TagValues', + 'errorMessage' => 'The number of the specified TagValues is beyond permitted range, the max is 5.', + ], + [ + 'errorCode' => 'InvalidFilter.Malformed', + 'errorMessage' => 'The specified Filter is not valid.', + ], + [ + 'errorCode' => 'InvalidTagFilter.Malformed', + 'errorMessage' => 'The specified TagFilter is not valid.', + ], + [ + 'errorCode' => 'Invalid.NextToken', + 'errorMessage' => 'The specified NextToken is not valid.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'MissingParameter.ResourceIds', + 'errorMessage' => 'The parameter - ResourceIds.N should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.TagOwnerUid', + 'errorMessage' => 'The parameter - TagOwnerUid should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.TagOwnerBid', + 'errorMessage' => 'The parameter - TagOwnerBid should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.ResourceType', + 'errorMessage' => 'The parameter - ResourceType should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.Tags', + 'errorMessage' => 'The parameter - Tags should not be null.', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The parameter - RegionId should not be null.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceIds are not found in our records.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The service is unavailable, please try again later.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The process of creating snapshot has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"484256DA-D816-44D2-9D86-B6EE4D5BA78C\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"ResourceId\\": \\"i-bp1j6qtvdm8w0z1o****\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n \\n instance\\n TestValue\\n i-bp1j6qtvdm8w0z1o****\\n TestKey\\n \\n \\n DE65F6B7-7566-4802-9007-96F2494AC512\\n","errorExample":""}]', + 'title' => '查询资源已经绑定的标签列表', + 'summary' => '查询一个或多个ECS资源已经绑定的标签列表。', + 'description' => '## 接口说明'."\n" + ."\n" + .'请求中至少指定以下任一参数,以确定查询对象。'."\n" + ."\n" + .'- `ResourceId.N`'."\n" + .'- `Tag.N`(`Tag.N.Key`与`Tag.N.Value`)'."\n" + .'- `TagFilter.N`'."\n" + ."\n" + .'同时指定下列参数时,返回结果中仅包含同时满足这两个条件的ECS资源。'."\n" + ."\n" + .'- `Tag.N`和`ResourceId.N`'."\n" + .'- `TagFilter.N`和`ResourceId.N`', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UntagResources' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29322', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型定义。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- volume:存储卷。'."\n" + .'- eni:弹性网卡。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- ddhcluster:专有宿主机集群。'."\n" + .'- keypair:SSH密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- snapshotpolicy:自动快照策略。'."\n" + .'- elasticityassurance:弹性保障。'."\n" + .'- capacityreservation:容量预定。'."\n" + .'- command:云助手命令。'."\n" + .'- invocation:云助手命令执行结果。', + 'type' => 'string', + 'required' => true, + 'example' => 'instance', + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'description' => '是否解绑资源上全部的标签。当请求中未设置TagKey.N时,该参数才有效。取值范围:'."\n" + .'- true'."\n" + .'- false'."\n" + ."\n" + .'默认值:false', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID列表。可输入最多50个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4ph****', + ], + 'required' => true, + 'example' => 'i-bp67acfmxazb4ph****', + 'maxItems' => 51, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源的标签键列表。可输入最多20个标签键。', + 'type' => 'array', + 'items' => [ + 'description' => '资源的标签键。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'required' => false, + 'example' => 'TestKey', + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NumberExceed.ResourceIds', + 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 50', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The Tags parameter\'s number is exceed , Valid : 20', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.QuotaExceed', + 'errorMessage' => 'The quota of tags on resource is beyond permitted range.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'Invalid.Scope', + 'errorMessage' => 'The specified scope is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'PermissionDenied.TagOwnerBid', + 'errorMessage' => 'The specified operator not have permission to set TagOwnerBid value.', + ], + [ + 'errorCode' => 'PermissionDenied.TagOwnerUid', + 'errorMessage' => 'The specified operator not have permission to set TagOwnerUid value.', + ], + [ + 'errorCode' => 'PermissionDenied.Scope', + 'errorMessage' => 'The specified operator not have permission to set Scope value.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotSupported', + 'errorMessage' => 'The specified ResourceId does not support tagging.', + ], + [ + 'errorCode' => 'NoPermissionKey.Scope', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NoPermission.Tag', + 'errorMessage' => 'The operator is not permission for the tag.', + ], + [ + 'errorCode' => 'Param.Conflict', + 'errorMessage' => 'The specified all is true, but the specified TagKey.N is not empty.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'MissingParameter.ResourceIds', + 'errorMessage' => 'The parameter - ResourceIds.N should not be null', + ], + [ + 'errorCode' => 'MissingParameter.TagOwnerUid', + 'errorMessage' => 'The parameter - TagOwnerUid should not be null', + ], + [ + 'errorCode' => 'MissingParameter.TagOwnerBid', + 'errorMessage' => 'The parameter - TagOwnerBid should not be null', + ], + [ + 'errorCode' => 'MissingParameter.ResourceType', + 'errorMessage' => 'The parameter - ResourceType should not be null', + ], + [ + 'errorCode' => 'MissingParameter.Tags', + 'errorMessage' => 'The parameter - Tags should not be null', + ], + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The parameter - RegionId should not be null', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceIds are not found in our records.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n C46FF5A8-C5F0-4024-8262-B16B639225A0\\n","errorExample":""}]', + 'title' => '为指定资源列表统一解绑标签', + 'summary' => '调用UntagResources为指定的ECS资源列表统一解绑标签。解绑后,如果该标签没有绑定其他任何资源,会被自动删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'JoinResourceGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29039', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'ECS资源的类型。取值范围:'."\n" + ."\n" + .'- instance:实例。'."\n" + .'- disk:块存储。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- ddhcluster:专有宿主机集群。'."\n" + .'- eni:弹性网卡。'."\n" + .'- keypair:密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + .'- command:云助手命令。'."\n" + .'- activation:云助手托管实例激活码。'."\n" + .'- managedinstance:云助手托管实例。'."\n" + ."\n" + .'以上参数取值均大小写敏感。', + 'type' => 'string', + 'required' => false, + 'example' => 'securitygroup', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型的ID标识符。例如,当ResourceType=instance时,则ResourceId可以理解为InstanceId。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '目标资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'EntityExists.AssociatedTransferTasks', + 'errorMessage' => 'An associated transfer task is in progress. Try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter "ResourceId" that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.Duplicate', + 'errorMessage' => 'The ResourceId provided has a ResourceGroup in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.ResourceGroup', + 'errorMessage' => 'The specified region does not support resource group yet.', + ], + [ + 'errorCode' => 'InvalidStatus.ResourceGroup', + 'errorMessage' => 'You cannot perform an operation on a resource group that is being created or deleted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The ResourceId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"C0003E8B-B930-4F59-ADC0-0E20xxxxxxxx\\"\\n}"},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":"\\n C0003E8B-B930-4F59-ADC0-0E20xxxxxxxx\\n"}]', + 'title' => '将一个ECS资源或者服务加入一个资源组', + 'summary' => '调用JoinResourceGroup将一个ECS资源或者服务加入一个资源组。', + 'description' => '## 接口说明'."\n" + ."\n" + .'资源是您在阿里云创建的云服务实体,例如,一台ECS实例、一个ECS弹性网卡或者一份ECS镜像等都可以是资源。资源组是项目、环境或者栈的基础设施集合,在资源组里管理资源能集中监控和执行任务,免去了您在多种阿里云服务间反复查看的负担。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AllocateDedicatedHosts' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '28781', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '专有宿主机的标签键。N的取值范围:1~20。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun或者acs:开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Environment', + ], + 'Value' => [ + 'description' => '专有宿主机的标签值。N的取值范围:1~20。'."\n" + ."\n" + .'一旦传入该值,可以为空字符串。最多支持128个字符,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Production', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机要加入的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4ph***', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的可用区编号。'."\n" + ."\n" + .'默认值:空,表示由系统选择。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-f', + ], + ], + [ + 'name' => 'DedicatedHostName', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'myDDH', + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的专有宿主机集群ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dc-bp12wlf6am0vz9v2****', + ], + ], + [ + 'name' => 'DedicatedHostType', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的规格。您可以调用[DescribeDedicatedHostTypes](~~134240~~)接口获得最新的专有宿主机规格表。', + 'type' => 'string', + 'required' => true, + 'example' => 'ddh.c5', + ], + ], + [ + 'name' => 'ActionOnMaintenance', + 'in' => 'query', + 'schema' => [ + 'description' => '当专有宿主机发生故障或者在线修复时,为其所宿实例设置迁移方案。取值范围:'."\n" + ."\n" + .'- Migrate:迁移实例到其他物理机并重新启动实例。'."\n" + ."\n" + .' 当专有宿主机上挂载云盘存储时,默认值:Migrate。'."\n" + ."\n" + .'- Stop:在当前专有宿主机上停止实例,确认无法修复专有宿主机后,迁移实例到其他物理机并重新启动实例。'."\n" + ."\n" + .' 当专有宿主机上挂载本地盘存储时,默认值:Stop。', + 'type' => 'string', + 'required' => false, + 'example' => 'Migrate', + 'default' => 'Migrate', + ], + ], + [ + 'name' => 'NetworkAttributes.SlbUdpTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => '负载均衡连接的UDP会话超时时间,单位:秒。取值范围:15~310。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'NetworkAttributes.UdpTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => '为专有宿主机上运行的云服务设置用户访问的UDP会话超时时间,单位:秒。取值范围:15~310。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'This-is-my-DDH', + ], + ], + [ + 'name' => 'AutoPlacement', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机是否加入自动部署资源池。当您在专有宿主机上创建实例,却不指定**DedicatedHostId**时,阿里云将自动从加入资源池的专有宿主机中,为您选取适合的宿主机部署实例,更多信息,请参见[自动部署功能介绍](~~118938~~)。取值范围:'."\n" + ."\n" + .'- on:加入自动部署资源池。'."\n" + ."\n" + .'- off:不加入自动部署资源池。'."\n" + ."\n" + .'默认值:on。'."\n" + ."\n" + .'> 若您不希望专有宿主机加入自动部署资源池,请将该参数设置为off。', + 'type' => 'string', + 'required' => false, + 'example' => 'off', + ], + ], + [ + 'name' => 'CpuOverCommitRatio', + 'in' => 'query', + 'schema' => [ + 'description' => 'CPU超卖比。仅自定义规格g6s、c6s、r6s支持设置CPU超卖比。取值范围:1~5。'."\n" + ."\n" + .'CPU超卖比影响DDH的可用vCPU数,一台DDH的可用vCPU数=物理CPU核数\\*2\\*CPU超卖比。例如,g6s的物理CPU核数为52,如果设置CPU超卖比为4,则DDH创建完成后vCPU总数显示为416。针对CPU绝对稳定性要求不严苛或CPU负载不高的场景,例如开发测试环境,提升超卖比可以提升可用vCPU数,用于部署更多同等规格的ECS实例,降低单位部署成本。', + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'MinQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => '指定专有宿主机的最小购买数量。取值范围:1~100。'."\n" + ."\n" + .'> 当专有宿主机的库存小于最小购买数量时,创建专有宿主机将会失败。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的计费方式。取值范围:'."\n" + ."\n" + .''."\n" + .'- PrePaid:包年包月。选择包年包月时,请确认您的支付方式支持余额或者信用额度支付,否则会提示`InvalidPayMethod`。'."\n" + ."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .''."\n" + ."\n\n" + .''."\n" + .'- PrePaid:包年包月。选择包年包月时,请确认您的支付方式支持信用额度支付,否则会提示`InvalidPayMethod`。'."\n" + ."\n" + .'- PostPaid:按量付费。'."\n" + ."\n" + .''."\n" + ."\n" + .'默认值:PostPaid。', + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + ], + ], + [ + 'name' => 'Quantity', + 'in' => 'query', + 'schema' => [ + 'description' => '本次创建的专有宿主机的数量。取值范围:1~100。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '购买专有宿主机的包年包月时长。当参数`ChargeType`取值为`PrePaid`时,`Period`参数方可生效并为必选参数。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3、4。'."\n" + .'- PeriodUnit=Month时:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + .'- PeriodUnit=Year时:1、2、3、4、5。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Month时:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + .'- PeriodUnit=Year时:1、2、3、4、5。'."\n" + ."\n" + .'', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '6', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '购买专有宿主机的时长单位。取值范围:'."\n" + ."\n" + .''."\n" + .'- Week'."\n" + .'- Month'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- Month'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .'默认值:Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动续费包年包月专有宿主机。'."\n" + .'>当参数**ChargeType**取值PrePaid时,**AutoRenew**参数方可生效。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => [ + 'description' => '单次自动续费的周期。当参数**AutoRenew**为true时,**AutoRenewPeriod**参数方可生效,并为必选参数。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3。'."\n" + .'- PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + ."\n" + .''."\n" + ."\n" + .'PeriodUnit=Month时:1、2、3、6、12。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'AutoReleaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机自动释放时间。需按照ISO 8601标准表示,并使用UTC+0时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。'."\n" + ."\n" + .'> - 最短设置为当前时间之后半小时。'."\n" + .'> - 最长不能超过当前时间之后三年。'."\n" + .'> - 若参数值中的秒(ss)不是00,则自动取为00。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-08-21T12:30:24Z', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '返回信息列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E2A664A6-2933-4C64-88AE-5033D003****', + ], + 'DedicatedHostIdSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHostId' => [ + 'description' => '专有宿主机ID(DedicatedHostId)组成的列表。', + 'type' => 'array', + 'items' => [ + 'description' => '专有宿主机ID(DedicatedHostId)。', + 'type' => 'string', + 'example' => 'dh-bp67acfmxazb4d****', + ], + ], + ], + ], + 'OrderId' => [ + 'description' => '订单ID。'."\n" + ."\n" + .'>该参数只有创建包年包月专有宿主机(请求参数**ChargeType=PrePaid**)时才有返回值。', + 'type' => 'string', + 'example' => '23841229****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidInstanceType.ValueUnauthorized', + 'errorMessage' => 'The specified InstanceType is not authorized.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => 'The specified region and cluster do not match.', + ], + [ + 'errorCode' => 'InvalidAutoRenewPeriod.ValueNotSupported', + 'errorMessage' => 'The specified autoRenewPeriod is not valid.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'RegionUnauthorized', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The specified DedicatedHostType or Zone is not available or not authorized.', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'QuotaExceed.AfterpayDedicatedHost', + 'errorMessage' => 'The maximum number of Pay-As-You-Go DedicatedHosts is exceeded: %s', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'ChargeType is not valid', + ], + [ + 'errorCode' => 'InvalidParameter.SlbUdpTimeout', + 'errorMessage' => 'The specified value is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.UdpTimeout', + 'errorMessage' => 'The specified value is invalid.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + [ + 'errorCode' => 'InvalidParameter.Quantity', + 'errorMessage' => 'The specified Quantity is invalid.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostPrice.NotFound', + 'errorMessage' => 'The specified Dedicated price is not found.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostType.CpuOverCommitRatioNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCpuOverCommitRatio.ValueNotSupported', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The creation of Host to the specified Zone is not allowed.', + ], + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'NodeControllerUnavailable', + 'errorMessage' => 'The Node Controller is temporarily unavailable.', + ], + [ + 'errorCode' => 'InvalidParameter.ResourceOwnerAccount', + 'errorMessage' => 'ResourceOwnerAccount is Invalid.', + ], + [ + 'errorCode' => 'InvalidUserData.Forbidden', + 'errorMessage' => 'User not authorized to input the parameter "UserData", please apply for permission "UserData"', + ], + [ + 'errorCode' => 'Zone.NotOpen', + 'errorMessage' => 'The specified zone is not granted to you to buy resources yet.', + ], + [ + 'errorCode' => 'Zone.NotOnSale', + 'errorMessage' => 'The specified zone is not available for purchase.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidDedicatedHostType.ValueNotSupported', + 'errorMessage' => 'The specified DedicatedHostType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostType.ZoneNotSupported', + 'errorMessage' => 'The specified zone does not support this dedicatedHostType.', + ], + [ + 'errorCode' => 'InvalidUserData.Base64FormatInvalid', + 'errorMessage' => 'The specified UserData is not valid', + ], + [ + 'errorCode' => 'InvalidParameter.NotMatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has been in arrears.', + ], + ], + [ + [ + 'errorCode' => 'OperationDenied.NoStock', + 'errorMessage' => 'The requested resource is sold out in the specified zone; try other types of resources or other regions and zones.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Another Host has been creating', + ], + [ + 'errorCode' => 'PaymentMethodNotFound', + 'errorMessage' => 'No payment method has been registered on the account.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostName.Malformed', + 'errorMessage' => 'The specified parameter DedicatedHostName is not valid.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.NotFound', + 'errorMessage' => 'The specified DedicatedHostClusterId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.ExceedMaxSize', + 'errorMessage' => 'The specified Dedicated Host Cluster exceeded max capacity.', + ], + [ + 'errorCode' => 'InvalidParameter.ActionOnMaintenance', + 'errorMessage' => 'The specified ActionOnMaintenance does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E2A664A6-2933-4C64-88AE-5033D003****\\",\\n \\"DedicatedHostIdSets\\": {\\n \\"DedicatedHostId\\": [\\n \\"dh-bp67acfmxazb4d****\\"\\n ]\\n },\\n \\"OrderId\\": \\"23841229****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E2A664A6-2933-4C64-88AE-5033D003EADF\\n \\n dh-bp67acfmxazb4p****\\n dh-bp67acfmxazb4d****\\n \\n","errorExample":""}]', + 'title' => '创建一台或多台按量付费或者包年包月专有宿主机', + 'summary' => '调用AllocateDedicatedHosts创建一台或多台按量付费或者包年包月专有宿主机。专有宿主机是单租户独享的物理机资源,您可以在专有宿主机上自行创建ECS实例和获取物理服务器属性等信息。', + 'description' => '创建专有宿主机前,您可以调用[DescribeAvailableResource](~~66186~~)查看指定地域或者可用区内的资源供给情况。'."\n" + ."\n" + .'创建专有宿主机会产生费用,建议您提前了解资源的计费方式。更多详情,请参见[计费概述](~~68978~~)。'."\n" + ."\n" + .'- 单次最多能创建100台包年包月或按量付费专有宿主机。'."\n" + .'- 创建成功后,您可以将返回的专有宿主机ID列表作为请求参数,调用[DescribeDedicatedHosts](~~134242~~)查询新建专有宿主机状态。'."\n" + .'- 提交创建专有宿主机的请求后,指定的参数值不合规或者库存不足时会报错。具体的报错原因,请参见错误码。'."\n" + .'- 创建专有宿主机后,您可以通过[ModifyInstanceDeployment](~~134248~~)将ECS实例从共享宿主机迁移到专有宿主机,也可以在两台专有宿主机上调整实例部署。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDedicatedHosts' => [ + 'summary' => '本接口用于查询一台或多台专有宿主机的详细信息。通过该接口,您可以获取包括专有宿主机的物理性能指标、机器码、使用状态以及已创建的ECS实例列表等信息。您能够根据具体需求,通过指定相关参数,如专有宿主机ID列表、专有宿主机集群ID、宿主机名称、状态等,精准地查询所需的专有宿主机详细信息,为高效管理和优化云计算资源提供有力支持。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28915', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区ID。您可以调用[DescribeZones](~~25610~~)查看最新的阿里云可用区列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'DedicatedHostIds', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID列表。最多支持100个ID ,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["dh-bp165p6xk2tlw61e****", "dh-bp1f9vxmno7emy96****"]', + ], + ], + [ + 'name' => 'DedicatedHostName', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'MyDDHTestName', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的使用状态。取值范围:'."\n" + ."\n" + .'- Available:运行中。专有宿主机的正常运行状态。'."\n" + ."\n" + .'- UnderAssessment:物理机风险,即故障潜伏期,其物理机处于可用状态,但可能导致专有宿主机中的ECS实例出现问题。'."\n" + ."\n" + .'- PermanentFailure:永久性故障,专有宿主机不可用。'."\n" + ."\n" + .'- TempUnavailable:宿主机临时不可用。'."\n" + ."\n" + .'- Redeploying:宿主机恢复中。'."\n" + ."\n" + .'默认值:Available。', + 'type' => 'string', + 'required' => false, + 'example' => 'Available', + ], + ], + [ + 'name' => 'DedicatedHostType', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的规格。您可以调用[DescribeDedicatedHostTypes](~~134240~~)接口获得最新的专有宿主机规格列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'ddh.g5', + ], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机被锁定的原因。取值范围:'."\n" + .'- financial:因欠费被锁定。'."\n" + .'- security:因安全原因被锁定。', + 'type' => 'string', + 'required' => false, + 'example' => 'financial', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '> 该参数即将下线,推荐您使用NextToken与MaxResults完成分页查询操作。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所在资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek3b6jzp66****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。列表长度范围:0~20。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '专有宿主机的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '专有宿主机的标签值。一旦传入该值,可以为空字符串。最多支持128个字符,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机集群ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dc-bp12wlf6am0vz9v2****', + ], + ], + [ + 'name' => 'SocketDetails', + 'in' => 'query', + 'schema' => [ + 'description' => '是否展示Socket维度容量信息。您可以通过Socket维度容量信息查看剩余资源信息(vCPU、内存使用量、剩余量和总量信息),从而判断是否可以创建出对应规格的ECS实例。取值范围:'."\n" + ."\n" + .'- true:展示。仅部分规格的DDH支持显示Socket维度资源信息,详情请参见[查看和导出DDH信息](~~68989~~)。'."\n" + .'- false:不展示。'."\n" + ."\n" + .'>'."\n" + ."\n" + .'每个DDH一般有两个CPU,每个CPU对应的编号为Socket 0、Socket 1。在独享的DDH中,为保证DDH上的ECS发挥最大性能,ECS不会跨Socket创建,即ECS仅会基于一个Socket创建。'."\n" + ."\n" + .'- 如果其中一个Socket剩余的算力资源大于等于待创建的ECS规格,ECS将创建成功。'."\n" + .'- 如果每个Socket剩余的算力资源小于待创建的ECS规格,ECS将创建失败。虽然DDH上两个Socket剩余的资源大于ECS规格,但是仍然无法创建出ECS实例。'."\n" + .'', + 'type' => 'string', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token)。取值为上一次调用该接口返回的 NextToken 参数值,初次调用接口时无需设置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'e71d8a535bd9cc11', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。一旦设置该参数,即表示使用MaxResults与NextToken组合参数的查询方式。'."\n" + ."\n" + .'最大值为 100。'."\n" + ."\n" + .'默认值为 10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + ], + ], + [ + 'name' => 'QueryInventory', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + 'default' => 'False', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7654525A-9964-4ABB-8BCD-98F8835E809A', + ], + 'PageNumber' => [ + 'description' => '专有宿主机列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'TotalCount' => [ + 'description' => '专有宿主机总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。当使用 MaxResults 和 NextToken 方式进行分页查询,且该返回值为空时,表示无更多返回的数据信息。', + 'type' => 'string', + 'example' => 'e71d8a535bd9cc11', + ], + 'DedicatedHosts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHost' => [ + 'description' => '专有宿主机的详细信息集合。', + 'type' => 'array', + 'items' => [ + 'description' => '专有宿主机所属托管资源池(Managed Private Space)ID。', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '专有宿主机的创建时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC+0时间,格式为`yyyy-MM-ddTHH:mmZ`。', + 'type' => 'string', + 'example' => '2018-01-01T12:00Z', + ], + 'SchedulerOptions.ManagedPrivateSpaceId' => [ + 'description' => '专有宿主机所属托管资源池(Managed Private Space)ID。', + 'type' => 'string', + 'example' => 'mps-iq81z6pkbqjx61php46e', + ], + 'Status' => [ + 'description' => '专有宿主机的使用状态。可能值:'."\n" + ."\n" + .'- Available:运行中。专有宿主机的正常运行状态。'."\n" + ."\n" + .'- UnderAssessment:物理机风险,即故障潜伏期,其物理机处于可用状态,但可能导致专有宿主机中的ECS实例出现问题。'."\n" + ."\n" + .'- PermanentFailure:故障。永久性故障,专有宿主机不可用。', + 'type' => 'string', + 'example' => 'Available', + ], + 'Cores' => [ + 'description' => '单个CPU的核数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'AutoPlacement' => [ + 'description' => '专有宿主机是否加入自动部署资源池。取值范围:'."\n" + ."\n" + .'- on:加入自动部署资源池。'."\n" + ."\n" + .'- off:不加入自动部署资源池。'."\n" + ."\n" + .'关于自动部署的更多信息,请参见[自动部署功能介绍](~~118938~~)。', + 'type' => 'string', + 'example' => 'on', + ], + 'GPUSpec' => [ + 'description' => 'GPU型号。', + 'type' => 'string', + 'example' => 'gpu', + ], + 'AutoReleaseTime' => [ + 'description' => '自动释放时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC+0时间,格式为`yyyy-MM-ddTHH:mmZ`。', + 'type' => 'string', + 'example' => '2017-01-01T12:00Z', + ], + 'ChargeType' => [ + 'description' => '专有宿主机的计费方式。', + 'type' => 'string', + 'example' => 'Prepaid', + ], + 'CpuOverCommitRatio' => [ + 'description' => 'CPU超卖比。取值范围为:1~5。', + 'type' => 'number', + 'format' => 'float', + 'example' => '1', + ], + 'ActionOnMaintenance' => [ + 'description' => '当专有宿主机发生故障时,为其所宿实例设置迁移方案。取值范围:'."\n" + ."\n" + .'- Migrate:专有宿主机整机迁移至另一物理服务器,并对故障前非关机状态的实例进行启动。'."\n" + ."\n" + .'- Stop:在当前专有宿主机上停止实例,确认无法修复专有宿主机后,迁移实例到其他物理机并重新启动实例。'."\n" + ."\n" + .'当专有宿主机上挂载云盘存储时,默认值为Migrate;当专有宿主机上挂载本地盘存储时默认值为Stop。', + 'type' => 'string', + 'example' => 'Migrate', + ], + 'SaleCycle' => [ + 'description' => '包年包月单位。可能值:'."\n" + .'- Month。'."\n" + .'- Year。', + 'type' => 'string', + 'example' => 'Month', + ], + 'PhysicalGpus' => [ + 'description' => '物理GPU数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RegionId' => [ + 'description' => '专有宿主机所在地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'DedicatedHostName' => [ + 'description' => '专有宿主机的名称。', + 'type' => 'string', + 'example' => 'MyDDHTestName', + ], + 'Description' => [ + 'description' => '专有宿主机的描述信息。', + 'type' => 'string', + 'example' => 'this-is-my-DDH', + ], + 'DedicatedHostClusterId' => [ + 'description' => '专有宿主机所在的专有宿主机集群ID。', + 'type' => 'string', + 'example' => 'dc-bp12wlf6am0vz9v2****', + ], + 'ExpiredTime' => [ + 'description' => '包年包月专有宿主机的到期时间。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC+0时间,格式为`yyyy-MM-ddTHH:mmZ`。', + 'type' => 'string', + 'example' => '2019-01-01T12:00Z', + ], + 'DedicatedHostType' => [ + 'description' => '专有宿主机的规格类型。', + 'type' => 'string', + 'example' => 'ddh.g5', + ], + 'ResourceGroupId' => [ + 'description' => '专有宿主机所在资源组ID。', + 'type' => 'string', + 'example' => 'rg-aek3b6jzp66****', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'DedicatedHostId' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'example' => 'dh-bp165p6xk2tlw61e****', + ], + 'Sockets' => [ + 'description' => '物理处理器(CPU)数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'MachineId' => [ + 'description' => '专有宿主机机器码。', + 'type' => 'string', + 'example' => '12aaa123456ff19dec12345d3026e****', + ], + 'Instances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => '专有宿主机上创建的ECS实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '专有宿主机上创建的ECS实例。', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => [ + 'description' => '专有宿主机上创建的ECS实例规格信息。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + 'InstanceId' => [ + 'description' => '专有宿主机上创建的ECS实例ID。', + 'type' => 'string', + 'example' => 'i-bp14ot0ykf8w13a1****', + ], + 'SocketId' => [ + 'description' => '实例所处的Socket的序号。', + 'type' => 'string', + 'example' => '0,1', + ], + 'InstanceOwnerId' => [ + 'description' => 'ECS实例所有者的用户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '128************0', + ], + ], + ], + ], + ], + ], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OperationLock' => [ + 'description' => '专有宿主机资源被锁定原因列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LockReason' => [ + 'description' => '专有宿主机被锁定的原因。可能值:'."\n" + .'- financial:因欠费被锁定。'."\n" + .'- security:因安全原因被锁定。', + 'type' => 'string', + 'example' => 'financial', + ], + ], + ], + ], + ], + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '专有宿主机的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签对信息。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '专有宿主机的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '专有宿主机的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'SupportedInstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedInstanceTypeFamily' => [ + 'description' => '专有宿主机支持的ECS实例规格族列表。', + 'type' => 'array', + 'items' => [ + 'description' => '专有宿主机支持的ECS实例规格族。', + 'type' => 'string', + 'example' => 'ecs.g5', + ], + ], + ], + ], + 'SupportedCustomInstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedCustomInstanceTypeFamily' => [ + 'description' => '专有宿主机支持的自定义实例规格族。', + 'type' => 'array', + 'items' => [ + 'description' => '专有宿主机支持的自定义实例规格族。', + 'type' => 'string', + 'example' => 'ecs.ddh6s.custom', + ], + ], + ], + ], + 'SupportedInstanceTypesList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedInstanceTypesList' => [ + 'description' => '专有宿主机支持的ECS实例规格列表。', + 'type' => 'array', + 'items' => [ + 'description' => '专有宿主机支持的ECS实例规格。', + 'type' => 'string', + 'example' => 'ecs.g5.large', + ], + ], + ], + ], + 'Capacity' => [ + 'description' => '专有宿主机性能指标集合。', + 'type' => 'object', + 'properties' => [ + 'AvailableMemory' => [ + 'description' => '剩余的内存容量,单位:GiB。', + 'type' => 'number', + 'format' => 'float', + 'example' => '25', + ], + 'LocalStorageCategory' => [ + 'description' => '本地盘类型。', + 'type' => 'string', + 'example' => 'i2', + ], + 'TotalMemory' => [ + 'description' => '内存总容量,单位:GiB。', + 'type' => 'number', + 'format' => 'float', + 'example' => '1024', + ], + 'TotalLocalStorage' => [ + 'description' => '本地盘总容量,单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '512', + ], + 'TotalVcpus' => [ + 'description' => 'vCPU总核数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '56', + ], + 'TotalVgpus' => [ + 'description' => '总虚拟GPU数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'AvailableLocalStorage' => [ + 'description' => '剩余的本地盘容量。单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '65', + ], + 'AvailableVcpus' => [ + 'description' => '剩余的vCPU核数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'AvailableVgpus' => [ + 'description' => '可用虚拟GPU数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'SocketCapacities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SocketCapacity' => [ + 'description' => 'Socket维度容量信息列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SocketId' => [ + 'description' => 'Socket序号。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'AvailableMemory' => [ + 'description' => '剩余内存容量,单位:GiB。', + 'type' => 'number', + 'format' => 'float', + 'example' => '65', + ], + 'TotalMemory' => [ + 'description' => '内存总容量,单位:GiB。', + 'type' => 'number', + 'format' => 'float', + 'example' => '128', + ], + 'AvailableVcpu' => [ + 'description' => '剩余的vCPU核数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '64', + ], + 'TotalVcpu' => [ + 'description' => 'vCPU总核数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '128', + ], + ], + ], + ], + ], + ], + 'AvailableInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableInstanceType' => [ + 'description' => '可用的实例规格信息列表', + 'type' => 'array', + 'items' => [ + 'description' => '可用的实例规格信息。', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => [ + 'description' => '实例规格。取值请参见[实例规格族](~~25378~~)。'."\n" + ."\n" + .'> 该参数为必选参数。', + 'type' => 'string', + ], + 'AvailableInstanceCapacity' => [ + 'description' => '可用的实例规格容量。', + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + ], + ], + ], + 'NetworkAttributes' => [ + 'description' => '专有宿主机的网络属性值。', + 'type' => 'object', + 'properties' => [ + 'UdpTimeout' => [ + 'description' => 'UDP超时时间。单位:S。当前仅支持60S。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'SlbUdpTimeout' => [ + 'description' => 'SLB UDP超时时间。单位:S。当前仅支持60S。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + ], + ], + 'HostDetailInfo' => [ + 'description' => '该参数即将被弃用,为提高兼容性,建议您尽量使用其他参数。', + 'type' => 'object', + 'properties' => [ + 'SerialNumber' => [ + 'description' => '该参数即将被弃用,为提高兼容性,建议您尽量使用其他参数。', + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + 'DedicatedHostOwnerId' => [ + 'description' => '专有宿主机所有者的用户ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100************7', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => 'The pecified dedicated host status is not supported.', + ], + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The regionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.DedicatedHostIds', + 'errorMessage' => 'The specified parameter dedicatedHostIds is not valid.', + ], + [ + 'errorCode' => 'InvalidRegion.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidZone.NotFound', + 'errorMessage' => 'The specified parameter ZoneId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDedicatedHostIds.Malformed', + 'errorMessage' => 'The amount of specified dedicatedHostIds exceeds the limit.', + ], + ], + [ + [ + 'errorCode' => 'InvalidLockReason.NotFound', + 'errorMessage' => 'The specified LockReason is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"7654525A-9964-4ABB-8BCD-98F8835E809A\\",\\n \\"PageNumber\\": 5,\\n \\"TotalCount\\": 3,\\n \\"NextToken\\": \\"e71d8a535bd9cc11\\",\\n \\"DedicatedHosts\\": {\\n \\"DedicatedHost\\": [\\n {\\n \\"CreationTime\\": \\"2018-01-01T12:00Z\\",\\n \\"SchedulerOptions.ManagedPrivateSpaceId\\": \\"mps-iq81z6pkbqjx61php46e\\",\\n \\"Status\\": \\"Available\\",\\n \\"Cores\\": 3,\\n \\"AutoPlacement\\": \\"on\\",\\n \\"GPUSpec\\": \\"gpu\\",\\n \\"AutoReleaseTime\\": \\"2017-01-01T12:00Z\\",\\n \\"ChargeType\\": \\"Prepaid\\",\\n \\"CpuOverCommitRatio\\": 1,\\n \\"ActionOnMaintenance\\": \\"Migrate\\",\\n \\"SaleCycle\\": \\"Month\\",\\n \\"PhysicalGpus\\": 10,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DedicatedHostName\\": \\"MyDDHTestName\\",\\n \\"Description\\": \\"this-is-my-DDH\\",\\n \\"DedicatedHostClusterId\\": \\"dc-bp12wlf6am0vz9v2****\\",\\n \\"ExpiredTime\\": \\"2019-01-01T12:00Z\\",\\n \\"DedicatedHostType\\": \\"ddh.g5\\",\\n \\"ResourceGroupId\\": \\"rg-aek3b6jzp66****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"DedicatedHostId\\": \\"dh-bp165p6xk2tlw61e****\\",\\n \\"Sockets\\": 5,\\n \\"MachineId\\": \\"12aaa123456ff19dec12345d3026e****\\",\\n \\"Instances\\": {\\n \\"Instance\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"InstanceId\\": \\"i-bp14ot0ykf8w13a1****\\",\\n \\"SocketId\\": \\"0,1\\",\\n \\"InstanceOwnerId\\": 0\\n }\\n ]\\n },\\n \\"OperationLocks\\": {\\n \\"OperationLock\\": [\\n {\\n \\"LockReason\\": \\"financial\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"SupportedInstanceTypeFamilies\\": {\\n \\"SupportedInstanceTypeFamily\\": [\\n \\"ecs.g5\\"\\n ]\\n },\\n \\"SupportedCustomInstanceTypeFamilies\\": {\\n \\"SupportedCustomInstanceTypeFamily\\": [\\n \\"ecs.ddh6s.custom\\"\\n ]\\n },\\n \\"SupportedInstanceTypesList\\": {\\n \\"SupportedInstanceTypesList\\": [\\n \\"ecs.g5.large\\"\\n ]\\n },\\n \\"Capacity\\": {\\n \\"AvailableMemory\\": 25,\\n \\"LocalStorageCategory\\": \\"i2\\",\\n \\"TotalMemory\\": 1024,\\n \\"TotalLocalStorage\\": 512,\\n \\"TotalVcpus\\": 56,\\n \\"TotalVgpus\\": 10,\\n \\"AvailableLocalStorage\\": 65,\\n \\"AvailableVcpus\\": 5,\\n \\"AvailableVgpus\\": 2,\\n \\"SocketCapacities\\": {\\n \\"SocketCapacity\\": [\\n {\\n \\"SocketId\\": 1,\\n \\"AvailableMemory\\": 65,\\n \\"TotalMemory\\": 128,\\n \\"AvailableVcpu\\": 64,\\n \\"TotalVcpu\\": 128\\n }\\n ]\\n },\\n \\"AvailableInstanceTypes\\": {\\n \\"AvailableInstanceType\\": [\\n {\\n \\"InstanceType\\": \\"\\",\\n \\"AvailableInstanceCapacity\\": 0\\n }\\n ]\\n }\\n },\\n \\"NetworkAttributes\\": {\\n \\"UdpTimeout\\": 60,\\n \\"SlbUdpTimeout\\": 60\\n },\\n \\"HostDetailInfo\\": {\\n \\"SerialNumber\\": \\"null\\"\\n },\\n \\"DedicatedHostOwnerId\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 7654525A-9964-4ABB-8BCD-98F8835E809A\\n 5\\n 3\\n \\n 2018-01-01T12:00Z\\n mps-iq81z6pkbqjx61php46e\\n Available\\n 3\\n on\\n gpu\\n 2017-01-01T12:00Z\\n Prepaid\\n 1\\n Migrate\\n Month\\n 10\\n cn-hangzhou\\n MyDDHTestName\\n this-is-my-DDH\\n dc-bp12wlf6am0vz9v2****\\n 2019-01-01T12:00Z\\n ddh.g5\\n rg-aek3b6jzp66****\\n cn-hangzhou-g\\n dh-bp165p6xk2tlw61e****\\n 5\\n 12aaa123456ff19dec12345d3026e****\\n \\n ecs.g5.large\\n i-bp14ot0ykf8w13a1****\\n 0,1\\n \\n \\n financial\\n \\n \\n TestValue\\n TestKey\\n \\n ecs.g5\\n ecs.ddh6s.custom\\n ecs.g5.large\\n \\n 25\\n i2\\n 1024\\n 512\\n 56\\n 10\\n 65\\n 5\\n 2\\n \\n 1\\n 65\\n 128\\n 64\\n 128\\n \\n \\n \\n 60\\n 60\\n \\n \\n null\\n \\n \\n","errorExample":""}]', + 'title' => '查询专有宿主机详细信息', + 'description' => '## 接口说明'."\n" + ."\n" + .'您可以通过以下任一方式查询一台或多台专有宿主机的详细信息:'."\n" + ."\n" + .'- 指定`DedicatedHostIds`查询专有宿主机的详细信息。'."\n" + .'- 指定`DedicatedHostClusterId`查询专有宿主机集群内专有宿主机的详细信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDedicatedHostTypes' => [ + 'summary' => '调用DescribeDedicatedHostTypes查询指定地域下支持的专有宿主机规格详细参数,或者查询专有宿主机支持的ECS实例规格族。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28916', + 'abilityTreeNodes' => [ + 'FEATUREecs2UXJI2', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DedicatedHostType', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机规格。更多详情,请参见[宿主机规格](~~68564~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ddh.sn1ne', + ], + ], + [ + 'name' => 'SupportedInstanceTypeFamily', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机规格支持的ECS实例规格族。', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.sn1ne', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5FE5FF06-3A33-4658-8495-6445FC54E327', + ], + 'DedicatedHostTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHostType' => [ + 'description' => '返回专有宿主机规格的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Cores' => [ + 'description' => '单个物理CPU的数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'LocalStorageCategory' => [ + 'description' => '本地盘类型。', + 'type' => 'string', + 'example' => 'local', + ], + 'GPUSpec' => [ + 'description' => 'GPU型号。', + 'type' => 'string', + 'example' => 'NVIDIA P100', + ], + 'TotalVcpus' => [ + 'description' => '虚拟CPU总数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '56', + ], + 'CpuOverCommitRatioRange' => [ + 'description' => '支持设置CPU超卖比的范围。', + 'type' => 'string', + 'example' => '1-5', + ], + 'PhysicalGpus' => [ + 'description' => '物理GPU数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'MemorySize' => [ + 'description' => '内存容量,单位:GiB。', + 'type' => 'number', + 'format' => 'float', + 'example' => '112.0', + ], + 'SupportCpuOverCommitRatio' => [ + 'description' => '是否支持设置CPU超卖比。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'LocalStorageCapacity' => [ + 'description' => '一块本地盘容量,单位:GiB。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'DedicatedHostType' => [ + 'description' => '专有宿主机规格类型。', + 'type' => 'string', + 'example' => 'ddh.sn1ne', + ], + 'LocalStorageAmount' => [ + 'description' => '专有宿主机上的本地盘数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'TotalVgpus' => [ + 'description' => '虚拟GPU总数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Sockets' => [ + 'description' => '物理处理器(CPU)数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'SupportedInstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedInstanceTypeFamily' => [ + 'description' => '专有宿主机支持的ECS实例规格族列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格族。', + 'type' => 'string', + 'example' => 'ecs.sn1ne', + ], + ], + ], + ], + 'SupportedInstanceTypesList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedInstanceTypesList' => [ + 'description' => '专有宿主机支持的ECS实例规格列表。', + 'type' => 'array', + 'items' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.sn1ne.large', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5FE5FF06-3A33-4658-8495-6445FC54E327\\",\\n \\"DedicatedHostTypes\\": {\\n \\"DedicatedHostType\\": [\\n {\\n \\"Cores\\": 2,\\n \\"LocalStorageCategory\\": \\"local\\",\\n \\"GPUSpec\\": \\"NVIDIA P100\\",\\n \\"TotalVcpus\\": 56,\\n \\"CpuOverCommitRatioRange\\": \\"1-5\\",\\n \\"PhysicalGpus\\": 2,\\n \\"MemorySize\\": 112,\\n \\"SupportCpuOverCommitRatio\\": true,\\n \\"LocalStorageCapacity\\": 0,\\n \\"DedicatedHostType\\": \\"ddh.sn1ne\\",\\n \\"LocalStorageAmount\\": 0,\\n \\"TotalVgpus\\": 10,\\n \\"Sockets\\": 2,\\n \\"SupportedInstanceTypeFamilies\\": {\\n \\"SupportedInstanceTypeFamily\\": [\\n \\"ecs.sn1ne\\"\\n ]\\n },\\n \\"SupportedInstanceTypesList\\": {\\n \\"SupportedInstanceTypesList\\": [\\n \\"ecs.sn1ne.large\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n E7676157-C48A-445A-BFCB-6669EDE8DA3D\\n \\n \\n 0\\n 180\\n 0\\n ddh.c6s\\n 0\\n 52\\n \\n 2\\n NVIDIA P100\\n \\n ecs.ddh6s.custom\\n \\n 0\\n 1-5\\n \\n \\n true\\n 520\\n \\n \\n","errorExample":""}]', + 'title' => '查询专有宿主机规格详细参数', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDedicatedHostAttribute' => [ + 'summary' => '调用ModifyDedicatedHostAttribute修改一台专有宿主机的部分信息,包括专有宿主机的名称、描述和服务不可用属性等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29049', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dh-bp165p6xk2tlw61e****', + ], + ], + [ + 'name' => 'DedicatedHostName', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDedicatedHostName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的描述。长度为2~256个英文或中文字符,不能以`http://`或`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'ActionOnMaintenance', + 'in' => 'query', + 'schema' => [ + 'description' => '当专有宿主机发生故障或者在线修复时,为其所宿实例设置迁移方案。取值范围:'."\n" + ."\n" + .'- Migrate:迁移实例到其他物理机并重新启动实例。'."\n" + ."\n" + .'- Stop:在当前专有宿主机上停止实例,确认无法修复专有宿主机后,迁移实例到其他物理机并重新启动实例。'."\n" + ."\n" + .'当专有宿主机上挂载的是云盘时,默认值:Migrate。'."\n" + ."\n" + .'当专有宿主机上挂载的是本地盘时,默认值:Stop。', + 'type' => 'string', + 'required' => false, + 'example' => 'Migrate', + ], + ], + [ + 'name' => 'NetworkAttributes.SlbUdpTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => '负载均衡连接的UDP会话超时时间,单位:秒。取值范围:15~310。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'NetworkAttributes.UdpTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => '为专有宿主机上运行的云服务设置用户访问的UDP会话超时时间,单位:秒。取值范围:15~310。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'AutoPlacement', + 'in' => 'query', + 'schema' => [ + 'description' => '设置专有宿主机是否加入自动部署资源池。当您在专有宿主机上创建实例,却不指定**DedicatedHostId**时,阿里云自动从资源池中选取专有宿主机放置实例。取值范围:'."\n" + ."\n" + .'- on:加入自动部署资源池。'."\n" + ."\n" + .'- off:不加入自动部署资源池。'."\n" + ."\n" + .'自动部署功能详情,请参见[功能特性](~~118938~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机集群ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'dc-bp165p6xk2tlw61e****', + ], + ], + [ + 'name' => 'CpuOverCommitRatio', + 'in' => 'query', + 'schema' => [ + 'description' => 'CPU超卖比。仅自定义规格g6s、c6s、r6s支持设置CPU超卖比。取值范围:1~5。'."\n" + ."\n" + .'CPU超卖比影响DDH的可用vCPU数,一台DDH的可用vCPU数=物理CPU核数\\*2\\*CPU超卖比。例如,g6s的物理CPU核数为52,如果设置CPU超卖比为4,则修改完成后vCPU总数显示为416。针对CPU绝对稳定性要求不严苛或者CPU负载不高的场景,例如开发测试环境,提升超卖比可以提升可用vCPU数,用于部署更多同等规格的ECS实例,降低单位部署成本。'."\n" + ."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2A4EA075-CB5B-41B7-B0EB-70D339F6****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDedicatedHostName.Malformed', + 'errorMessage' => 'The specified parameter DedicatedHostName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.SlbUdpTimeout', + 'errorMessage' => 'The specified value is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.UdpTimeout', + 'errorMessage' => 'The specified value is invalid.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostType.CpuOverCommitRatioNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidCpuOverCommitRatio.ValueNotSupported', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized', + ], + ], + [ + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.NotFound', + 'errorMessage' => 'The specified DedicatedHostClusterId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.ExceedMaxSize', + 'errorMessage' => 'The specified Dedicated Host Cluster exceeded max capacity.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostClusterId.NotMatch', + 'errorMessage' => 'The specified DedicatedHostCluster does not match request.', + ], + [ + 'errorCode' => 'InvalidParameter.ActionOnMaintenance', + 'errorMessage' => 'The specified ActionOnMaintenance does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2A4EA075-CB5B-41B7-B0EB-70D339F6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2A4EA075-CB5B-41B7-B0EB-70D339F6****\\n","errorExample":""}]', + 'title' => '修改专有宿主机部分信息', + 'description' => '## 接口说明'."\n" + ."\n" + .'- 修改CPU超卖比时,专有宿主机上的ECS实例必须为已停止(`Stopped`)状态。'."\n" + .'- 修改CPU超卖比不会影响DDH的运行状态,但需注意DDH中已分配的vCPU数量不能超过修改后的总vCPU数量,否则超出部分的ECS实例将无法启动。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDedicatedHostsChargeType' => [ + 'summary' => '调用ModifyDedicatedHostsChargeType修改专有宿主机的付费类型。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29053', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'DedicatedHostIds', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。取值可以由多台专有宿主机ID组成一个JSON数组,最多支持20个ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'example' => '["dh-bp181e5064b5sotr****","dh-bp18064b5sotrr9c****"]', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月续费时长。取值范围:'."\n" + .'- `PeriodUnit=Week`时,`Period`的有效取值:1、2、3、4。'."\n" + .'- `PeriodUnit=Month`时,`Period`的有效取值:1、2、3、4、5、6、7、8、9、12、24、36、48、60。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长的时间单位,即参数`Period`的单位。取值范围:'."\n" + .'- Week:周。'."\n" + .'- Month:月。'."\n" + ."\n" + .'默认值为Month。', + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后返回2XX的HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动支付。取值范围:'."\n" + .'- true:自动支付。您需要确保账户余额充足,如果账户余额不足会生成异常订单,并只能作废订单。'."\n" + .'- false:只生成订单不扣费。'."\n" + ."\n" + .'默认值为true。'."\n" + ."\n" + .'>如果您的支付方式余额不足,可以将参数`AutoPay`置为`false`,此时会生成未支付订单,您可以自行支付。'."\n" + ."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'true', + ], + ], + [ + 'name' => 'DedicatedHostChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机需要修改的目标计费方式。取值范围:'."\n" + .'- PrePaid:将按量付费转换为包年包月。'."\n" + .'- PostPaid:将包年包月转换为按量付费。'."\n" + ."\n" + .'默认值为PrePaid。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrePaid', + 'default' => 'PrePaid', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。`ClientToken`只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => 'e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DetailFee', + 'in' => 'query', + 'schema' => [ + 'description' => '包年包月转换为按量付费时,是否返回订单费用详情。'."\n" + ."\n" + .'默认值为false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'OrderId' => [ + 'description' => '订单ID。仅在付费方式修改为预付费时返回。', + 'type' => 'string', + 'example' => '20413515388****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B61C08E5-403A-46A2-96C1-F7B1216DB10C', + ], + 'FeeOfInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FeeOfInstance' => [ + 'description' => '订单费用详情。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'example' => 'dh-bp181e5064b5sotrr****', + ], + 'Currency' => [ + 'description' => '账单费用货币单位。'."\n" + ."\n" + .'中国站:CNY。'."\n" + ."\n" + .'国际站:USD。', + 'type' => 'string', + 'example' => 'CNY', + ], + 'Fee' => [ + 'description' => '费用数值。', + 'type' => 'string', + 'example' => '0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.InstanceIds', + 'errorMessage' => 'The specified InstanceIds are invalid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceChargeType.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSpotStrategy', + 'errorMessage' => 'The specified spotStrategy is not valid.', + ], + [ + 'errorCode' => 'ExpiredInstance', + 'errorMessage' => 'The specified instance has expired.', + ], + [ + 'errorCode' => 'InstancesIdQuotaExceed', + 'errorMessage' => 'The maximum number of Instances is exceeded.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'InvalidInstance.UnpaidOrder', + 'errorMessage' => 'The specified instance has unpaid order.', + ], + [ + 'errorCode' => 'ReleaseTimeHaveBeenSet', + 'errorMessage' => 'The specified instance has been set released time.', + ], + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling, please try again after 5 minutes.', + ], + [ + 'errorCode' => 'InvalidPeriod.UnitMismatch', + 'errorMessage' => 'The specified Period must be correlated with the PeriodUnit.', + ], + [ + 'errorCode' => 'InvalidImageType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can\'t exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'InvalidSystemDiskCategory.ValueNotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAccountStatus.PayAmountLimitExceeded', + 'errorMessage' => 'Your account is being restricted, due to no default payment method is set or you has not being authorized.', + ], + [ + 'errorCode' => 'QuotaExceed.AfterpayInstance', + 'errorMessage' => 'The maximum number of Pay-As-You-Go instances is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceed.RufundVcpu', + 'errorMessage' => 'The maximum number of refunded vcpu is exceeded: %s .', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified InstanceType does not exist or beyond the permitted range.', + ], + [ + 'errorCode' => 'InstanceType.Offline', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'Account.Arrearage', + 'errorMessage' => 'Your account has an outstanding payment.', + ], + [ + 'errorCode' => 'InvalidParameter.NotMatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceed.PostPaidDisk', + 'errorMessage' => 'Living postPaid disks quota exceeded.', + ], + [ + 'errorCode' => 'ImageNotSupportInstanceType', + 'errorMessage' => 'The specified instanceType is not supported by instance with marketplace image.', + ], + [ + 'errorCode' => 'InvalidInstanceType.PhasedOut', + 'errorMessage' => 'This instanceType is no longer offered.', + ], + [ + 'errorCode' => 'InvalidPeriod.ExceededDedicatedHost', + 'errorMessage' => 'Instance expired date can\'t exceed dedicated host expired date.', + ], + [ + 'errorCode' => 'RealNameAuthenticationError', + 'errorMessage' => 'Your account has not passed the real-name authentication yet.', + ], + [ + 'errorCode' => 'InvalidOperation.NotSupport', + 'errorMessage' => 'Instance on dedicated host not support modify charge type.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified instanceId does not exist.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified Dedicated Host does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"20413515388****\\",\\n \\"RequestId\\": \\"B61C08E5-403A-46A2-96C1-F7B1216DB10C\\",\\n \\"FeeOfInstances\\": {\\n \\"FeeOfInstance\\": [\\n {\\n \\"InstanceId\\": \\"dh-bp181e5064b5sotrr****\\",\\n \\"Currency\\": \\"CNY\\",\\n \\"Fee\\": \\"0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n B61C08E5-403A-46A2-96C1-F7B1216DB10C\\n 20413515388****\\n \\n \\n 0\\n dh-bp181e5064b5sotr****\\n CNY\\n \\n \\n 0\\n dh-bp181e5064b5sotr****\\n CNY\\n \\n \\n","errorExample":""}]', + 'title' => '修改专有宿主机的付费类型', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDedicatedHostAutoRenew' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28913', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'DedicatedHostIds', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。最多可以输入100个包年包月专有宿主机ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'example' => 'dh-bp165p6xk2tlw61e****,dh-bp1f9vxmno****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'DedicatedHostRenewAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHostRenewAttribute' => [ + 'description' => '专有宿主机自动续费属性组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PeriodUnit' => [ + 'description' => '续费单位。可能值:'."\n" + ."\n" + .'- Week'."\n" + .'- Month', + 'type' => 'string', + 'example' => 'Month', + ], + 'Duration' => [ + 'description' => '自动续费时长。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'DedicatedHostId' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'example' => 'dh-bp165p6xk2tlw61e****', + ], + 'RenewalStatus' => [ + 'description' => '是否自动续费包年包月专有宿主机。取值范围:'."\n" + ."\n" + .'- AutoRenewal:自动续费。'."\n" + .'- Normal:待续费。'."\n" + .'- NotRenewal:不续费,也不发送到期提醒。到期前第三天阿里云会发送不续费提醒。不续费的专有宿主机可以设置成待续费(Normal),再自行续费[RenewDedicatedHosts](~~93287~~)或设置为自动续费(AutoRenewal)。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'AutoRenewEnabled' => [ + 'description' => '是否自动续费。可能值:'."\n" + .'- true:自动续费'."\n" + .'- false:不自动续费', + 'type' => 'boolean', + 'example' => 'false', + ], + 'AutoRenewWithEcs' => [ + 'description' => '包年包月专有宿主机内的包年包月ECS实例自动续费时,如果ECS实例续费后的到期时间比专有宿主机的到期时间晚,则该专有宿主机是否随ECS实例自动续费。可能值:'."\n" + ."\n" + .'- AutoRenewWithEcs:跟随ECS实例自动续费。'."\n" + .'- StopRenewWithEcs:不跟随ECS实例自动续费。'."\n", + 'type' => 'string', + 'example' => 'StopRenewWithEcs', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go dedicated host does not support this operation.', + ], + [ + 'errorCode' => 'MissingParameter.DedicatedHostId', + 'errorMessage' => 'DedicatedHostId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.ToManyDedicatedHostIds', + 'errorMessage' => 'DedicatedHostId should be less than 100.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidDedicatedHostId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectDedicatedHostStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'MissingParamter.InstanceId', + 'errorMessage' => 'InstanceId should not be null.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"DedicatedHostRenewAttributes\\": {\\n \\"DedicatedHostRenewAttribute\\": [\\n {\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Duration\\": 0,\\n \\"DedicatedHostId\\": \\"dh-bp165p6xk2tlw61e****\\",\\n \\"RenewalStatus\\": \\"Normal\\",\\n \\"AutoRenewEnabled\\": false,\\n \\"AutoRenewWithEcs\\": \\"StopRenewWithEcs\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\n \\n \\n false\\n dh-bp165p6xk2tlw61e****\\n Normal\\n StopRenewWithEcs\\n 0\\n Month\\n \\n \\n true\\n dh-bp1f9vxmno****\\n AutoRenewal\\n StopRenewWithEcs\\n 1\\n Month\\n \\n \\n","errorExample":""}]', + 'title' => '查询专有宿主机自动续费状态', + 'summary' => '调用DescribeDedicatedHostAutoRenew查询一台或多台包年包月专有宿主机自动续费状态。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDedicatedHostAutoRenewAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29051', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'DedicatedHostIds', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。最多可以输入100个包年包月专有宿主机ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'example' => 'dh-bp165p6xk2tlw61e****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => [ + 'description' => '续费周期。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3、4。'."\n" + .'- PeriodUnit=Month时:1、2、3、6、12、24、36、48、60。'."\n" + .'- PeriodUnit=Year时:1、2、3、4、5。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Month时:1、12。'."\n" + .'- PeriodUnit=Year时:1、12。'."\n" + ."\n" + .'', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长单位。取值范围:'."\n" + ."\n" + .''."\n" + .'- Week'."\n" + .'- Month'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- Month'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .'默认值:Month。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动续费包年包月专有宿主机。取值范围:'."\n" + ."\n" + .'- true:自动续费包年包月专有宿主机。'."\n" + ."\n" + .'- false:不自动续费包年包月专有宿主机。'."\n" + ."\n" + .'默认值:false'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '是否自动续费包年包月专有宿主机,参数`RenewalStatus`的优先级高于`AutoRenew`。取值范围:'."\n" + ."\n" + .'- AutoRenewal:自动续费。'."\n" + ."\n" + .'- Normal:待续费。'."\n" + ."\n" + .'- NotRenewal:不续费,也不发送到期提醒。到期前第三天系统会自动发送不续费提醒。不续费的专有宿主机可以设置成待续费(Normal),再自行续费([RenewDedicatedHosts](~~134250~~))或设置为自动续费(AutoRenewal)。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'AutoRenewWithEcs', + 'in' => 'query', + 'schema' => [ + 'description' => '设置是否跟随专有宿主机内的包年包月ECS实例自动续费。'."\n" + ."\n" + .'如果您的专有宿主机(简称DDH)为包年包月计费方式,且该DDH内包年包月ECS实例开启了自动续费。您可以通过该参数设置DDH跟随ECS实例自动续费。当DDH内ECS实例自动续费时,如果DDH的到期时间比该ECS实例续费后的到期时间短,则DDH也会自动续费。DDH跟随ECS实例自动续费的原则说明:'."\n" + ."\n" + .'DDH会自动判断对应ECS实例续费后的到期时间,然后在自动续费DDH时长时,选择大于ECS实例到期时间,且满足DDH续费周期的最小续费时长进行续费。DDH支持的续费周期详情,请参见`PeriodUnit`和`Duration`参数说明。'."\n" + ."\n" + .'例如:包年包月DDH在当年01月15日到期,DDH内的包年包月ECS实例在自动续费后,将时长延长至当年11月15日到期,则DDH生命周期比ECS实例的生命周期少10个月。此时,DDH在自动续费时,会选择大于10个月,且符合DDH续费周期的最小续费时长12个月(即`PeriodUnit=Month`且`Duration=12`)进行续费。'."\n" + ."\n" + .'取值范围:'."\n" + ."\n" + .'- AutoRenewWithEcs:跟随专有宿主机内包年包月ECS实例自动续费。'."\n" + .'- StopRenewWithEcs:不跟随专有宿主机内包年包月ECS实例自动续费。'."\n" + .'- NoOperation:不改变专有宿主机当前的设置。'."\n" + ."\n" + .'> 如果您设置该参数为AutoRenewWithEcs,需要确保专有宿主机已开启自动续费(即`AutoRenew=true`)。否则,该参数只是改变了参数值,实际的跟随ECS实例自动续费功能并不生效。'."\n" + ."\n" + .'默认值:NoOperation'."\n" + ."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'StopRenewWithEcs', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2A4EA075-CB5B-41B7-B0EB-70D339F6****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'MissingParameter.DedicatedHostId', + 'errorMessage' => 'DedicatedHostId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.ToManyDedicatedHostIds', + 'errorMessage' => 'DedicatedHostId should be less than 100.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidDedicatedHostId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectHostStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go dedicated host do not support this operation.', + ], + [ + 'errorCode' => 'InvalidParameter.Duration', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.RenewalStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter.AutoRenewWithEcs', + 'errorMessage' => 'The value of parameter AutoRenewWithEcs is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2A4EA075-CB5B-41B7-B0EB-70D339F6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2A4EA075-CB5B-41B7-B0EB-70D339F6****\\n","errorExample":""}]', + 'title' => '为专有宿主机设置或取消自动续费', + 'summary' => '调用ModifyDedicatedHostAutoRenewAttribute为一台或多台包年包月专有宿主机设置自动续费,也可以取消已设定的自动续费。', + 'description' => '- 当您的包年包月专有宿主机开启自动续费功能后,到期前九天将自动续费,扣费在08:00:00(UTC +8)时间点自动执行。如果前一日扣费失败,次日继续定时执行。扣费成功或者九天之后专有宿主机到期被锁定后停止自动扣费。期间,您需要保证自己的支付方式使用额度充足即可。'."\n" + .'- 包年包月的专有宿主机支持跟随宿主机内的包年包月ECS实例自动续费。详细信息,请参见AutoRenewWithEcs参数说明。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RenewDedicatedHosts' => [ + 'summary' => '续费一台或者多台包年包月的专有宿主机。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29157', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'DedicatedHostIds', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的编号列表。最多可以输入100个预付费专有宿主机ID。多个专有宿主机ID用一个格式类似`["dh-xxxxxxxxx", "dh-yyyyyyyyy", … "dh-zzzzzzzzz"]`的JSON数组表示,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => true, + 'example' => 'dh-bp199lyny9b3****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '续费周期。取值范围:'."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Week时:1、2、3、4。'."\n" + .'- PeriodUnit=Month时:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + .'- PeriodUnit=Year时:1、2、3、4、5。'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- PeriodUnit=Month时:1、2、3、4、5、6、7、8、9、12、24、36、48、60。'."\n" + .'- PeriodUnit=Year时:1、2、3、4、5。'."\n" + ."\n" + .'', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => [ + 'description' => '续费时长单位。取值范围:'."\n" + ."\n" + .''."\n" + .'- Week'."\n" + .'- Month'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + .'- Month'."\n" + .'- Year'."\n" + ."\n" + .''."\n" + ."\n" + .'默认值:Month。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2A4EA075-CB5B-41B7-B0EB-70D339F6****', + ], + 'OrderId' => [ + 'description' => '订单ID。', + 'type' => 'string', + 'example' => '23841229****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IdempotenceParamNotMatch', + 'errorMessage' => 'Request uses a client token in a previous request but is not identical to that request.', + ], + [ + 'errorCode' => 'InvalidClientToken.ValueNotSupported', + 'errorMessage' => 'The ClientToken provided is invalid.', + ], + [ + 'errorCode' => 'InvalidPeriod', + 'errorMessage' => 'The specified period is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriodUnit.ValueNotSupported', + 'errorMessage' => 'The specified parameter PeriodUnit is not valid.', + ], + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go dedicated host do not support this operation.', + ], + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + [ + 'errorCode' => 'InvalidStatus.Upgrading', + 'errorMessage' => 'The dedicated host is upgrading, please try it later.', + ], + [ + 'errorCode' => 'LastOrderProcessing', + 'errorMessage' => 'The previous order is still processing, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'Pay-As-You-Go dedicated host do not support this operation.', + ], + [ + 'errorCode' => 'IncorrectHostStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'LastTokenProcessing', + 'errorMessage' => 'The last token request is processing.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2A4EA075-CB5B-41B7-B0EB-70D339F6****\\",\\n \\"OrderId\\": \\"23841229****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2A4EA075-CB5B-41B7-B0EB-70D339F6****\\n","errorExample":""}]', + 'title' => '续费一台或者多台包年包月专有宿主机', + 'description' => '## 接口说明'."\n" + ."\n" + .'续费付款时,优先使用可抵扣的代金券,且您的账号必须支持账号余额支付或信用支付。'."\n" + .'续费付款时,优先使用可抵扣的代金券,且您的账号必须支持账号余额支付或信用支付。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDedicatedHostAutoReleaseTime' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '29050', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要自动释放的专有宿主机ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dh-bp165p6xk2tlw61e****', + ], + ], + [ + 'name' => 'AutoReleaseTime', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机的自动释放时间。按照ISO 8601标准表示,并使用UTC+0时间,格式为yyyy-MM-ddTHH:mm:ssZ。'."\n" + ."\n" + .'- 必须晚于当前时间起算的半小时及以后。'."\n" + .'- 必须早于当前时间起算的三年及以前。'."\n" + .'- 如果参数值中的秒(ss)不是00,则自动取为00。'."\n" + .'- 如果不输入`AutoReleaseTime`参数,表示取消自动释放,专有宿主机在预约时间点不再自动释放。', + 'type' => 'string', + 'required' => false, + 'example' => '2019-06-04T13:35:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'DedicatedHostId should not be null.', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => 'The parameters is unsupported.', + ], + [ + 'errorCode' => 'InvalidAutoReleaseTime.Malformed', + 'errorMessage' => 'The specified parameter AutoReleaseTime is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the dedicated host.', + ], + ], + [ + [ + 'errorCode' => 'NoSuchResource', + 'errorMessage' => 'The specified resource is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 04F0F334-1335-436C-A1D7-6C044FE7****\\n","errorExample":""}]', + 'title' => '为专有宿主机设定自动释放时间', + 'summary' => '调用ModifyDedicatedHostAutoReleaseTime为一台按量付费专有宿主机设定自动释放时间,或者取消自动释放一台按量付费专有宿主机。', + 'description' => '## 接口说明'."\n" + .'到达设置的自动释放时间后,按量付费专有宿主机会被自动释放。请确保您已经不再使用该宿主机,并已按需备份应用数据。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RedeployDedicatedHost' => [ + 'summary' => '执行专有宿主机的故障迁移。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29138', + 'abilityTreeNodes' => [ + 'FEATUREecsBUZW7T', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dh-bp165p6xk2tlw61e****', + ], + ], + [ + 'name' => 'MigrationType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => '是否先停止实例,再迁移到目标专有宿主机。取值范围:'."\n" + ."\n" + .'- Reboot:先停止实例再迁移。'."\n" + ."\n" + .'- LiveMigrationFirst:不停止实例,直接迁移。此时,您必须指定参数DedicatedHostId。该取值不支持在迁移ECS实例的同时变更实例规格。如果在线迁移失败会默认走关机迁移。'."\n" + ."\n" + .'默认值:Reboot。', + 'type' => 'string', + 'required' => false, + 'example' => 'Reboot', + 'default' => 'Reboot', + 'enum' => [ + 'Reboot', + 'LiveMigrationFirst', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'FCED4B7A-53D5-4C04-ABE3-26D4F3890D57', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDedicatedHostStatus.Malformed', + 'errorMessage' => 'The specified DedicatedHost is in inValid status to execute redeployment.', + ], + [ + 'errorCode' => 'InvalidInstanceStatus.Unstopped', + 'errorMessage' => 'There is unstopped instances on DedicatedHost.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FCED4B7A-53D5-4C04-ABE3-26D4F3890D57\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n FCED4B7A-53D5-4C04-ABE3-26D4F3890D57\\r\\n","errorExample":""}]', + 'title' => '执行专有宿主机的故障迁移', + 'description' => 'DDH状态为报警状态(`UnderAssessment`),即故障潜伏期时,建议您调用该接口执行DDH的故障迁移,避免DDH产生永久性故障。您可以调用API [DescribeDedicatedHosts](~~134242~~)查询专有宿主机的状态信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReleaseDedicatedHost' => [ + 'summary' => '本接口用于释放一台按量付费专有宿主机或者到期的包年包月专有宿主机', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29148', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dh-bp199lyny9b3****', + ], + ], + [ + 'name' => 'TerminateSubscription', + 'in' => 'query', + 'schema' => [ + 'description' => '是否释放已到期的包年包月专有宿主机。'."\n" + ."\n" + .'- true:释放。'."\n" + .'- false:不释放。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A1B15AC8-E6F6-49A4-8985-8C07104B9199', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ChargeTypeViolation', + 'errorMessage' => 'The operation is not permitted due to charge type of the dedicated host.', + ], + [ + 'errorCode' => 'IncorrectHostStatus.Initializing', + 'errorMessage' => 'The specified ddh status does not support this operation.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InstanceExist', + 'errorMessage' => 'Instance exists on the dedicated host.', + ], + [ + 'errorCode' => 'OperationDenied.DedicatedHostShared', + 'errorMessage' => 'The specified ddh is shared to other users. Remove it from the resource share before releasing.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostId does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A1B15AC8-E6F6-49A4-8985-8C07104B9199\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n A1B15AC8-E6F6-49A4-8985-8C07104B9199\\r\\n","errorExample":""}]', + 'title' => '释放专有宿主机', + 'description' => '释放按量付费专有宿主机之前,请确保该宿主机上不存在任何ECS实例。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateDedicatedHostCluster' => [ + 'summary' => '创建一个专有宿主机组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '28819', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值范围:'."\n" + ."\n" + .'- true:发送检查请求,不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码`DryRunOperation`。'."\n" + .'- false:发送正常请求,通过检查后返回2XX HTTP状态码并直接查询资源状况。'."\n" + ."\n" + .'默认值:false。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '专有宿主机组的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '专有宿主机组的标签值。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组要加入的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组所在的可用区ID。您可以调用[DescribeZones](~~25610~~)查看阿里云地域下的可用区。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou-f', + ], + ], + [ + 'name' => 'DedicatedHostClusterName', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组的名称。长度为2~128个字符,支持Unicode中letter分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'myDDHCluster', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组的描述。长度为2~256个字符。不能以`http://`或`https://`开头。'."\n" + ."\n" + .'默认值:空。', + 'type' => 'string', + 'required' => false, + 'example' => 'This-is-my-DDHCluster', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DedicatedHostClusterId' => [ + 'description' => '专有宿主机组ID。', + 'type' => 'string', + 'example' => 'dc-bp12wlf6bw0vz9v2****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'E2A664A6-2933-4C64-88AE-5033D003****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidResourceGroup.NotFound', + 'errorMessage' => 'The ResourceGroup provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidZone.NotFound', + 'errorMessage' => 'The ZoneId provided does not exist in our records.', + ], + [ + 'errorCode' => 'QuotaExceed.Region', + 'errorMessage' => 'The maximum region quota of Dedicated Host Cluster has exceeded.', + ], + [ + 'errorCode' => 'QuotaExceed.Zone', + 'errorMessage' => 'The maximum zone quota of Dedicated Host Cluster has exceeded.', + ], + [ + 'errorCode' => 'InvalidParam.Zone', + 'errorMessage' => 'The specified zone not match region.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in our records.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DedicatedHostClusterId\\": \\"dc-bp12wlf6bw0vz9v2****\\",\\n \\"RequestId\\": \\"E2A664A6-2933-4C64-88AE-5033D003****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n dc-bp12wlf6bw0vz9v2****\\n E2A664A6-2933-4C64-88AE-5033D003****\\n","errorExample":""}]', + 'title' => '创建专有宿主机组', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyDedicatedHostClusterAttribute' => [ + 'summary' => '修改一台专有宿主机组的部分信息,包括专有宿主机组的名称、描述信息、属性等。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29052', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dc-bp12wlf6am0vz9v2****', + ], + ], + [ + 'name' => 'DedicatedHostClusterName', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组的名称。长度为2~128个英文或中文字符,必须以大小写字母或中文开头,可包含数字、英文句号(.)、下划线(_)或连字符(-)。不能包含`http://`和`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'newClusterName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组的描述。长度为2~256个字符。不能以`http://`和`https://`开头。', + 'type' => 'string', + 'required' => false, + 'example' => 'newClusterDescription', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '11B55F58-D3A4-4A9B-9596-342420D02FF8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDedicatedHostName.Malformed', + 'errorMessage' => 'The specified parameter DedicatedHostClusterName is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified parameter Description is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUser.Unauthorized', + 'errorMessage' => 'The user is not authorized', + ], + ], + [ + [ + 'errorCode' => 'InvalidDedicatedHostId.NotFound', + 'errorMessage' => 'The specified DedicatedHostClusterId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11B55F58-D3A4-4A9B-9596-342420D02FF8\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 11B55F58-D3A4-4A9B-9596-342420D02FF8\\r\\n","errorExample":""}]', + 'title' => '修改专有宿主机组的信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeDedicatedHostClusters' => [ + 'summary' => '查询一个或多个专有宿主机组的详细信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '28914', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未上线,不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未上线,不支持使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组要加入的资源组ID。使用该参数过滤资源时,资源数量不能超过1000个。'."\n" + ."\n" + .'>不支持默认资源组过滤。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '专有宿主机组的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或`https://`。'."\n" + ."\n" + .'使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,请使用[ListTagResources](~~110425~~)接口进行查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '专有宿主机组的标签值。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组所在的可用区ID。您可以调用[DescribeZones](~~25610~~)查看阿里云地域下的可用区。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-f', + ], + ], + [ + 'name' => 'DedicatedHostClusterIds', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组ID列表。取值可以由多个专有宿主机组ID组成一个JSON数组,格式为`["dc-xxxxxxxxx", "dc-yyyyyyyyy", … ,"dc-zzzzzzzzz"]`。支持最多100个ID,用半角逗号字符隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["dc-bp12wlf6am0vz9v2****", "dc-bp12wlf6am0vz9v3****"]', + ], + ], + [ + 'name' => 'DedicatedHostClusterName', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'myDDHCluster', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组状态列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '5', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '214A2187-B06F-4E49-A081-4D053466A8C7', + ], + 'PageNumber' => [ + 'description' => '专有宿主机组状态列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '专有宿主机总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'DedicatedHostClusters' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHostCluster' => [ + 'description' => '由一个或多个专有宿主机组信息组成的数组。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => '专有宿主机组描述。', + 'type' => 'string', + 'example' => 'This-is-my-DDHCluster', + ], + 'DedicatedHostClusterId' => [ + 'description' => '专有宿主机组ID。', + 'type' => 'string', + 'example' => 'dc-bp12wlf6am0vz9v2****', + ], + 'ResourceGroupId' => [ + 'description' => '专有宿主机组的资源组ID。', + 'type' => 'string', + 'example' => 'rg-bp67acfmxazb4p****', + ], + 'ZoneId' => [ + 'description' => '专有宿主机组所在的可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-f', + ], + 'RegionId' => [ + 'description' => '专有宿主机组所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'DedicatedHostClusterName' => [ + 'description' => '专有宿主机组名称。', + 'type' => 'string', + 'example' => 'myDDHCluster', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '专有宿主机组的标签。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '专有宿主机组的标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '专有宿主机组的标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + ], + ], + ], + ], + ], + 'DedicatedHostIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DedicatedHostId' => [ + 'description' => '专有宿主机组下的专有宿主机ID列表。', + 'type' => 'array', + 'items' => [ + 'description' => '专有宿主机ID。', + 'type' => 'string', + 'example' => 'dh-bp181e5064b5sotr****', + ], + ], + ], + ], + 'DedicatedHostClusterCapacity' => [ + 'description' => '专有宿主机组容量。', + 'type' => 'object', + 'properties' => [ + 'AvailableVcpus' => [ + 'description' => '当前可用vCPU数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'AvailableMemory' => [ + 'description' => '当前可用内存大小。单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'TotalMemory' => [ + 'description' => '总内存大小。单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'TotalVcpus' => [ + 'description' => '总vCPU数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'LocalStorageCapacities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LocalStorageCapacity' => [ + 'description' => '本地存储容量。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DataDiskCategory' => [ + 'description' => '数据盘类型。可能值:'."\n" + .'- cloud:普通云盘。'."\n" + .'- cloud_efficiency:高效云盘。'."\n" + .'- cloud_ssd:SSD云盘。'."\n" + .'- ephemeral_ssd:本地SSD盘。'."\n" + .'- cloud_essd:ESSD云盘。', + 'type' => 'string', + 'example' => 'cloud', + ], + 'AvailableDisk' => [ + 'description' => '当前可用本地盘大小。单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'TotalDisk' => [ + 'description' => '本地盘总大小。单位:GiB。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40', + ], + ], + ], + ], + ], + ], + 'AvailableInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableInstanceType' => [ + 'description' => '专有宿主机组内ECS实例规格的可用容量。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => [ + 'description' => '实例规格。', + 'type' => 'string', + 'example' => 'ecs.c6.26xlarge', + ], + 'AvailableInstanceCapacity' => [ + 'description' => '可用的实例规格容量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParamter.RegionId', + 'errorMessage' => 'The regionId should not be null.', + ], + [ + 'errorCode' => 'InvalidParameter.DedicatedHostClusterIds', + 'errorMessage' => 'The specified parameter dedicatedHostClusterIds is not valid.', + ], + [ + 'errorCode' => 'InvalidRegion.NotFound', + 'errorMessage' => 'The specified parameter RegionId is not valid.', + ], + [ + 'errorCode' => 'InvalidZone.NotFound', + 'errorMessage' => 'The specified parameter ZoneId is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidDedicatedHostIds.Malformed', + 'errorMessage' => 'The amount of specified dedicatedHostClusterIds exceeds the limit.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 5,\\n \\"RequestId\\": \\"214A2187-B06F-4E49-A081-4D053466A8C7\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"DedicatedHostClusters\\": {\\n \\"DedicatedHostCluster\\": [\\n {\\n \\"Description\\": \\"This-is-my-DDHCluster\\",\\n \\"DedicatedHostClusterId\\": \\"dc-bp12wlf6am0vz9v2****\\",\\n \\"ResourceGroupId\\": \\"rg-bp67acfmxazb4p****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-f\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DedicatedHostClusterName\\": \\"myDDHCluster\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n },\\n \\"DedicatedHostIds\\": {\\n \\"DedicatedHostId\\": [\\n \\"dh-bp181e5064b5sotr****\\"\\n ]\\n },\\n \\"DedicatedHostClusterCapacity\\": {\\n \\"AvailableVcpus\\": 2,\\n \\"AvailableMemory\\": 4,\\n \\"TotalMemory\\": 8,\\n \\"TotalVcpus\\": 4,\\n \\"LocalStorageCapacities\\": {\\n \\"LocalStorageCapacity\\": [\\n {\\n \\"DataDiskCategory\\": \\"cloud\\",\\n \\"AvailableDisk\\": 20,\\n \\"TotalDisk\\": 40\\n }\\n ]\\n },\\n \\"AvailableInstanceTypes\\": {\\n \\"AvailableInstanceType\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c6.26xlarge\\",\\n \\"AvailableInstanceCapacity\\": 0\\n }\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 5\\n 214A2187-B06F-4E49-A081-4D053466A8C7\\n 1\\n 2\\n \\n This-is-my-DDHCluster\\n dc-bp12wlf6am0vz9v2****\\n rg-bp67acfmxazb4p****\\n cn-hangzhou-f\\n cn-hangzhou\\n myDDHCluster\\n \\n TestValue\\n TestKey\\n \\n dh-bp181e5064b5sotr****\\n \\n 2\\n 4\\n 8\\n 4\\n \\n cloud\\n 20\\n 40\\n \\n \\n ecs.c6.26xlarge\\n 0\\n \\n \\n \\n","errorExample":""}]', + 'title' => '查询专有宿主机组的详情', + 'description' => '## 接口说明'."\n" + ."\n" + .'请求参数的作用类似于一个过滤器,过滤器为逻辑与(AND)关系。如果某一参数为空,则过滤器不起作用。但是参数`DedicatedHostClusterIds`的值如果是一个空JSON数组,即`[]`,则视为该过滤器有效,且返回值为空。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteDedicatedHostCluster' => [ + 'summary' => '删除一个专有宿主机组,操作前请先将该专有宿主机组下的专有宿主机迁移至其他专有宿主机组。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '28860', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => '专有宿主机组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'dc-bp12wlf6am0vz9v2****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '11B55F58-D3A4-4A9B-9596-342420D02FF8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DedicatedHostExists', + 'errorMessage' => 'Dedicated Host exists in the dedicated host cluster.', + ], + [ + 'errorCode' => 'IncompleteParamter', + 'errorMessage' => 'Parameter DedicatedHostClusterId can not be null in this request.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11B55F58-D3A4-4A9B-9596-342420D02FF8\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 11B55F58-D3A4-4A9B-9596-342420D02FF8\\r\\n","errorExample":""}]', + 'title' => '删除专有宿主机组', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateHpcCluster' => [ + 'summary' => '调用CreateHpcCluster创建一个HPC集群。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29250', + 'abilityTreeNodes' => [ + 'FEATUREecsVE4GXS', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多信息,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群所在的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群描述。长度为2~256个英文或中文字符,不能以`http://`和`https://`开头。'."\n" + ."\n" + .'默认值:空', + 'type' => 'string', + 'required' => false, + 'example' => 'testHPCDescription', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以`http://`和`https://`开头。可以包含数字、英文句号(.)、下划线(_)或者短划线(-)。', + 'type' => 'string', + 'required' => true, + 'example' => 'hpc-Cluster-01', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'HpcClusterId' => [ + 'description' => '集群ID。', + 'type' => 'string', + 'example' => 'hpc-pnlg1ds9rky4****', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter RegionId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidHpcClusterName.Malformed', + 'errorMessage' => 'Specified hpc cluster name is not valid.', + ], + [ + 'errorCode' => 'InvalidHpcClusterDescription.Malformed', + 'errorMessage' => 'The specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter "RegionId" is not valid.', + ], + [ + 'errorCode' => 'Invalid.Parameter', + 'errorMessage' => 'Invalid parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter "RegionId" is not valid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to create hpc cluster', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HpcClusterId\\": \\"hpc-pnlg1ds9rky4****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\r\\n hpc-pnlg1ds9rky4****\\r\\n","errorExample":""}]', + 'title' => '创建一个HPC集群', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeHpcClusters' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29276', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HpcClusterIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群ID。'."\n" + .'取值可以由多个HPC集群ID组成一个JSON数组,最多支持100个ID,ID之间用半角逗号(,)隔开。', + 'type' => 'string', + 'required' => false, + 'example' => '["hpc-xxxxxxxxx", "hpc-yyyyyyyyy", … "hpc-zzzzzzzzz"]', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群列表的页码。'."\n" + ."\n" + .'起始值:1'."\n" + ."\n" + .'默认值:1', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100'."\n" + ."\n" + .'默认值:10', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '输入时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => 'HPC集群列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => 'HPC集群总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'HpcClusters' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HpcCluster' => [ + 'description' => '由HpcCluster组成的数组格式,返回HPC集群的信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'HpcClusterId' => [ + 'description' => 'HPC集群ID。', + 'type' => 'string', + 'example' => 'hpc-bp1a5zr3u7nq9cx****', + ], + 'Name' => [ + 'description' => 'HPC集群的名称。', + 'type' => 'string', + 'example' => 'testName', + ], + 'Description' => [ + 'description' => 'HPC集群的描述。', + 'type' => 'string', + 'example' => 'testDescription', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter "RegionId" is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.HpcClusterId', + 'errorMessage' => 'The input parameter HpcClusterId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidHpcClusterIds.ExceedLimit', + 'errorMessage' => 'The amount of specified specified hpc cluster ids exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidHpcClusterIds.Malformed', + 'errorMessage' => 'The amount of specified specified hpc cluster ids is invalid.', + ], + [ + 'errorCode' => 'Invalid.Parameter', + 'errorMessage' => 'Invalid parameters.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"HpcClusters\\": {\\n \\"HpcCluster\\": [\\n {\\n \\"HpcClusterId\\": \\"hpc-bp1a5zr3u7nq9cx****\\",\\n \\"Name\\": \\"testName\\",\\n \\"Description\\": \\"testDescription\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 2\\n \\n \\n chuatest1\\n testDescription1\\n hpc-bp1a5zr3u7nq9cx****\\n \\n \\n chuatest2\\n testDescription2\\n hpc-l6aam7fivcfd21fu****\\n \\n \\n 10\\n 382960A6-C535-4705-B6EA-8338466270C4\\n","errorExample":""}]', + 'title' => '查询HPC集群', + 'summary' => '调用DescribeHpcClusters查询您可用的HPC集群。请求参数作为筛选器(Filter)使用,筛选关系为逻辑与关系,参数之间无依赖关系。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyHpcClusterAttribute' => [ + 'summary' => '调用ModifyHpcClusterAttribute修改一个HPC集群的描述信息。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29303', + 'abilityTreeNodes' => [ + 'FEATUREecsVE4GXS', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'hpc-b8bq705cvx1****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群描述。长度为2~256个英文或中文字符,不能以http://和https://开头。'."\n" + ."\n" + .'默认值:空', + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、下划线(_)或者连字符(-)。'."\n" + ."\n" + .'默认值:空', + 'type' => 'string', + 'required' => false, + 'example' => 'testName', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter RegionId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidHpcClusterName.Malformed', + 'errorMessage' => 'Specified hpc cluster name is not valid.', + ], + [ + 'errorCode' => 'InvalidHpcClusterDescription.Malformed', + 'errorMessage' => 'The specified parameter Description is not valid.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter "RegionId" is not valid.', + ], + [ + 'errorCode' => 'InvalidModifyInfo', + 'errorMessage' => 'Modify info is invalid, name/description must not null at the same time.', + ], + [ + 'errorCode' => 'HPC_CLUSTER_MODIFY_FAILED', + 'errorMessage' => 'Modify failed, possibly this hpc cluster does not exist.', + ], + [ + 'errorCode' => 'Invalid.Parameter', + 'errorMessage' => 'Invalid parameters.', + ], + [ + 'errorCode' => 'HpcClusterNotExists', + 'errorMessage' => 'The specified hpc cluster does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\r\\n","errorExample":""}]', + 'title' => '修改一个HPC集群的描述信息', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteHpcCluster' => [ + 'summary' => '调用DeleteHpcCluster删除一个HPC集群。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '29264', + 'abilityTreeNodes' => [ + 'FEATUREecsVE4GXS', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。**ClientToken**只支持ASCII字符,且不能超过64个字符。更多详情,请参见[如何保证幂等性](~~25693~~)。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'HPC集群ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'hpc-cxvr5uzy54j0ya****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.RegionId', + 'errorMessage' => 'The input parameter RegionId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'MissingParameter.HpcClusterId', + 'errorMessage' => 'The input parameter HpcClusterId that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'Invalid.Parameter', + 'errorMessage' => 'Invalid parameters.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter "RegionId" is not valid.', + ], + [ + 'errorCode' => 'NotExists.HpcCluster', + 'errorMessage' => 'The specified hpc cluster does not exist.', + ], + [ + 'errorCode' => 'NotEmpty.HpcCluster', + 'errorMessage' => 'The specified hpc cluster is not empty, still contains instances.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified parameter "RegionId" is not valid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 04F0F334-1335-436C-A1D7-6C044FE73368\\r\\n","errorExample":""}]', + 'title' => '删除一个HPC集群', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeTasks' => [ + 'summary' => '调用DescribeTasks查询一个或多个异步请求的进度。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29009', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时设置的每页记录数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TaskIds', + 'in' => 'query', + 'schema' => [ + 'description' => '任务ID。单次最多支持指定100个,ID之间使用半角逗号(,)分隔。', + 'type' => 'string', + 'required' => false, + 'example' => 't-bp1hvgwromzv32iq****,t-bp179lofu2pv768w****', + ], + ], + [ + 'name' => 'TaskAction', + 'in' => 'query', + 'schema' => [ + 'description' => '任务操作的接口名称。取值范围:'."\n" + ."\n" + .'- ImportImage:导入镜像。'."\n" + .'- ExportImage:导出镜像。'."\n" + .'- RedeployInstance:重新部署ECS实例。'."\n" + .'- ModifyDiskSpec:变更云盘类型。'."\n" + .'- ArchiveSnapshot :归档快照。', + 'type' => 'string', + 'required' => false, + 'example' => 'ImportImage', + ], + ], + [ + 'name' => 'TaskStatus', + 'in' => 'query', + 'schema' => [ + 'description' => '任务状态。取值范围:'."\n" + ."\n" + .'- Finished:已完成。'."\n" + .'- Processing:运行中。'."\n" + .'- Failed:失败。'."\n" + ."\n" + .'默认值:无。'."\n" + ."\n" + .'> 只支持查询状态为Finished、Processing和Failed的任务,填入其他取值将不会生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Finished', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '按创建时间查询,创建时间区间的起始点。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2020-11-23T15:10:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '按创建时间查询,创建时间区间的终止点。按照[ISO 8601](~~25696~~)标准表示,并需要使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'required' => false, + 'example' => '2020-11-23T15:16:00Z', + ], + ], + [ + 'name' => 'ResourceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '资源ID。N的取值范围:1~100。', + 'type' => 'array', + 'items' => [ + 'description' => '任务关联的资源ID。N的取值范围:1~100。'."\n" + .'- 当TaskAction为ImportImage、ExportImage时,资源ID为镜像ID。'."\n" + .'- 当TaskAction为RedeployInstance时,资源ID为ECS实例ID。'."\n" + .'- 当TaskAction为ModifyDiskSpec时,资源ID为磁盘ID。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'm-bp1i8huqm5u7****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'TaskGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '任务组 ID。'."\n" + ."\n" + .'> 该参数正在邀测中,当使用该参数时,其它查询条件将失效。', + 'type' => 'string', + 'required' => false, + 'example' => 'g-2ze2op2grqpclwu7****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => '当前分页包含多少条目。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => '分页查询的当前页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => '返回结果的总条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'TaskSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Task' => [ + 'description' => '任务集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '创建时间。', + 'type' => 'string', + 'example' => '2020-11-24T12:50Z', + ], + 'TaskStatus' => [ + 'description' => '任务状态。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'FinishedTime' => [ + 'description' => '结束时间。', + 'type' => 'string', + 'example' => '2020-11-24T12:50Z', + ], + 'SupportCancel' => [ + 'description' => '是否支持取消任务。', + 'type' => 'string', + 'example' => 'true', + ], + 'TaskId' => [ + 'description' => '任务ID。', + 'type' => 'string', + 'example' => 't-bp1hvgwromzv32iq****', + ], + 'TaskAction' => [ + 'description' => '任务名称。', + 'type' => 'string', + 'example' => 'ImportImage', + ], + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'm-bp1i8huqm5u7****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'An input parameter "RegionId" that is mandatory for processing the request is not supplied.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TaskSet\\": {\\n \\"Task\\": [\\n {\\n \\"CreationTime\\": \\"2020-11-24T12:50Z\\",\\n \\"TaskStatus\\": \\"Finished\\",\\n \\"FinishedTime\\": \\"2020-11-24T12:50Z\\",\\n \\"SupportCancel\\": \\"true\\",\\n \\"TaskId\\": \\"t-bp1hvgwromzv32iq****\\",\\n \\"TaskAction\\": \\"ImportImage\\",\\n \\"ResourceId\\": \\"m-bp1i8huqm5u7****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 10\\n 1\\n \\n \\n t-bp1hvgwromzv32iq****\\n ImportImage\\n true\\n 2020-11-24T12:50Z\\n Finished\\n 2020-11-24T12:50Z\\n \\n \\n cn-hangzhou\\n","errorExample":""}]', + 'title' => '查询任务列表', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeTaskAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29008', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => '任务ID。您可以调用[DescribeTasks](~~25622~~)查看任务ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 't-ce946ntx4wr****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => '任务创建时间。', + 'type' => 'string', + 'example' => '2015-11-23T02:13Z', + ], + 'SupportCancel' => [ + 'description' => '是否可以取消任务([CancelTask](~~25624~~))。取值范围: '."\n" + .' '."\n" + .'- true:可以取消 '."\n" + .'- false:无法取消 '."\n" + .' ', + 'type' => 'string', + 'example' => 'true', + ], + 'TotalCount' => [ + 'description' => '任务总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SuccessCount' => [ + 'description' => '成功任务数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'TaskAction' => [ + 'description' => '任务操作的接口名称。', + 'type' => 'string', + 'example' => 'ExportImage', + ], + 'FailedCount' => [ + 'description' => '失败任务数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TaskStatus' => [ + 'description' => '任务状态。', + 'type' => 'string', + 'example' => 'Finished', + ], + 'TaskProcess' => [ + 'description' => '任务进程。', + 'type' => 'string', + 'example' => '100%', + ], + 'FinishedTime' => [ + 'description' => '任务完成时间。', + 'type' => 'string', + 'example' => '2015-11-23T02:19Z', + ], + 'TaskId' => [ + 'description' => '任务ID。', + 'type' => 'string', + 'example' => 't-ce946ntx4wr****', + ], + 'OperationProgressSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OperationProgress' => [ + 'description' => '返回任务包含的信息,其中包括每一个子任务的状态和相关信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ErrorMsg' => [ + 'description' => '错误信息。', + 'type' => 'string', + 'example' => 'The specified RegionId parameter is invalid.', + ], + 'ErrorCode' => [ + 'description' => '错误代码。', + 'type' => 'string', + 'example' => 'ParameterInvalid', + ], + 'OperationStatus' => [ + 'description' => '操作状态。', + 'type' => 'string', + 'example' => 'Success', + ], + 'RelatedItemSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RelatedItem' => [ + 'description' => '资源信息类型。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => '相关项名称。', + 'type' => 'string', + 'example' => 'OSSObject', + ], + 'Value' => [ + 'description' => '相关项值。', + 'type' => 'string', + 'example' => 'MYOSSPRE_m-23f8tcp***_t-23ym6mv***.vhd', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'An input parameter "RegionId" that is mandatory for processing the request is not supplied.', + ], + [ + 'errorCode' => 'InvalidTaskId.NotFound', + 'errorMessage' => 'The specified "TaskId" is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CreationTime\\": \\"2015-11-23T02:13Z\\",\\n \\"SupportCancel\\": \\"true\\",\\n \\"TotalCount\\": 1,\\n \\"SuccessCount\\": 1,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TaskAction\\": \\"ExportImage\\",\\n \\"FailedCount\\": 0,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskStatus\\": \\"Finished\\",\\n \\"TaskProcess\\": \\"100%\\",\\n \\"FinishedTime\\": \\"2015-11-23T02:19Z\\",\\n \\"TaskId\\": \\"t-ce946ntx4wr****\\",\\n \\"OperationProgressSet\\": {\\n \\"OperationProgress\\": [\\n {\\n \\"ErrorMsg\\": \\"The specified RegionId parameter is invalid.\\",\\n \\"ErrorCode\\": \\"ParameterInvalid\\",\\n \\"OperationStatus\\": \\"Success\\",\\n \\"RelatedItemSet\\": {\\n \\"RelatedItem\\": [\\n {\\n \\"Name\\": \\"OSSObject\\",\\n \\"Value\\": \\"MYOSSPRE_m-23f8tcp***_t-23ym6mv***.vhd\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"CreationTime\\": \\"2015-11-23T02:13Z\\",\\n \\"OperationProgressSet\\": {\\n \\"OperationProgress\\": [\\n {\\n \\"RelatedItemSet\\": {\\n \\"RelatedItem\\": [\\n {\\n \\"Name\\": \\"OSSBucket\\",\\n \\"Value\\": \\"image-temp\\"\\n },\\n {\\n \\"Name\\": \\"OSSObject\\",\\n \\"Value\\": \\"MYOSSPRE_m-23f8tcp8y_t-23ym6mvro.vhd\\"\\n },\\n {\\n \\"Name\\": \\"ImageFormat\\",\\n \\"Value\\": \\"vhd\\"\\n }\\n ]\\n },\\n \\"ErrorMsg\\": \\"\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"OperationStatus\\": \\"Success\\"\\n }\\n ]\\n },\\n \\"FinishedTime\\": \\"2015-11-23T02:19Z\\",\\n \\"FailedCount\\": 0,\\n \\"SupportCancel\\": true,\\n \\"TotalCount\\": 1,\\n \\"SuccessCount\\": 1,\\n \\"RequestId\\": \\"4BE2C7FE-C7A4-4675-A153-174E032AABFB\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TaskAction\\": \\"ExportImage\\",\\n \\"TaskStatus\\": \\"Finished\\",\\n \\"TaskProcess\\": \\"100%\\",\\n \\"TaskId\\": \\"t-23ym6mvro\\"\\n}"},{"type":"xml","example":"\\n 2015-11-23T02:13Z\\n \\n \\n \\n \\n OSSBucket\\n image-temp\\n \\n \\n OSSObject\\n MYOSSPRE_m-23f8tcp***_t-23ym6mv***.vhd\\n \\n \\n ImageFormat\\n vhd\\n \\n \\n \\n \\n Success\\n \\n \\n 2015-11-23T02:19Z\\n 0\\n true\\n 1\\n 1\\n EF0C5969-279B-49C8-AD83-BACCC74DD38C\\n cn-hangzhou\\n ExportImage\\n Finished\\n 100%\\n t-ce946ntx4wr****\\n","errorExample":"\\n 2015-11-23T02:13Z\\n \\n \\n \\n \\n OSSBucket\\n image-temp\\n \\n \\n OSSObject\\n MYOSSPRE_m-23f8tcp8y_t-23ym6mvro.vhd\\n \\n \\n ImageFormat\\n vhd\\n \\n \\n \\n \\n Success\\n \\n \\n 2015-11-23T02:19Z\\n 0\\n true\\n 1\\n 1\\n EF0C5969-279B-49C8-AD83-BACCC74DD38C\\n cn-hangzhou\\n ExportImage\\n Finished\\n 100%\\n t-23ym6mvro\\n"}]', + 'title' => '查询任务详细信息', + 'summary' => '调用DescribeTaskAttribute查询异步任务的详细信息。目前,可以查询的异步任务有导入镜像(ImportImage)、导出镜像(ExportImage)及变更云盘类型(ModifyDiskSpec)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelTask' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '28804', + 'abilityTreeNodes' => [ + 'FEATUREecsU19YTI', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => '任务ID。您可以调用[DescribeTasks](~~25622~~)查看任务ID列表。', + 'type' => 'string', + 'required' => true, + 'example' => 't-bp198jigq7l0h5ac****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'An input parameter "RegionId" that is mandatory for processing the request is not supplied.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidTaskId.NotFound', + 'errorMessage' => 'The specified "TaskId" is not found.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidTaskId.TaskActionNotSupport', + 'errorMessage' => 'The specified task action not support.', + ], + [ + 'errorCode' => 'InvalidTaskId.IncorrectTaskStatus', + 'errorMessage' => 'The specified task status is invalid.', + ], + [ + 'errorCode' => 'InvalidTaskId.NotFound', + 'errorMessage' => 'The specified "TaskId" is not found.', + ], + [ + 'errorCode' => 'CancelTaskFailed', + 'errorMessage' => 'The task is failed to cancel, Please contact the administrator.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"4BE2C7FE-C7A4-4675-A153-174E032AABFB\\"\\n}"},{"type":"xml","example":"\\n 4BE2C7FE-C7A4-4675-A153-174E032AABFB\\n","errorExample":"\\n 4BE2C7FE-C7A4-4675-A153-174E032AABFB\\n"}]', + 'title' => '取消任务', + 'summary' => '调用CancelTask取消一件正在运行的任务。目前,您能取消正在运行的导入镜像任务(ImportImage)和导出镜像任务(ExportImage)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeUserBusinessBehavior' => [ + 'summary' => '获取用户级别默认属性', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29010', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'statusKey', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'StatusValue' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameters are not valid.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '', + ], + 'ModifyUserBusinessBehavior' => [ + 'summary' => '设置用户级别默认属性', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29110', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'statusKey', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'statusValue', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'InvalidAction.UserForbidden', + 'errorMessage' => 'Specified action is not valid.', + ], + [ + 'errorCode' => 'InvalidParams', + 'errorMessage' => 'The parameters statusKey or statusValue are not valid.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '', + ], + 'DescribeLimitation' => [ + 'summary' => '查询账号限制', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28969', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Limitation', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Limitation' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidLimitation.NotFound', + 'errorMessage' => 'The specified Limitation is not valid.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '', + ], + 'DescribeClusters' => [ + 'summary' => '查询集群', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28910', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'Clusters' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cluster' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ClusterId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '', + ], + 'DeleteNetworkInterfacePermission' => [ + 'summary' => '删除操作弹性网卡的权限', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29268', + 'abilityTreeNodes' => [ + 'FEATUREecsPW8UD1', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'NetworkInterfacePermissionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.InvalidEniState', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'NotBelongUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.PermissionExisted', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidOperation.PermissionNotExisted', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEniPermissionId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Ecs::2014-05-26::DeleteNetworkInterface', + ], + 'returnType' => 'synchronous', + ], + 'responseDemo' => '', + ], + 'DeleteBandwidthPackage' => [ + 'summary' => 'DeleteBandwidthPackage', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.ForwardEntry', + 'errorMessage' => 'The specified BandwidthPackageId has dependent resource.', + ], + [ + 'errorCode' => 'DependencyViolation.SnatEntry', + 'errorMessage' => 'The specified BandwidthPackageId has dependent resource.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidBandwidth.NotExist', + 'errorMessage' => 'bandwidth package not exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidNatGateway.NotFound', + 'errorMessage' => 'The specified natGateway does not exist in our records.', + ], + ], + ], + 'responseDemo' => '', + ], + 'ModifyBandwidthPackageSpec' => [ + 'summary' => 'ModifyBandwidthPackageSpec', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It\'s forbidden to change prepaid CBWP\'s bandwidth by API. It can be changed on Aliyun web console.', + ], + [ + 'errorCode' => 'MissingParam.Bandwidth', + 'errorMessage' => 'The parameter Bandwidth is mandatory.', + ], + [ + 'errorCode' => 'IllegalParam.Bandwidth', + 'errorMessage' => 'Bandwidth is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidth.ValueNotSupported', + 'errorMessage' => 'The specified value of Bandwidth not supported.', + ], + [ + 'errorCode' => 'BandwidthPackage.FinancialLocked', + 'errorMessage' => 'The specified BandwidthPackage has been Financail Lock.', + ], + ], + ], + 'responseDemo' => '', + ], + 'DescribeBandwidthPackages' => [ + 'summary' => 'DescribeBandwidthPackages', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'BandwidthPackages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BandwidthPackage' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'type' => 'string', + ], + 'CreationTime' => [ + 'type' => 'string', + ], + 'IpCount' => [ + 'type' => 'string', + ], + 'RegionId' => [ + 'type' => 'string', + ], + 'InstanceChargeType' => [ + 'type' => 'string', + ], + 'BandwidthPackageId' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'Bandwidth' => [ + 'type' => 'string', + ], + 'NatGatewayId' => [ + 'type' => 'string', + ], + 'ZoneId' => [ + 'type' => 'string', + ], + 'InternetChargeType' => [ + 'type' => 'string', + ], + 'BusinessStatus' => [ + 'type' => 'string', + ], + 'Name' => [ + 'type' => 'string', + ], + 'ISP' => [ + 'type' => 'string', + ], + 'PublicIpAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PublicIpAddresse' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'type' => 'string', + ], + 'AllocationId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'User Id is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeBandwidthPackages', + ], + ], + 'responseDemo' => '', + ], + 'CreateVSwitch' => [ + 'summary' => 'CreateVSwitch', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28853', + 'abilityTreeNodes' => [ + 'FEATUREecsZOHB3T', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationFailed.IdempotentTokenProcessing', + 'errorMessage' => 'Action is processing.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'InvalidVSwitchName.Malformed', + 'errorMessage' => 'Specified virtual switch name is not valid.', + ], + [ + 'errorCode' => 'InvalidVSwitchDiscription.Malformed', + 'errorMessage' => 'Specified virtual switch description is not valid.', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified CIDR block is not valid in VPC.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Overlapped', + 'errorMessage' => 'Specified CIDR block overlapped with other subnets.', + ], + [ + 'errorCode' => 'QuotaExceeded.VSwitch', + 'errorMessage' => 'Virtual switch quota exceeded.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'Some virtual switch is modifying within the same VPC.', + ], + [ + 'errorCode' => 'InvalidCirdrBlock.MaskLength', + 'errorMessage' => 'Specified CIDR block is not valid .', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'RouteConflict.AlreadyExist', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'OperationFailed.CidrAcross', + 'errorMessage' => 'Classic link instance cidr must not across.', + ], + [ + 'errorCode' => 'VPC.SWITCH.RULE.QUOTA.NOT.EXISTS', + 'errorMessage' => 'vSwitch quota rule not exists.', + ], + [ + 'errorCode' => 'CreateVSwitch.IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'OperationFailed.NotifyCenCreate', + 'errorMessage' => 'Failed to notify cen when create vswitch.', + ], + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC can not found.', + ], + [ + 'errorCode' => 'Duplicated.ClientToken', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'IllegalParam.CidrBlock', + 'errorMessage' => 'The param of CidrBlock [%s] is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Invalid.NotExist', + 'errorMessage' => 'witch mask rule not exists.', + ], + [ + 'errorCode' => 'InvalidStatus.RouteEntry', + 'errorMessage' => 'RouteEntry status error.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'Specified zone does not exist.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateVSwitch', + ], + ], + 'responseDemo' => '', + ], + 'DeleteVSwitch' => [ + 'summary' => 'DeleteVSwitch', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28893', + 'abilityTreeNodes' => [ + 'FEATUREecsZOHB3T', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectVSwitchStatus', + 'errorMessage' => 'vpc subnet status not working.', + ], + [ + 'errorCode' => 'DependencyViolation', + 'errorMessage' => 'Specified object has dependent resources.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.HaVip', + 'errorMessage' => 'VSwitch cannot be deleted when there are some HaVip dependent with it.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteTable', + 'errorMessage' => 'VSwitch cannot be deleted when associated with route table', + ], + [ + 'errorCode' => 'DependencyViolation.Snat', + 'errorMessage' => 'VSwitch cannot be deleted when has snat routeEntry.', + ], + [ + 'errorCode' => 'DeleteVSwitch.IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'AttrMismatching.NaclAndBindInstance', + 'errorMessage' => 'The network acl and resource not in same vpc.', + ], + [ + 'errorCode' => 'InvalidResource.NotBinding', + 'errorMessage' => 'The resource has not been binded.', + ], + [ + 'errorCode' => 'DependencyViolation.SnatEntry', + 'errorMessage' => 'VSwitch cannot be deleted when snat entry exist.', + ], + [ + 'errorCode' => 'DependencyViolation.NetworkAcl', + 'errorMessage' => 'VSwitch cannot be deleted when network acl exist.', + ], + [ + 'errorCode' => 'DependencyViolation.EnhancedNatgw', + 'errorMessage' => 'VSwitch cannot be deleted when enhanced NAT gateway exists.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'VSwitch not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified instance is not found during access authentication.', + ], + [ + 'errorCode' => 'IncorrectVSwitchId', + 'errorMessage' => 'Specified vSwtich instance is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'VSwitch not exist.', + ], + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'Vswtich status not stable.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteVSwitch', + ], + ], + 'responseDemo' => '', + ], + 'ModifyVSwitchAttribute' => [ + 'summary' => 'ModifyVSwitchAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VSwitchName', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'InvalidVSwitchName.Malformed', + 'errorMessage' => 'Specified virtual switch name is not valid.', + ], + [ + 'errorCode' => 'InvalidVSwitchDiscription.Malformed', + 'errorMessage' => 'Specified virtual switch description is not valid.', + ], + [ + 'errorCode' => 'Forbidden.VRouterNotFound', + 'errorMessage' => 'specified virtual switch is not found during access authentication.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified virtual switch does not exists.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyVSwitchAttribute', + ], + ], + 'responseDemo' => '', + ], + 'DescribeVSwitches' => [ + 'summary' => 'DescribeVSwitches', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'IsDefault', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'VSwitches' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitch' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'VpcId' => [ + 'type' => 'string', + ], + 'IsDefault' => [ + 'type' => 'boolean', + ], + 'VSwitchId' => [ + 'type' => 'string', + ], + 'CidrBlock' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'AvailableIpAddressCount' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + 'ResourceGroupId' => [ + 'type' => 'string', + ], + 'ZoneId' => [ + 'type' => 'string', + ], + 'VSwitchName' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC can not found.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + [ + 'errorCode' => 'OperationFailed.Endpoint', + 'errorMessage' => 'The specified RegionId is unavailable for this endpoint.', + ], + [ + 'errorCode' => 'Mismatch.InstanceIdAndRegionId', + 'errorMessage' => 'The instanceId and regionId are mismatched.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'VSwitch not exist.', + ], + [ + 'errorCode' => 'InvalidVpcIdNumber.NotSupported', + 'errorMessage' => 'The number of vpcIds exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidVSwitchIdNumber.NotSupported', + 'errorMessage' => 'The number of vSwitchIds exceeds the limit.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeVSwitches', + ], + ], + 'responseDemo' => '', + ], + 'CreatePhysicalConnection' => [ + 'summary' => 'CreatePhysicalConnection', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'vpc接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'AccessPointId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'default' => 'VPC', + ], + ], + [ + 'name' => 'LineOperator', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'bandwidth', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'default' => '100', + ], + ], + [ + 'name' => 'PeerLocation', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PortType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'default' => '1000Base-T', + ], + ], + [ + 'name' => 'RedundantPhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PhysicalConnectionId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid.Status', + 'errorMessage' => 'The device or interface status invalid, or has been used..', + ], + [ + 'errorCode' => 'InvalidAccessPointId.NotEnabled', + 'errorMessage' => 'Invalid access point status.', + ], + [ + 'errorCode' => 'InvalidType.Malformd', + 'errorMessage' => 'The Type provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPeerLocation.Malformd', + 'errorMessage' => 'The PeerLocation provided was invalid.', + ], + [ + 'errorCode' => 'InvalidLineOperator.Malformd', + 'errorMessage' => 'The LineOperator provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPortType.Malformd', + 'errorMessage' => 'The PortType provided was invalid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid ??Description?? is not valid.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionId.NotFound', + 'errorMessage' => 'The RedundantPhysicalConnectionId does not found.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified ??Name?? is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.pConnPerAP', + 'errorMessage' => 'Physical connection count per ap quota exceed.', + ], + [ + 'errorCode' => 'InvalidBandwidth', + 'errorMessage' => 'invalid physical connection banwidth.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnection', + 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionStatus', + 'errorMessage' => 'invalid redundant physical connection status.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'circuitCode is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.freePconnPerAP', + 'errorMessage' => 'free physical connections count excceeded.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionOperator.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Operator is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionPortType.Malformed', + 'errorMessage' => 'Specified PhysicalConnection PortType is not valid.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.ClientToken', + 'errorMessage' => 'Token verify failed because client token length too long.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidAccessPointId.NotFound', + 'errorMessage' => 'The AccessPointId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPortType.NotFound', + 'errorMessage' => 'There are no resources with the portType.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreatePhysicalConnection', + ], + ], + 'responseDemo' => '', + ], + 'DeletePhysicalConnection' => [ + 'summary' => 'DeletePhysicalConnection', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotMatched', + 'errorMessage' => 'instance id not matched.', + ], + [ + 'errorCode' => 'Forbidden.VBRExists', + 'errorMessage' => 'physical connection owner\'s vbr still exists.', + ], + [ + 'errorCode' => 'Forbidden.AssociateToVBR', + 'errorMessage' => 'The physical connection still associate to VBR.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeletePhysicalConnection', + ], + ], + 'responseDemo' => '', + ], + 'ModifyPhysicalConnectionAttribute' => [ + 'summary' => 'ModifyPhysicalConnectionAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'LineOperator', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'bandwidth', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + ], + [ + 'name' => 'PeerLocation', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PortType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RedundantPhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidLineOperator.Malformd', + 'errorMessage' => 'The LineOperator provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPeerLocation.Malformd', + 'errorMessage' => 'The PeerLocation provided was invalid.', + ], + [ + 'errorCode' => 'InvalidPortType.Malformd', + 'errorMessage' => 'The PortType provided was invalid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid ??Description?? is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified ??Name?? is not valid.', + ], + [ + 'errorCode' => 'InvalidStatus', + 'errorMessage' => 'invalid physical connection status.', + ], + [ + 'errorCode' => 'InvalidBandwidth', + 'errorMessage' => 'invalid physical connection banwidth.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnection', + 'errorMessage' => 'redundant physical connection doesn\'t belong to current user.', + ], + [ + 'errorCode' => 'InvalidRedundantPhysicalConnectionStatus', + 'errorMessage' => 'invalid redundant physical connection status.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'circuitCode is illegal.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBandwidth.Malformed', + 'errorMessage' => 'Specified PhysicalConnection Bandwidth is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyPhysicalConnectionAttribute', + ], + ], + 'responseDemo' => '', + ], + 'EnablePhysicalConnection' => [ + 'summary' => 'EnablePhysicalConnection', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + [ + 'errorCode' => 'INSTANCE.STATUS.NOT.ALLOW', + 'errorMessage' => 'Instance status not allow', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::EnablePhysicalConnection', + ], + ], + 'responseDemo' => '', + ], + 'DescribePhysicalConnections' => [ + 'summary' => 'DescribePhysicalConnections', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'maxItems' => 5, + ], + ], + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'PhysicalConnectionSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PhysicalConnectionType' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AdLocation' => [ + 'type' => 'string', + ], + 'CreationTime' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'Type' => [ + 'type' => 'string', + ], + 'PortNumber' => [ + 'type' => 'string', + ], + 'CircuitCode' => [ + 'type' => 'string', + ], + 'Spec' => [ + 'type' => 'string', + ], + 'Bandwidth' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + 'Description' => [ + 'type' => 'string', + ], + 'PortType' => [ + 'type' => 'string', + ], + 'EnabledTime' => [ + 'type' => 'string', + ], + 'BusinessStatus' => [ + 'type' => 'string', + ], + 'LineOperator' => [ + 'type' => 'string', + ], + 'Name' => [ + 'type' => 'string', + ], + 'RedundantPhysicalConnectionId' => [ + 'type' => 'string', + ], + 'PeerLocation' => [ + 'type' => 'string', + ], + 'AccessPointId' => [ + 'type' => 'string', + ], + 'PhysicalConnectionId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribePhysicalConnections', + ], + ], + 'responseDemo' => '', + ], + 'CancelPhysicalConnection' => [ + 'summary' => 'CancelPhysicalConnection', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'vpc接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CancelPhysicalConnection', + ], + 'returnType' => 'synchronous', + ], + 'responseDemo' => '', + ], + 'TerminatePhysicalConnection' => [ + 'summary' => 'TerminatePhysicalConnection', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.NotAllowedInState', + 'errorMessage' => 'The request does not allow in this state.', + ], + [ + 'errorCode' => 'Forbidden.VbrAttached', + 'errorMessage' => 'Cannot terminate physical connection when virtual border routers are still attached.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The PhysicalConnectionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::TerminatePhysicalConnection', + ], + ], + 'responseDemo' => '', + ], + 'CreateVpc' => [ + 'summary' => 'CreateVpc', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'default' => '172.16.0.0/12', + ], + ], + [ + 'name' => 'VpcName', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'type' => 'string', + ], + 'VRouterId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'RouteTableId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'TOKEN_PROCESSING', + 'errorMessage' => 'Action is processing.', + ], + [ + 'errorCode' => 'InvokeError', + 'errorMessage' => 'instance quota rule invoke error.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified CIDR block is not valid', + ], + [ + 'errorCode' => 'ResourceNotAvailable', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidVpcName.Malformed', + 'errorMessage' => 'Specified VPC name is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcDiscription.Malformed', + 'errorMessage' => 'Specified VPC description is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.Vpc', + 'errorMessage' => 'VPC quota exceeded.', + ], + [ + 'errorCode' => 'ResourceNotAvailable.Vpc', + 'errorMessage' => 'Resource you requested is not available in this region or zone.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Quota', + 'errorMessage' => 'Specified UserCidr number is greater than 3.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Malformed', + 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', + ], + [ + 'errorCode' => 'System.ServiceBusy', + 'errorMessage' => 'System is busy, please try later.', + ], + [ + 'errorCode' => 'IllegalParam.UserCidr', + 'errorMessage' => 'UserCidr is not a valid or strict address.', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => 'ResourceGroup is not supported in this region.', + ], + [ + 'errorCode' => 'IllegalParam.EnableIpv6', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateVpc', + ], + ], + 'responseDemo' => '', + ], + 'DeleteVpc' => [ + 'summary' => '删除VPC', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.RouteTable', + 'errorMessage' => 'VPC cannot be deleted when custom route table exists.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteEntry', + 'errorMessage' => 'Specified object has dependent resources', + ], + [ + 'errorCode' => 'DependencyViolation.Instance', + 'errorMessage' => 'Specified object has dependent resources', + ], + [ + 'errorCode' => 'DependencyViolation.VSwitch', + 'errorMessage' => 'Specified object has dependent resources', + ], + [ + 'errorCode' => 'DependencyViolation.SecurityGroup', + 'errorMessage' => 'Specified object has dependent resources SecurityGroup.', + ], + [ + 'errorCode' => 'DependencyViolation.RouteInterface', + 'errorMessage' => 'Specified object has dependent route interface .', + ], + [ + 'errorCode' => 'DependencyViolation.Tunnel', + 'errorMessage' => 'Specified object has dependent tunnel.', + ], + [ + 'errorCode' => 'DependencyViolation.NatGateway', + 'errorMessage' => 'Specified object has dependent resources NatGateway.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterInterface', + 'errorMessage' => 'Specified object has dependent resources RouterInterface.', + ], + [ + 'errorCode' => 'Forbidden.VpcNotFound', + 'errorMessage' => 'Specified VPC can not found.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'Active custom route in vpc.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => 'The VPC has been connected to the classic network ECS. Please cancel the connection before proceeding.', + ], + [ + 'errorCode' => 'DependencyViolation.Ipv6Gateway', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IncorrectStatus.cbnStatus', + 'errorMessage' => 'Current CBN status does not support this operation.', + ], + [ + 'errorCode' => 'DependencyViolation.CloudServiceResource', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'DependencyViolation.ClassicLinkInstance', + 'errorMessage' => 'Specified object has active classicLink instance.', + ], + [ + 'errorCode' => 'IllegalParam.RegionId', + 'errorMessage' => 'The specified RegionId is illegal.', + ], + [ + 'errorCode' => 'DependencyViolation.NetworkAcl', + 'errorMessage' => 'Specified object has dependent resources network acl.', + ], + [ + 'errorCode' => 'InvalidRegionInstance', + 'errorMessage' => 'The specified InstanceId does not exist in given region.', + ], + [ + 'errorCode' => 'DependencyViolation.Ipv4Gateway', + 'errorMessage' => 'The VPC cannot be deleted when it has ipv4Gateway.', + ], + [ + 'errorCode' => 'OperationDenied.VpcPeerExists', + 'errorMessage' => 'The operation is not allowed because the VpcPeer exists.', + ], + [ + 'errorCode' => 'DependencyViolation.GatewayRouteTable', + 'errorMessage' => 'Specified object has dependent resources gatewayRouteTable.', + ], + [ + 'errorCode' => 'DependencyViolation.DhcpOptionsSet', + 'errorMessage' => 'The VPC cannot be deleted when it is associated with dhcpOptionsSet.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error', + ], + ], + [ + [ + 'errorCode' => 'DependencyViolation.RouterInterface', + 'errorMessage' => 'Specified object has dependent resources RouterInterface.', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The operation is not supported in this status.', + ], + ], + [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteVpc', + ], + ], + 'responseDemo' => '', + ], + 'DescribeVpcs' => [ + 'summary' => '查询VPC', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'IsDefault', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'Vpcs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Vpc' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'type' => 'string', + ], + 'VpcName' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'VpcId' => [ + 'type' => 'string', + ], + 'VRouterId' => [ + 'type' => 'string', + ], + 'IsDefault' => [ + 'type' => 'boolean', + ], + 'CidrBlock' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'RegionId' => [ + 'type' => 'string', + ], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + 'UserCidrs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserCidr' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'User Id is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId.NotFound', + 'errorMessage' => 'The Specified ResourceGroupId not exists.', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVpcIdNumber.NotSupported', + 'errorMessage' => 'The number of vpcIds exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidTagKey', + 'errorMessage' => 'The tag keys are not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue', + 'errorMessage' => 'The tag values are not valid.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + [ + 'errorCode' => 'OperationFailed.Endpoint', + 'errorMessage' => 'Operation failed because the RegionId is unavailable in this endpoint.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeVpcs', + ], + ], + 'responseDemo' => '', + ], + 'ModifyVpcAttribute' => [ + 'summary' => 'ModifyVpcAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'VpcName', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'CidrBlock', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'description not valid..', + ], + [ + 'errorCode' => 'InvalidVpcName.Malformed', + 'errorMessage' => 'Specified VPC name is not valid.', + ], + [ + 'errorCode' => 'InvalidVpcDiscription.Malformed', + 'errorMessage' => 'Specified VPC description is not valid.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified UserCidr invalid format.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Quota', + 'errorMessage' => 'Specified UserCidr number is greater than 3.', + ], + [ + 'errorCode' => 'InvalidUserCidr.Malformed', + 'errorMessage' => 'Specified UserCidr overlapping in of 100.64.0.0/10.', + ], + [ + 'errorCode' => 'InvalidRegion.Malformed', + 'errorMessage' => 'Specified RegionNo is not invaild.', + ], + [ + 'errorCode' => 'IllegalCidrBlock', + 'errorMessage' => 'Some subnet cidrBlock is not in the cidrBlock.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'ParamExclusive.EnableIpv6AndCidrBlock', + 'errorMessage' => 'EnableIpv6 and CidrBlock is mutually exclusive.', + ], + [ + 'errorCode' => 'OperationFailed.ClassicLinkEnabled', + 'errorMessage' => 'Operation failed because classicLink is enabled.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified VPC does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyVpcAttribute', + ], + ], + 'responseDemo' => '', + ], + 'RemoveBandwidthPackageIps' => [ + 'summary' => 'RemoveBandwidthPackageIps', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RemovedIpAddresses', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpCount.ValueNotSupported', + 'errorMessage' => 'Can not remove all ips of the bandwidthPackage.', + ], + [ + 'errorCode' => 'InvalidRemovedIpAddresses.NotFound', + 'errorMessage' => 'Some of remove ip is not natPublicIp.', + ], + [ + 'errorCode' => 'DependencyViolation.ForwardEntry', + 'errorMessage' => 'The ip has been used by ForwardEntry.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', + ], + [ + 'errorCode' => 'invalidRemovedIpAddresses.NotFound', + 'errorMessage' => 'Some of the specified value of RemovedIpAddress not found in specified BandwidthPackage.', + ], + ], + ], + 'responseDemo' => '', + ], + 'CreateHaVip' => [ + 'summary' => 'CreateHaVip', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsYLNQGM', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'IpAddress', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'HaVipId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + [ + 'errorCode' => 'InvalidIPAddress.OutOfRange', + 'errorMessage' => 'The specified IPAddress is out of VSwitch CIDR.', + ], + [ + 'errorCode' => 'InvalidIPAddress.NotAvailable', + 'errorMessage' => 'The specified IPAddress is not available because it is a system reserved IPAddress.', + ], + [ + 'errorCode' => 'InvalidIPAddress.AlreadyUsed', + 'errorMessage' => 'The specified IPAddress is already used by other resource.', + ], + [ + 'errorCode' => 'InvalidIPAddress.Malformed', + 'errorMessage' => 'The specified IPAddress is not a valid or strict address.', + ], + [ + 'errorCode' => 'InvalidVSwitch.NotFound', + 'errorMessage' => 'The specified VSwitch does not exist in the specified region.', + ], + [ + 'errorCode' => 'InvalidPrivateIp.NotFound', + 'errorMessage' => 'The specified private ip is not exist in vswitch.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + ], + 403 => [ + [ + 'errorCode' => 'CountLimitExceed.HaVipInVpc', + 'errorMessage' => 'Specified Vpc exceeds the quota of max number of ha-vip count.', + ], + [ + 'errorCode' => 'QuotaExceeded.HaVip', + 'errorMessage' => 'Living HaVip quota exceeded.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "regionId" is not supported.', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => 'The specified VSwitch does not exist in the specified region.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateHaVip', + ], + ], + 'responseDemo' => '', + ], + 'DeleteHaVip' => [ + 'summary' => 'DeleteHaVip', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'HaVip can be deleted only when it is status is Available.', + ], + [ + 'errorCode' => 'DependencyViolation.HaVipReferedByRouteEntry', + 'errorMessage' => 'HaVip cannot be deleted when it is refered by a route table entry as next hop.', + ], + [ + 'errorCode' => 'DependencyViolation.HaVipAssociatedWithEIP', + 'errorMessage' => 'HaVip cannot be deleted when it is associated with EIP.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip?s status is invalid.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteHaVip', + ], + ], + 'responseDemo' => '', + ], + 'AssociateHaVip' => [ + 'summary' => 'AssociateHaVip', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVip.Status', + 'errorMessage' => 'vip invalid status', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'ECS instance can be operated by this action only when it??s status is Running or Stopped.', + ], + [ + 'errorCode' => 'CountLimitExceed.HaVipOnInstance', + 'errorMessage' => 'The amount of HaVip associated with the specified Instance reach its limits.', + ], + [ + 'errorCode' => 'CountLimitExceeded.HaVipOnECSInstance', + 'errorMessage' => 'The amount of Instance associated with the specified HaVip reach its limits.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + [ + 'errorCode' => 'OperationUnsupported.BindMultipleType', + 'errorMessage' => 'You cannot bind HaVip to multiple instance types.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidHaVip.Exist', + 'errorMessage' => 'haVip already bind exist.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified Instance does not exist in the specified region.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::AssociateHaVip', + ], + ], + 'responseDemo' => '', + ], + 'ModifyHaVipAttribute' => [ + 'summary' => 'ModifyHaVipAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'HaVip can be deleted only when it\'s status is Available or InUse.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specified Description is wrongly formed.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyHaVipAttribute', + ], + ], + 'responseDemo' => '', + ], + 'DescribeHaVips' => [ + 'summary' => 'DescribeHaVips', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'maxItems' => 10, + ], + ], + ], + 'required' => true, + 'maxItems' => 6, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'HaVips' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HaVip' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'type' => 'string', + ], + 'VpcId' => [ + 'type' => 'string', + ], + 'VSwitchId' => [ + 'type' => 'string', + ], + 'IpAddress' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'HaVipId' => [ + 'type' => 'string', + ], + 'CreateTime' => [ + 'type' => 'string', + ], + 'MasterInstanceId' => [ + 'type' => 'string', + ], + 'RegionId' => [ + 'type' => 'string', + ], + 'AssociatedEipAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'associatedEipAddresse' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + 'AssociatedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'associatedInstance' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeHaVips', + ], + ], + 'responseDemo' => '', + ], + 'UnassociateHaVip' => [ + 'summary' => 'UnassociateHaVip', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'HaVipId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is InUse.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'ECS instance can be operated by this action only when it\'s status is Running or Stopped.', + ], + [ + 'errorCode' => 'ResourceNotAssociated', + 'errorMessage' => 'The HaVip and ECS instance are not associated.', + ], + [ + 'errorCode' => 'Forbidden.UnassociateMaster', + 'errorMessage' => 'Unassociating a master instance is not allowed unless the parameter Force is True.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + [ + 'errorCode' => 'Forbidden.HaVip', + 'errorMessage' => 'No permissions to perform operations on HAVIPs. Please apply for privilege--vpc_privilege_allow_buy_havip_instance.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified Instance does not exist in the specified region.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::UnassociateHaVip', + ], + ], + 'responseDemo' => '', + ], + 'CreateVirtualBorderRouter' => [ + 'summary' => 'CreateVirtualBorderRouter', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VbrOwnerId', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'LocalGatewayIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PeerGatewayIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PeeringSubnetMask', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VbrId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified PhysicalConnectionId is not found.', + ], + [ + 'errorCode' => 'InvalidVlanId.Used', + 'errorMessage' => 'The specified VlanId has been used.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter \'PhysicalConnectionId\' that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotEnabled', + 'errorMessage' => 'The specified PhysicalConnectionId is not in Enabled state.', + ], + [ + 'errorCode' => 'InvalidVlanId.Malformed', + 'errorMessage' => 'The specified VlanId is not valid.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'The specified CircuitCode is not valid.', + ], + [ + 'errorCode' => 'InvalidLocalGatewayIp.Malformed', + 'errorMessage' => 'The specified LocalGatewayIp is not valid.', + ], + [ + 'errorCode' => 'InvalidPeeringSubnetMask.Malformed', + 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid Description is not valid.', + ], + [ + 'errorCode' => 'QuotaExceeded.vbrPerpConn', + 'errorMessage' => 'Virtual boarder router per PhysicalConnection quota exceed.', + ], + [ + 'errorCode' => 'QuotaExceeded.freevbr', + 'errorMessage' => 'Free virtual boarder router quota exceed.', + ], + [ + 'errorCode' => 'InvalidIp.NotSameSubnet', + 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'QuotaExceeded.CrossUserVBRPerUser', + 'errorMessage' => 'Cross virtual boarder router per user quota exceed.', + ], + [ + 'errorCode' => 'OperationFailed.VlanIdInUse', + 'errorMessage' => 'Operation failed because vlanId is in use.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', + ], + [ + 'errorCode' => 'Forbidden.NameNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', + ], + [ + 'errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId is not found.', + ], + [ + 'errorCode' => 'InvalidVbrOwnerId.NotFound', + 'errorMessage' => 'The specified VbrOwnerId is not valid.', + ], + [ + 'errorCode' => 'OperationFailed.AccessDeviceDisabled', + 'errorMessage' => 'Access device is disabled and can not create vbr.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateVirtualBorderRouter', + ], + ], + 'responseDemo' => '', + ], + 'DeleteVirtualBorderRouter' => [ + 'summary' => 'DeleteVirtualBorderRouter', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.RouterInterfaceNotDeleted', + 'errorMessage' => 'The specified VirutalBorderRouter still has routerInterface.', + ], + [ + 'errorCode' => 'InvalidOperation.OperationNotAllowedInState', + 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllowed', + 'errorMessage' => 'Invalid virtual border router status.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', + 'errorMessage' => 'The specified VirutalBorderRouter is refered by routeEntry.', + ], + [ + 'errorCode' => 'DependencyViolation.BgpGroup', + 'errorMessage' => 'bgp group exists, cannot delete vbr.', + ], + [ + 'errorCode' => 'DependencyViolation.Nqa', + 'errorMessage' => 'nqa exists, cannot delete vbr.', + ], + [ + 'errorCode' => 'DependencyViolation.BgpNetwork', + 'errorMessage' => 'bgp network exists, cannot delete vbr.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.OperationNotAllowedByUser', + 'errorMessage' => 'The caller is not allowed to delete the specified VirtualBorderRouter.', + ], + [ + 'errorCode' => 'Forbidden.MultiVlanRi', + 'errorMessage' => 'Multiple vlan router interfaces are found.', + ], + [ + 'errorCode' => 'Forbidden.NoRiFound', + 'errorMessage' => 'No vlan router interfaces are found.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteVirtualBorderRouter', + ], + ], + 'responseDemo' => '', + ], + 'ModifyVirtualBorderRouterAttribute' => [ + 'summary' => 'ModifyVirtualBorderRouterAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VlanId', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + ], + [ + 'name' => 'CircuitCode', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'LocalGatewayIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PeerGatewayIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PeeringSubnetMask', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter is not found.', + ], + [ + 'errorCode' => 'InvalidVlanId.Used', + 'errorMessage' => 'The specified VlanId has been used.', + ], + [ + 'errorCode' => 'InvalidCircuitCode.Malformed', + 'errorMessage' => 'The specified CircuitCode is not valid.', + ], + [ + 'errorCode' => 'InvalidVlanId.Malformed', + 'errorMessage' => 'The specified VlanId is not valid.', + ], + [ + 'errorCode' => 'InvalidIp.Malformed', + 'errorMessage' => 'The specified ip address is not valid.', + ], + [ + 'errorCode' => 'InvalidPeeringSubnetMask.Malformed', + 'errorMessage' => 'The specified PeeringSubnetMask is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid Description is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'LocalGatewayIp, peerGatewayIp and peeringSubnetMask must not be null.', + ], + [ + 'errorCode' => 'InvalidIp.NotSameSubnet', + 'errorMessage' => 'Local gateway ip and peer gateway ip are not in the same subnet.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.VlanIdInUse', + 'errorMessage' => 'Operation failed because vlanId is in use.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.CircuitCodeNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to modify.', + ], + [ + 'errorCode' => 'Forbidden.LocalGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the LocalGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeerGatewayIpNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeerGatewayIp parameter.', + ], + [ + 'errorCode' => 'Forbidden.PeeringSubnetMaskNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the PeeringSubnetMask parameter.', + ], + [ + 'errorCode' => 'Forbidden.VlanIdNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the VlanId.', + ], + [ + 'errorCode' => 'Forbidden.NameNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Name parameter.', + ], + [ + 'errorCode' => 'Forbidden.DescriptionNotAllowedByCaller', + 'errorMessage' => 'The caller is not allowed to specify the Description parameter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId is not found.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyVirtualBorderRouterAttribute', + ], + ], + 'responseDemo' => '', + ], + 'RecoverVirtualBorderRouter' => [ + 'summary' => 'RecoverVirtualBorderRouter', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.OperationNotAllowedInState', + 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state', + ], + [ + 'errorCode' => 'OperationFailed.VlanIdAlreadyInUse', + 'errorMessage' => 'The specifed vlanId has been used.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.OperationNotAllowedByUser', + 'errorMessage' => 'The caller is not allowed to recover the specified VirtualBorderRouter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter is not found.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::RecoverVirtualBorderRouter', + ], + ], + 'responseDemo' => '', + ], + 'TerminateVirtualBorderRouter' => [ + 'summary' => 'TerminateVirtualBorderRouter', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VbrId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.OperationNotAllowedInState', + 'errorMessage' => 'The specified VirutalBorderRouter is in invalid state.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.OperationNotAllowedByUser', + 'errorMessage' => 'The caller is not allowed to terminate the specified VirtualBorderRouter.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVbrId.NotFound', + 'errorMessage' => 'The specified VirutalBorderRouter is not found.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::TerminateVirtualBorderRouter', + ], + ], + 'responseDemo' => '', + ], + 'DescribeVirtualBorderRouters' => [ + 'summary' => 'DescribeVirtualBorderRouters', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'maxItems' => 5, + ], + ], + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'VirtualBorderRouterSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VirtualBorderRouterType' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VlanInterfaceId' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'CreationTime' => [ + 'type' => 'string', + ], + 'CircuitCode' => [ + 'type' => 'string', + ], + 'PhysicalConnectionOwnerUid' => [ + 'type' => 'string', + ], + 'LocalGatewayIp' => [ + 'type' => 'string', + ], + 'ActivationTime' => [ + 'type' => 'string', + ], + 'PhysicalConnectionBusinessStatus' => [ + 'type' => 'string', + ], + 'PeeringSubnetMask' => [ + 'type' => 'string', + ], + 'RouteTableId' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'PhysicalConnectionStatus' => [ + 'type' => 'string', + ], + 'RecoveryTime' => [ + 'type' => 'string', + ], + 'TerminationTime' => [ + 'type' => 'string', + ], + 'PeerGatewayIp' => [ + 'type' => 'string', + ], + 'Name' => [ + 'type' => 'string', + ], + 'AccessPointId' => [ + 'type' => 'string', + ], + 'VbrId' => [ + 'type' => 'string', + ], + 'PhysicalConnectionId' => [ + 'type' => 'string', + ], + 'VlanId' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeVirtualBorderRouters', + ], + ], + 'responseDemo' => '', + ], + 'DescribeVirtualBorderRoutersForPhysicalConnection' => [ + 'summary' => 'DescribeVirtualBorderRoutersForPhysicalConnection', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PhysicalConnectionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'maxItems' => 5, + ], + ], + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'VirtualBorderRouterForPhysicalConnectionSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VirtualBorderRouterForPhysicalConnectionType' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'type' => 'string', + ], + 'CircuitCode' => [ + 'type' => 'string', + ], + 'RecoveryTime' => [ + 'type' => 'string', + ], + 'TerminationTime' => [ + 'type' => 'string', + ], + 'ActivationTime' => [ + 'type' => 'string', + ], + 'VbrOwnerUid' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + 'VbrId' => [ + 'type' => 'string', + ], + 'VlanId' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionId.NotFound', + 'errorMessage' => 'The specified PhysicalConnectionId does not belong to user.', + ], + [ + 'errorCode' => 'IllegalParam.AliUid', + 'errorMessage' => 'Specified value of aliuid invalid.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeVirtualBorderRoutersForPhysicalConnection', + ], + ], + 'responseDemo' => '', + ], + 'CreateRouterInterface' => [ + 'summary' => 'CreateRouterInterface', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Role', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'OppositeRegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'OppositeInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'OppositeRouterId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'OppositeRouterType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'default' => 'VRouter', + ], + ], + [ + 'name' => 'OppositeInterfaceOwnerId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'HealthCheckSourceIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'HealthCheckTargetIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AccessPointId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'OppositeAccessPointId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'required' => false, + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'OrderId' => [ + 'type' => 'integer', + 'format' => 'int64', + ], + 'RouterInterfaceId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPrice.NotFound', + 'errorMessage' => 'Pricing plan result not found.', + ], + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'Invalid Aliuid.', + ], + [ + 'errorCode' => 'InvalidBandwidth.NotEnough', + 'errorMessage' => 'bandwdith not enough.', + ], + [ + 'errorCode' => 'InvalidRole.ValueNotSupported', + 'errorMessage' => 'The specified Role is not valid.', + ], + [ + 'errorCode' => 'InvalidSpec.ValudNotSupported', + 'errorMessage' => 'The specified Spec is not supported.', + ], + [ + 'errorCode' => 'InvalidRouterType.ValueNotSupported', + 'errorMessage' => 'The specified RouterType is not valid.', + ], + [ + 'errorCode' => 'InvalidOppositeRouterType.ValueNotSupported', + 'errorMessage' => 'The specified OppositeRouterType is not valid.', + ], + [ + 'errorCode' => 'ParameterMismatch.Role-Spec', + 'errorMessage' => 'The specified Spec and Role mismatch.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified "Name" is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid "Description" is not valid.', + ], + [ + 'errorCode' => 'Forbidden.BillsOutstanding', + 'errorMessage' => 'You cannot create more RouterInterface because you have bills outstanding.', + ], + [ + 'errorCode' => 'QuotaExceed.RouterInterface', + 'errorMessage' => 'Living RouterInterface quota exceeded.', + ], + [ + 'errorCode' => 'LimitationExceed.InterfaceNumberOnRouter', + 'errorMessage' => 'Total number of RouterInterfaces on a Router exceeded.', + ], + [ + 'errorCode' => 'InvalidParam.NotFound', + 'errorMessage' => 'Parameter must not be null,uid, bid,regionNo, remoteRegionNo or routerId', + ], + [ + 'errorCode' => 'InvalidAccessPoint.NotMatch', + 'errorMessage' => 'The accessPoint id is not matched', + ], + [ + 'errorCode' => 'InvalidAccessPoint.NotExist', + 'errorMessage' => 'The accessPoint not exit', + ], + [ + 'errorCode' => 'ForbiddenAction', + 'errorMessage' => 'The user does not supported this action.', + ], + [ + 'errorCode' => 'Forbidden.AcceptRoleNotSupportPrePay', + 'errorMessage' => 'Acception side ri not support chargetype for prepaid.', + ], + [ + 'errorCode' => 'IllegalParam.HealthcheckIp', + 'errorMessage' => 'Healthcheck ip cannot equal with instance ip.', + ], + [ + 'errorCode' => 'OperationFailed.HcForInvalidRiType', + 'errorMessage' => 'Healthchecksourceip and healthchecktargetip is only valid for vr ri that is connected to vbr.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'IllegalParam.CrossBorderBandwidth', + 'errorMessage' => 'CrossBorder bandwidth error.', + ], + [ + 'errorCode' => 'IllegalParam.VRouterType', + 'errorMessage' => 'The VRouterType is not supported.', + ], + [ + 'errorCode' => 'IllegalParam.Spec', + 'errorMessage' => 'The spec is illegal.', + ], + [ + 'errorCode' => 'Forbidden.CrossBorder', + 'errorMessage' => 'User not authorized to create cross border routerInterface.', + ], + [ + 'errorCode' => 'InvalidRouterId.NotFound', + 'errorMessage' => 'Param is not valid,this user does not have this router or aliuid bid regionNo and routerId must have something wrong.', + ], + [ + 'errorCode' => 'INVAID_VBR_STATUS', + 'errorMessage' => 'VBR status must be active', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceSpec.Malformed', + 'errorMessage' => 'Specified RouterInterface spec is not valid.', + ], + [ + 'errorCode' => 'InvalidCommodity.NotFound', + 'errorMessage' => 'Commodity is not exist.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceChargeType.Malformed', + 'errorMessage' => 'Specified RouterInterface ChargeType is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.RegionId', + 'errorMessage' => 'The specified regionId is illegal.', + ], + [ + 'errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', + 'errorMessage' => 'User withhoding argeement is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The regionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidOppositeRegionId.NotFound', + 'errorMessage' => 'The oppositeRegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterId.NotFound', + 'errorMessage' => 'The specified RouterId does not exist in our recored.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Forbidden.NotInRouterInterfaceCreateWhitelist', + 'errorMessage' => 'Not in router interface create whitelist.', + ], + [ + 'errorCode' => 'RI_CREATE_ONE_LIMIT_BY_SYNC', + 'errorMessage' => 'Create ri only one limit by sync.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The specifid "Description" is not valid.', + ], + [ + 'errorCode' => 'InvalidName.Malformed', + 'errorMessage' => 'The specified "Name" is not valid.', + ], + [ + 'errorCode' => 'InvalidAccessPoint.ValueNotAllowed', + 'errorMessage' => 'The non-vbr router interface cannot have access point configured.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateRouterInterface', + ], + ], + 'responseDemo' => '', + ], + 'DeleteRouterInterface' => [ + 'summary' => 'DeleteRouterInterface', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'This openeration would be allowed only when status of this RouterInterface is Idle/Inactive.', + ], + [ + 'errorCode' => 'DependencyViolation.RouterInterfaceReferedByRouteEntry', + 'errorMessage' => 'RouterInterface cannot be deleted when it is refered by a route table entry as next hop.', + ], + [ + 'errorCode' => 'IllegalParam.InstanceOwner', + 'errorMessage' => 'The router instance owener error.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => ' ', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InvalidRouterInterfaceChargeType.Malformed', + 'errorMessage' => 'The prepaid routerinterface can not delete.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteRouterInterface', + ], + ], + 'responseDemo' => '', + ], + 'ActivateRouterInterface' => [ + 'summary' => 'ActivateRouterInterface', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口,标记不支持', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Inactive.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'The Router instance owener error', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ActivateRouterInterface', + ], + ], + 'responseDemo' => '', + ], + 'DeactivateRouterInterface' => [ + 'summary' => 'DeactivateRouterInterface', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'RouterInterface can be operated by this action only when it\'s status is Active.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', + ], + [ + 'errorCode' => 'Forbbiden.InvaildOwner', + 'errorMessage' => 'The RouterInterface owener error', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeactivateRouterInterface', + ], + ], + 'responseDemo' => '', + ], + 'ModifyRouterInterfaceAttribute' => [ + 'summary' => 'ModifyRouterInterfaceAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'OppositeInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'OppositeRouterId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'OppositeRouterType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'OppositeInterfaceOwnerId', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + ], + ], + [ + 'name' => 'HealthCheckSourceIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'HealthCheckTargetIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'RouterInterface can be operated by this action only when the status is Active,idle or inactive.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'This RouterInterface is financiel locked because of bills outstanding.', + ], + [ + 'errorCode' => 'InvalidName.Malformd', + 'errorMessage' => 'The attribute name is illeagl.', + ], + [ + 'errorCode' => 'InvalidOppositeRouterType.ValueNotSupported', + 'errorMessage' => 'The specified OppositeRouterType is not valid.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'The Description is illeagl.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'The Router instance owener error', + ], + [ + 'errorCode' => 'LinkRole.NotSupport', + 'errorMessage' => 'This linkrole is not supported', + ], + [ + 'errorCode' => 'Forbbiden.ModifyIdAndType', + 'errorMessage' => 'Opposite is VBR, cannot modify the ID and type', + ], + [ + 'errorCode' => 'InvalidParam.ModifyRouterInterface', + 'errorMessage' => 'Modify routerinterface param invalid', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyRouterInterfaceAttribute', + ], + ], + 'responseDemo' => '', + ], + 'ModifyRouterInterfaceSpec' => [ + 'summary' => 'ModifyRouterInterfaceSpec', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'UserCidr', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Spec' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSpec.ValudNotSupported', + 'errorMessage' => 'The specified Spec is not supported.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'RouterInterface can not be operated by this action when it??s FinancialLocked.', + ], + [ + 'errorCode' => 'InvalidParam.NotFound', + 'errorMessage' => 'Parameter must not be null,uid, bid,regionNo, remoteRegionNo or routerId', + ], + [ + 'errorCode' => 'InvalidOppositeRegionId.NotFound', + 'errorMessage' => 'The OppositeRegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceOwner.Error', + 'errorMessage' => 'The router instance owener error.', + ], + [ + 'errorCode' => 'InvalidInstance.StatusError', + 'errorMessage' => 'The router instance owener error.', + ], + [ + 'errorCode' => 'InvalidOpposite.NotFound', + 'errorMessage' => 'The opposite not exit.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceSpec.Malformed', + 'errorMessage' => 'Specified RouterInterface spec is not valid.', + ], + [ + 'errorCode' => 'IllegalParam.chargeType', + 'errorMessage' => 'RouterInterface chargeType different.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyRouterInterfaceSpec', + ], + ], + 'responseDemo' => '', + ], + 'ModifyVRouterAttribute' => [ + 'summary' => 'ModifyVRouterAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'VRouterId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VRouterName', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVRouterName.Malformed', + 'errorMessage' => 'Specified virtual router name is not valid.', + ], + [ + 'errorCode' => 'InvalidVRouterDiscription.Malformed', + 'errorMessage' => 'Specified virtual router description is not valid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'Forbidden.VRouterNotFound', + 'errorMessage' => 'Specified virtual router is not found during access authentication.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidVRouterId.NotFound', + 'errorMessage' => 'Specified virtual router does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyVRouterAttribute', + ], + ], + 'responseDemo' => '', + ], + 'DescribeRouterInterfaces' => [ + 'summary' => 'DescribeRouterInterfaces', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'maxItems' => 5, + ], + ], + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RouterInterfaceSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouterInterfaceType' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'HealthCheckTargetIp' => [ + 'type' => 'string', + ], + 'CreationTime' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'Spec' => [ + 'type' => 'string', + ], + 'OppositeInterfaceId' => [ + 'type' => 'string', + ], + 'RouterInterfaceId' => [ + 'type' => 'string', + ], + 'ChargeType' => [ + 'type' => 'string', + ], + 'OppositeRouterType' => [ + 'type' => 'string', + ], + 'OppositeInterfaceOwnerId' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'Name' => [ + 'type' => 'string', + ], + 'OppositeRouterId' => [ + 'type' => 'string', + ], + 'OppositeInterfaceSpec' => [ + 'type' => 'string', + ], + 'RouterId' => [ + 'type' => 'string', + ], + 'OppositeInterfaceBusinessStatus' => [ + 'type' => 'string', + ], + 'ConnectedTime' => [ + 'type' => 'string', + ], + 'OppositeInterfaceStatus' => [ + 'type' => 'string', + ], + 'HealthCheckSourceIp' => [ + 'type' => 'string', + ], + 'EndTime' => [ + 'type' => 'string', + ], + 'OppositeRegionId' => [ + 'type' => 'string', + ], + 'OppositeAccessPointId' => [ + 'type' => 'string', + ], + 'BusinessStatus' => [ + 'type' => 'string', + ], + 'Role' => [ + 'type' => 'string', + ], + 'RouterType' => [ + 'type' => 'string', + ], + 'AccessPointId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NotNull', + 'errorMessage' => 'The parameter must not be null.', + ], + [ + 'errorCode' => 'IllegalParam.AliUid', + 'errorMessage' => 'Specified value of aliuid invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidFilterKey.ValueNotSupported', + 'errorMessage' => 'Specified filter key is not supported: Filter.X.key', + ], + [ + 'errorCode' => 'InvalidOppositeRegionId.NotFound', + 'errorMessage' => 'The oppositeRegionId provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeRouterInterfaces', + ], + ], + 'responseDemo' => '', + ], + 'UnassociateEipAddress' => [ + 'summary' => 'UnassociateEipAddress', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of instance does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified value of InstanceType is not supported.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Eip of default vpc not allow this operation', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'The eip instance owener error', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidBindingStatus', + 'errorMessage' => 'The eip binding status invalid.', + ], + [ + 'errorCode' => 'Forbidden.FinancialLocked', + 'errorMessage' => 'The ip business status is invalid.', + ], + [ + 'errorCode' => 'InvalidIpStatus.HasBeenUsedBySnatTable', + 'errorMessage' => 'The removed ip address has been used by snat table.', + ], + [ + 'errorCode' => 'InvalidIpStatus.HasBeenUsedByForwardEntry', + 'errorMessage' => 'The specified address has been used by forwardTable.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'InvalidStatus.EcsStatusNotSupport', + 'errorMessage' => 'The special instance status Pending is not support operate', + ], + [ + 'errorCode' => 'InvalidStatus.EniStatusNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.SnatOrDnat', + 'errorMessage' => 'Operation failed because snat or dnat in unstable status.', + ], + [ + 'errorCode' => 'DependencyViolation.SnatEntry', + 'errorMessage' => 'The specified eip is in ip pool.', + ], + [ + 'errorCode' => 'InvalidInstance.NotVpc', + 'errorMessage' => 'Bound instance is not vpc instance.', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllow', + 'errorMessage' => 'Bound instance status is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found', + ], + [ + 'errorCode' => 'InvalidHaVip.NotFound', + 'errorMessage' => 'The specified HaVip does not exist.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'OperationUnsupported.ServiceManaged', + 'errorMessage' => 'Operation of resource is forbidden because this instance belongs to Service manager.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::UnassociateEipAddress', + ], + ], + 'responseDemo' => '', + ], + 'AllocateEipAddress' => [ + 'summary' => 'AllocateEipAddress', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '28782', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ISP', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'default' => 'PayByBandwidth', + ], + ], + [ + 'name' => 'ActivityId', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'AllocationId' => [ + 'type' => 'string', + ], + 'EipAddress' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QueryParameter.Illegal', + 'errorMessage' => 'query parameter illegal', + ], + [ + 'errorCode' => 'COMMODITY_NO_EXIST', + 'errorMessage' => 'commodity is not exist', + ], + [ + 'errorCode' => 'QuotaExceeded.Eip', + 'errorMessage' => 'Elastic IP address quota exceeded', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "InternetChargeType" is not valid', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ReserveIpFail', + 'errorMessage' => 'Reserve eip failed.', + ], + [ + 'errorCode' => 'InvalidRegion.NotSupport', + 'errorMessage' => 'The specified region does not support.', + ], + [ + 'errorCode' => 'InvalidBandwidth.Malformed', + 'errorMessage' => 'The specified Bandwidth is invalid.', + ], + [ + 'errorCode' => 'COMMODITY.INVALID_COMPONENT', + 'errorMessage' => 'The instance component is invalid.', + ], + [ + 'errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'OrderFailed', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'QuotaExceeded.LargeSpecEip', + 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', + ], + [ + 'errorCode' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'SYSTEM.SALE_VALIDATE_UNEXPECTED_ERROR', + 'errorMessage' => 'You have arrears and do not meet the purchase conditions.', + ], + [ + 'errorCode' => 'InvalidComponent.EipBandwidthMax', + 'errorMessage' => 'The eip_bandwidth_max component is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.RiskControl', + 'errorMessage' => 'Risk control check failed.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + [ + 'errorCode' => 'IllegalParam.OrderParamComponent', + 'errorMessage' => 'Product order param has invalid component.', + ], + [ + 'errorCode' => 'OperationFailed.SaleExpression', + 'errorMessage' => 'Get the sales expression exception attached to the item.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'OperationFailed.CompleteUserInfo', + 'errorMessage' => 'Complete user info failed.', + ], + [ + 'errorCode' => 'OperationFailed.QueryPrice', + 'errorMessage' => 'Query price failed when create order.', + ], + [ + 'errorCode' => 'OperationFailed.InvokeInnerApi', + 'errorMessage' => 'Failed to invoke inner api.', + ], + [ + 'errorCode' => 'OperationFailed.AccountMoneyInvalid', + 'errorMessage' => 'Account money is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCredtiInfo', + 'errorMessage' => 'Failed to query credit info.', + ], + [ + 'errorCode' => 'OperationFailed.QueryUserLabel', + 'errorMessage' => 'Failed to query user label info.', + ], + [ + 'errorCode' => 'FrequentPurchase.EIP', + 'errorMessage' => 'eip frequent purchase', + ], + [ + 'errorCode' => 'PAY.INSUFFICIENT_BALANCE', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'ORDER.QUANTITY_INVALID', + 'errorMessage' => 'User quota has exceeded the limit.', + ], + [ + 'errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', + 'errorMessage' => 'User withhoding argeement is illegal.', + ], + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of "RegionId" is not supported.', + ], + ], + 409 => [ + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => 'Request was denied due to conflict with a previos request.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InsufficientEipCapacity', + 'errorMessage' => 'Insufficient EIP capacity to fulfill your request.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + [ + 'errorCode' => 'OrderError.EIP', + 'errorMessage' => 'The Account failed to create order.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::AllocateEipAddress', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"\\",\\n \\"AllocationId\\": \\"\\",\\n \\"EipAddress\\": \\"\\"\\n}","type":"json"}]', + 'title' => '申请弹性公网IP(EIP)', + 'description' => '> 该接口已升级,不建议继续使用。新版接口的使用说明,请参见[AllocateEipAddress](~~120192~~)。', + ], + 'ModifyEipAddressAttribute' => [ + 'summary' => 'ModifyEipAddressAttribute', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InsufficientBalance.Eip', + 'errorMessage' => 'Your account does not have enough balance.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "Bandwidth" is not supported.', + ], + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidParam', + 'errorMessage' => 'The Ecmp routerEntry with router interfaces local vgw vip not match.', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It?s forbidden to change prepaid EIP?s bandwidth by API. It can be changed on Aliyun web console.', + ], + [ + 'errorCode' => 'InvalidBandwidth.OutOfMaxTrafficBindedOnNatgw', + 'errorMessage' => ' ', + ], + [ + 'errorCode' => 'QuotaExceeded.LargeSpecEip', + 'errorMessage' => 'Elastic IP address with large spec quota exceeded.', + ], + [ + 'errorCode' => 'InvalidEipAddressName.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'ResourceQueryError', + 'errorMessage' => 'The specified resource is queried error.', + ], + [ + 'errorCode' => 'InvalidDescription.Malformed', + 'errorMessage' => 'Invalid description.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'OperationFailed.SyncOrderToSub', + 'errorMessage' => 'SyncOrderToSub error.', + ], + [ + 'errorCode' => 'COMMODITY.INVALID_COMPONENT', + 'errorMessage' => 'The instance component is invalid.', + ], + [ + 'errorCode' => 'OperationFailed.CompleteUserInfo', + 'errorMessage' => 'Complete user info failed.', + ], + [ + 'errorCode' => 'OperationFailed.ConcurrentRequest', + 'errorMessage' => 'Operation failed because concurrent request.', + ], + [ + 'errorCode' => 'IncorrectStatus.ResourceStatus', + 'errorMessage' => 'Resource status is abnormal for renew.', + ], + [ + 'errorCode' => 'OperationFailed.SaleValidate', + 'errorMessage' => 'Validate sale condition with subArticle failed.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found', + ], + [ + 'errorCode' => 'Forbidden.InCommonBandwidthPackage', + 'errorMessage' => 'Specified allocation ID in common bandwidth package.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'SYSTEM.UNKNOWN.ERROR', + 'errorMessage' => 'The Account failed to create order.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyEipAddressAttribute', + ], + ], + 'responseDemo' => '', + ], + 'ReleaseEipAddress' => [ + 'summary' => 'ReleaseEipAddress', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'The eip instance owener error', + ], + [ + 'errorCode' => 'Forbidden.ChargeTypeIsPrepaid', + 'errorMessage' => 'It\'s forbidden to release a prepaid EIP', + ], + [ + 'errorCode' => 'TaskConflict.AssociateGlobalAccelerationInstance', + 'errorMessage' => 'Operate too frequent.', + ], + [ + 'errorCode' => 'InvalidOperation.DeletionProtection', + 'errorMessage' => 'The instance cannnot delete because of deletion protecion.', + ], + [ + 'errorCode' => 'OperationUnsupported.ServiceManaged', + 'errorMessage' => 'Operation is forbidden because this instance belongs to Service manager.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ReleaseEipAddress', + ], + ], + 'responseDemo' => '', + ], + 'AssociateEipAddress' => [ + 'summary' => 'AssociateEipAddress', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28787', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAction.Denied', + 'errorMessage' => 'Action is denied due to unfinished Eip configuration modification.', + ], + [ + 'errorCode' => 'InvalidAssociation.Duplicated', + 'errorMessage' => 'Specified instance already is associated.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified instance is not in VPC.', + ], + [ + 'errorCode' => 'InvalidParameter.Mismatch', + 'errorMessage' => 'Specified elastic IP address and ECS instance are not in the same region.', + ], + [ + 'errorCode' => 'IncorrectEipStatus', + 'errorMessage' => 'Current elastic IP status does not support this operation', + ], + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'Current instance status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified value of InstanceType is not supported.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'HaVip can be operated by this action only when it\'s status is Available or InUse.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'ReserveIpFail', + 'errorMessage' => 'Reserve eip failed.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'The eip instance owener error', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The eip operate too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'InvalidBindingStatus', + 'errorMessage' => 'The eip binding status invalid.', + ], + [ + 'errorCode' => 'BIND_INSTANCE_HAVE_PORTMAP_OR_BIND_EIP', + 'errorMessage' => 'The instance may have portMap or already bind eip.', + ], + [ + 'errorCode' => 'EIP_CAN_NOT_ASSOCIATE_WITH_PUBLIC_IP', + 'errorMessage' => 'instance already bind natpublicip,cannot bind eip.', + ], + [ + 'errorCode' => 'BIND_INSTANCE_OWENER_ERROR', + 'errorMessage' => 'Cannot operate the eip.', + ], + [ + 'errorCode' => 'QuotaExceeded.NumberOfTrafficEip', + 'errorMessage' => 'The number of traffic eip on natgw exceed limitation.', + ], + [ + 'errorCode' => 'QuotaExceeded.NumberOfEip', + 'errorMessage' => 'Binded eip Quota exceed on this NatGw.', + ], + [ + 'errorCode' => 'InvalidEipBandwidth.OutOfMaxValue', + 'errorMessage' => '""', + ], + [ + 'errorCode' => 'Forbidden.EipCanNotBindGatgw', + 'errorMessage' => 'Eip can not bind on natgw.', + ], + [ + 'errorCode' => 'Forbidden.InstanceBandwidthNotZero', + 'errorMessage' => 'Eip can not bind with instance when it\'s bandwidth is not zero.', + ], + [ + 'errorCode' => 'INSTANCE_TYPE_NOT_SUPPORT', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'InvalidStatus.EcsStatusNotSupport', + 'errorMessage' => 'The special instance status Pending is not support operate', + ], + [ + 'errorCode' => 'NATGATEWAY_FINANCIALLOCKED', + 'errorMessage' => 'The NatGateway has expire, cannot do bind operation.', + ], + [ + 'errorCode' => 'InvalidParameter.InstanceTypeNotSupport', + 'errorMessage' => 'The specified instance type is not support.', + ], + [ + 'errorCode' => 'InstanceType.NotSupport', + 'errorMessage' => 'The instance type is invalid.', + ], + [ + 'errorCode' => 'InvalidParams.NotFound', + 'errorMessage' => 'instance not found', + ], + [ + 'errorCode' => 'BindInstance.NotSupported', + 'errorMessage' => 'bind instance type %s is not supported.', + ], + [ + 'errorCode' => 'ServerRegion.Invalid', + 'errorMessage' => 'Eip bind remote server region invalid.', + ], + [ + 'errorCode' => 'Eni.Attached', + 'errorMessage' => 'The eni should be detached from ecs when associating with direct eip.', + ], + [ + 'errorCode' => 'Invalid.DirectEip.BindType', + 'errorMessage' => 'The direct eip can be only associated with eni.', + ], + [ + 'errorCode' => 'InvalidStatus.EniStatusNotSupport', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.EniInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidNexthop.DirectEni', + 'errorMessage' => 'The direct Eni cannot be nexthop.', + ], + [ + 'errorCode' => 'InvalidEIPStatus.BizDisabled', + 'errorMessage' => 'The EIP has been locked.', + ], + [ + 'errorCode' => 'OperationFailed.EniSubIp', + 'errorMessage' => 'Eni has sub ip can not bind direct eip.', + ], + [ + 'errorCode' => 'InvalidEip.EipQuotaExceeded', + 'errorMessage' => 'The specified eni assigned eip is more than privateIp.', + ], + [ + 'errorCode' => 'OperationFailed.QueryCommodityInfo', + 'errorMessage' => 'Operation failed because quey commodity info error.', + ], + [ + 'errorCode' => 'OperationUnsupported.MultiIp', + 'errorMessage' => 'Multi ip function is not support.', + ], + [ + 'errorCode' => 'InvalidNicOrVm.NotFound', + 'errorMessage' => 'Bind nic or vm not exist.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipBindModel', + 'errorMessage' => 'The instance type of ecs does not support MULTI_BINDED model Eip.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatGateway', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.BindingInstanceRegion', + 'errorMessage' => 'The specified BindingInstanceRegion is not supported.', + ], + [ + 'errorCode' => 'OperationFailed.HavipBoundPortmap', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidStatus.NotAllow', + 'errorMessage' => 'Bound instance status is invalid.', + ], + [ + 'errorCode' => 'InvalidInstance.NotVpc', + 'errorMessage' => 'Bound instance is not vpc instance.', + ], + [ + 'errorCode' => 'InvalidStatus.InstanceHasBandWidth', + 'errorMessage' => 'The specified instance bandwidth invalid.', + ], + [ + 'errorCode' => 'OperationDenied.CloudBoxResourceExist', + 'errorMessage' => 'The operation is not allowed because the resource to be bound is a CloudBox resource.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found.', + ], + [ + 'errorCode' => 'InvalidInstanId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidHaVip.NotFound', + 'errorMessage' => 'The specified HaVip does not exist.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'Specified value of InstanceRegionId is not supported.', + ], + [ + 'errorCode' => 'InvalidInstance.NotExist', + 'errorMessage' => 'Bind instance data not exist.', + ], + ], + 503 => [ + [ + 'errorCode' => 'ServiceUnavailable', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::AssociateEipAddress', + ], + ], + 'responseDemo' => '', + ], + 'DescribeEipAddresses' => [ + 'summary' => 'DescribeEipAddresses', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28925', + 'abilityTreeNodes' => [ + 'FEATUREecsYVS611', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'EipAddress', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ISP', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter.1.Key', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Filter.2.Key', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Filter.1.Value', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Filter.2.Value', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'LockReason', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AssociatedInstanceType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AssociatedInstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'EipAddresses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EipAddress' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'type' => 'string', + ], + 'AllocationTime' => [ + 'type' => 'string', + ], + 'ChargeType' => [ + 'type' => 'string', + ], + 'InstanceId' => [ + 'type' => 'string', + ], + 'InstanceType' => [ + 'type' => 'string', + ], + 'RegionId' => [ + 'type' => 'string', + ], + 'IpAddress' => [ + 'type' => 'string', + ], + 'Bandwidth' => [ + 'type' => 'string', + ], + 'ExpiredTime' => [ + 'type' => 'string', + ], + 'AllocationId' => [ + 'type' => 'string', + ], + 'InternetChargeType' => [ + 'type' => 'string', + ], + 'EipBandwidth' => [ + 'type' => 'string', + ], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LockReason' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LockReason' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIAssociatedInstanceType.ValueNotSupported', + 'errorMessage' => 'The specified value of AssociatedInstanceType is not supported.', + ], + [ + 'errorCode' => 'InvalidChargeType.ValueNotSupported', + 'errorMessage' => 'The specified ChargeType is not supported.', + ], + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'User Id is not valid.', + ], + [ + 'errorCode' => 'ResourceQueryError', + 'errorMessage' => 'The specified resource is queried error.', + ], + [ + 'errorCode' => 'InstanceType.Invalid', + 'errorMessage' => 'InstanceType is not null', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Parameter exceed max length', + ], + [ + 'errorCode' => 'OperationUnsupported.ResourceGroupId', + 'errorMessage' => 'ResourceGroup is not supported in this region.', + ], + [ + 'errorCode' => 'IellgalParameter.OwnerAccount', + 'errorMessage' => 'The specified parameter OwnerAccount is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceGroupId', + 'errorMessage' => 'The specified ResourceGroupId does not exist.', + ], + [ + 'errorCode' => 'OperationFailed.Endpoint', + 'errorMessage' => 'Operation failed because the RegionId is unavailable in this endpoint.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + [ + 'errorCode' => 'InvalidFilterKey.NotFound', + 'errorMessage' => ' ', + ], + [ + 'errorCode' => 'InvalidFilterValue', + 'errorMessage' => ' ', + ], + [ + 'errorCode' => 'InvalidLockReason.NotFound', + 'errorMessage' => 'The specified LockReason is not found', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeEipAddresses', + ], + ], + 'responseDemo' => '', + ], + 'DescribeEipMonitorData' => [ + 'summary' => 'DescribeEipMonitorData', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'default' => '60', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'EipMonitorDatas' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EipMonitorData' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EipTX' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'EipPackets' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'EipBandwidth' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TimeStamp' => [ + 'type' => 'string', + ], + 'EipFlow' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'EipRX' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.TooMany', + 'errorMessage' => 'monitor parameter too many data required.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified parameter "StartTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Period" is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.TooEarly', + 'errorMessage' => 'The specified parameter "StartTime" is too early.', + ], + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation id is not found.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "Period" is not valid', + ], + [ + 'errorCode' => 'OperationDenied.TooManyDataQueried', + 'errorMessage' => 'Specified operation is denied as too many data to return.', + ], + [ + 'errorCode' => 'InvalidRegionInstance', + 'errorMessage' => 'The specified InstanceId does not exist in given region.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidIpInstanceId.NotFound', + 'errorMessage' => 'The specified Eip InstanceId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'Forbidden.RegionNotFound', + 'errorMessage' => 'Specified region is not found during access authentication.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeEipMonitorData', + ], + ], + 'responseDemo' => '', + ], + 'CreateNatGateway' => [ + 'summary' => 'CreateNatGateway', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'vpc接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'BandwidthPackage', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'Zone' => [ + 'type' => 'string', + ], + 'IpCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NatGatewayId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'ForwardTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ForwardTableId' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + 'BandwidthPackageIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BandwidthPackageId' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidVPCStatus', + 'errorMessage' => 'vpc incorrect status.', + ], + [ + 'errorCode' => 'InvalidNatGatewayName.MalFormed', + 'errorMessage' => 'NatGateway name is not valid.', + ], + [ + 'errorCode' => 'InvalidNatGatewayDescription.MalFormed', + 'errorMessage' => 'NatGateway description is not valid.', + ], + [ + 'errorCode' => 'MissingParameter.BandwidthPackage', + 'errorMessage' => 'only support one BandwidthPackage be created with NatGateway.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'The user cannot allow to create natgw, please call PD to authorize', + ], + [ + 'errorCode' => 'RouterEntryConflict.Duplicated', + 'errorMessage' => 'A route entry already exists, which CIDR is \'0.0.0.0/0\'', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'QuotaExceeded.BandwidthPackageIps', + 'errorMessage' => 'The specified ipCount exceeded quota.', + ], + [ + 'errorCode' => 'AllocateIpFailed', + 'errorMessage' => 'Alloc bandwidthPackage ips failed, maybe no available ip.', + ], + [ + 'errorCode' => 'ParameterIllegal', + 'errorMessage' => 'ipCount,bandwidth parameter invalid', + ], + [ + 'errorCode' => 'ZONE_NO_AVAILABLE_IP', + 'errorMessage' => 'The Zone have no available ip.', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'The NatGatewayId not exist.', + ], + [ + 'errorCode' => 'InvalidParameter.Spec.ValueNotSupported', + 'errorMessage' => 'The specified Spec is not valid.', + ], + [ + 'errorCode' => 'COMMODITY.INVALID_COMPONENT', + 'errorMessage' => 'The instance component is invalid.', + ], + [ + 'errorCode' => 'OperationUnsupported.MultiNatGateway', + 'errorMessage' => 'More than one natGateway per vpc is unsupported.', + ], + [ + 'errorCode' => 'VswitchStatusError', + 'errorMessage' => 'The VSwitch is creating .', + ], + [ + 'errorCode' => 'Forbidden.CheckEntryRuleQuota', + 'errorMessage' => 'Route entry quota rule check error.', + ], + [ + 'errorCode' => 'OperationFailed.UnpaidBillsExist', + 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteEntry', + 'errorMessage' => 'Specified routeEntry status error.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTableStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'OperationFailed.TokenVerfiy', + 'errorMessage' => 'Token verify failed.', + ], + [ + 'errorCode' => 'IllegalParam.Name', + 'errorMessage' => 'The specified Name is invalid, shorter than 2 characters.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + [ + 'errorCode' => 'InvalidZoneId.NotFound', + 'errorMessage' => 'Specified value of ZoneId is not exists.', + ], + [ + 'errorCode' => 'VPC_ONLY_CAN_CREATE_ONE_NAT_GATEWAY', + 'errorMessage' => 'NatGateway in one vpc support only one.', + ], + [ + 'errorCode' => 'OperationFailed.CrateEntryTimeOut', + 'errorMessage' => 'Operation failed because create custom routeEntry timeout.', + ], + ], + 500 => [ + [ + 'errorCode' => 'OrderError.NatGateway', + 'errorMessage' => 'The Account failed to create order.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateNatGateway', + ], + ], + 'responseDemo' => '', + ], + 'DeleteNatGateway' => [ + 'summary' => 'DeleteNatGateway', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DependencyViolation.BandwidthPackages', + 'errorMessage' => 'There are BandwidthPackages on specified NatGateway not deleted.', + ], + [ + 'errorCode' => 'DependencyViolation.EIPS', + 'errorMessage' => 'There are Eips on specified NatGateway, please unbind it first.', + ], + [ + 'errorCode' => 'Forbidden.PrePaidNatGateway', + 'errorMessage' => 'The specified NatGateway is PrePaid.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + ], + 404 => [ + [ + 'errorCode' => 'INSTANCE_NOT_EXISTS', + 'errorMessage' => 'Instance not exists.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'The specified NatGatewayId does not exist in our records.', + ], + [ + 'errorCode' => 'IncorrectStatus.natgw', + 'errorMessage' => 'NatGateway status is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteNatGateway', + ], + ], + 'responseDemo' => '', + ], + 'DescribeNatGateways' => [ + 'summary' => 'DescribeNatGateways', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'NatGatewayId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'NatGateways' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NatGateway' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'type' => 'string', + ], + 'CreationTime' => [ + 'type' => 'string', + ], + 'VpcId' => [ + 'type' => 'string', + ], + 'Spec' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'NatGatewayId' => [ + 'type' => 'string', + ], + 'BusinessStatus' => [ + 'type' => 'string', + ], + 'Name' => [ + 'type' => 'string', + ], + 'InstanceChargeType' => [ + 'type' => 'string', + ], + 'RegionId' => [ + 'type' => 'string', + ], + 'ForwardTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ForwardTableId' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + 'BandwidthPackageIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BandwidthPackageId' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAliuid', + 'errorMessage' => 'User Id is not valid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeNatGateways', + ], + ], + 'responseDemo' => '', + ], + 'DescribeNewProjectEipMonitorData' => [ + 'summary' => 'DescribeNewProjectEipMonitorData', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'AllocationId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'default' => '60', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'EipMonitorDatas' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EipMonitorData' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EipTX' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'EipPackets' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'EipBandwidth' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TimeStamp' => [ + 'type' => 'string', + ], + 'EipFlow' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'EipRX' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified parameter "StartTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified parameter "EndTime" is not valid.', + ], + [ + 'errorCode' => 'InvalidPeriod.ValueNotSupported', + 'errorMessage' => 'The specified parameter "Period" is not valid.', + ], + [ + 'errorCode' => 'InvalidStartTime.TooEarly', + 'errorMessage' => 'The specified parameter "StartTime" is too early.', + ], + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation id is not found.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Specified value of "Period" is not valid', + ], + [ + 'errorCode' => 'OperationDenied.TooManyDataQueried', + 'errorMessage' => 'Specified operation is denied as too many data to return.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The InstanceId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidAllocationId.NotFound', + 'errorMessage' => 'Specified allocation ID is not found', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeEipMonitorData', + ], + ], + 'responseDemo' => '', + ], + 'DeleteRouteEntry' => [ + 'summary' => 'DeleteRouteEntry', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'NextHopId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'NextHopList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NextHopId' => [ + 'type' => 'string', + ], + 'NextHopType' => [ + 'type' => 'string', + ], + ], + ], + 'required' => false, + 'maxItems' => 4, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'IncorrcetRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified operation is denied as route entry type is system.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.NotFound', + 'errorMessage' => 'Route entry not exists.', + ], + [ + 'errorCode' => 'InvalidVRouter.NotFound', + 'errorMessage' => 'vRouter not exists.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'Forbbiden', + 'errorMessage' => 'Specified RouteEntry cannot allowed delete by openApi.', + ], + [ + 'errorCode' => 'InvalidNextHop', + 'errorMessage' => 'Specified nexthop and nexthop list cannot both null.', + ], + [ + 'errorCode' => 'InvalidRouteEntry', + 'errorMessage' => 'Specified routeEntry not exist.', + ], + [ + 'errorCode' => 'Forbidden.VRouterNotFound', + 'errorMessage' => 'pecified virtual switch is not found during access authentication.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, TaskConflict.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'InvalidVpnInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidNextHopList.Size', + 'errorMessage' => 'Nexthop list size should be between 2 and 16', + ], + [ + 'errorCode' => 'ParamExclusive.NextHopIdAndList', + 'errorMessage' => 'NextHopId and NextHopList cannot both be not null.', + ], + [ + 'errorCode' => 'OperationFailed.DeleteMultiScopeEntry', + 'errorMessage' => 'Multi or ecmp scope must delete with force.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'Specified route table does not exist.', + ], + [ + 'errorCode' => 'InvalidVpcId.NotFound', + 'errorMessage' => 'Specified value of VpcId is not found in our record.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Vpc.Error', + 'errorMessage' => 'error code 500,Internal server error.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteRouteEntry', + ], + ], + 'responseDemo' => '', + ], + 'DeleteForwardEntry' => [ + 'summary' => 'DeleteForwardEntry', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ForwardEntryId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Missing mandatory parameter', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardEntryId.NotFound', + 'errorMessage' => 'Specified forward entry ID does not exist', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DeleteForwardEntry', + ], + ], + 'responseDemo' => '', + ], + 'CreateForwardEntry' => [ + 'summary' => 'CreateForwardEntry', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ExternalIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ExternalPort', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'InternalIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'InternalPort', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ForwardEntryId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationUnsupported.ForwardEntry', + 'errorMessage' => 'Duplicated destination ip port is unsupported.', + ], + [ + 'errorCode' => 'InvalidExternalIp.Malformed', + 'errorMessage' => 'The specified ExternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidInternalIp.Malformed', + 'errorMessage' => 'The specified InternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidExternalPort.Malformed', + 'errorMessage' => 'The specified ExternalPort is not a valid port.', + ], + [ + 'errorCode' => 'InvalidInternalPort.Malformed', + 'errorMessage' => 'The specified InternalPort is not a valid port.', + ], + [ + 'errorCode' => 'Forbidden.DestnationIpOutOfVpcCIDR', + 'errorMessage' => 'The specified Internal Ip is Out of VPC CIDR.', + ], + [ + 'errorCode' => 'InvalidProtocal.ValueNotSupported', + 'errorMessage' => 'The specified IpProtocol does not support.', + ], + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Forward entry quota exceeded in this route table.', + ], + [ + 'errorCode' => 'ForwardEntry.Duplicated', + 'errorMessage' => 'The specified ExternalIp, IpProtocol, ExternalPort,InternalIp, InternalPort is duplicated.', + ], + [ + 'errorCode' => 'Invalid.natgwNotExist', + 'errorMessage' => 'The specified natgateway not exist.', + ], + [ + 'errorCode' => 'InvalidIp.NotInNatgw', + 'errorMessage' => 'The specified ip not belong to natgateway.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Missing mandatory parameter.', + ], + [ + 'errorCode' => 'OperationFailed.InstacneBindEip', + 'errorMessage' => 'Private ip instance already bind eip.', + ], + [ + 'errorCode' => 'DuplicatedParam.ExternalPort', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'DuplicatedParam.InternalPort', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'UnsupportedFeature.PrivateLinkEnabled', + 'errorMessage' => 'The feature of PrivateLinkEnabled is not supported.', + ], + [ + 'errorCode' => 'UnsupportedFeature.PortSegment', + 'errorMessage' => 'The feature of PortSegment is not supported.', + ], + [ + 'errorCode' => 'ExclusiveParam.%sAnd%s', + 'errorMessage' => 'The param of %s and %s are mutually exclusive.', + ], + [ + 'errorCode' => 'OperationFailed.AnyPortConfig', + 'errorMessage' => 'Operation failed because any port correspondence any protocol.', + ], + [ + 'errorCode' => 'QuotaExceeded.ForwardEntry', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'IncorrectStatus.NatIp', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Forbidden.IpHasBeenUsedInSnat', + 'errorMessage' => 'The source ip can\'t be used. Because it has been used in snat.', + ], + [ + 'errorCode' => 'Forbidden.DestinationIpOutOfVswitchCIDR', + 'errorMessage' => 'The specified Internal Ip is Out of VSwitch CIDR.', + ], + [ + 'errorCode' => 'Forbidden.ExternalIp.UsedInSnatTable', + 'errorMessage' => 'The specified ExternalIp is already used in SnatTable.', + ], + [ + 'errorCode' => 'Forbidden.InternalIpOutOfVpcCIDR', + 'errorMessage' => 'The specified Internal Ip is Out of VPC CIDR.', + ], + [ + 'errorCode' => 'AnyPort.PortMustBeZero', + 'errorMessage' => 'Any port port must be zero.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Malformed', + 'errorMessage' => 'The specified Name is not valid.', + ], + [ + 'errorCode' => 'IncorrectStatus.ForwardEntry', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Duplicated.DestinationPort', + 'errorMessage' => 'The specified param DestinationPort is duplicated.', + ], + [ + 'errorCode' => 'OperationUnsupported.EipInBinding', + 'errorMessage' => 'Create snat entry with eip in associating status is unsupported.', + ], + [ + 'errorCode' => 'QuotaExceeded.ForwardEntrySessionManytoOne', + 'errorMessage' => 'The dnat session quota is exceed.', + ], + [ + 'errorCode' => 'DuplicatedParam.%s', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'UnsupportedFeature.%s', + 'errorMessage' => 'The feature of %s is not supported.', + ], + [ + 'errorCode' => 'Operation.Conflict', + 'errorMessage' => 'The operation may conflicts with others.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardTableId.NotFound', + 'errorMessage' => 'Specified forward table does not exist.', + ], + [ + 'errorCode' => 'InvalidExternalIp.NotFound', + 'errorMessage' => 'Specified External Ip address does not found on the VRouter.', + ], + [ + 'errorCode' => 'ResourceNotFound.NatIp', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'errorCode' => 'System.Error', + 'errorMessage' => 'ERROR SYSTEM ERROR.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateForwardEntry', + ], + ], + 'responseDemo' => '', + ], + 'AddBandwidthPackageIps' => [ + 'summary' => 'AddBandwidthPackageIps', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'IpCount', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidIpCount.ValueNotSupported', + 'errorMessage' => 'The specified value of IpCount not supported.', + ], + [ + 'errorCode' => 'QuotaExceeded.BandwidthPackageIps', + 'errorMessage' => 'The specified ipCount exceeded quota.', + ], + [ + 'errorCode' => 'AllocateIpFailed', + 'errorMessage' => 'Alloc bandwidthPackage ips failed, maybe no available ip.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidBandwidthPackageId.NotFound', + 'errorMessage' => 'The specified BandwidthPackageId does not exist in our records.', + ], + ], + ], + 'responseDemo' => '', + ], + 'DescribeVRouters' => [ + 'summary' => '查询路由器列表', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VRouterId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'VRouters' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VRouter' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'type' => 'string', + ], + 'CreationTime' => [ + 'type' => 'string', + ], + 'VRouterId' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'VRouterName' => [ + 'type' => 'string', + ], + 'RegionId' => [ + 'type' => 'string', + ], + 'RouteTableIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteTableId' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeVRouters', + ], + ], + 'responseDemo' => '', + ], + 'CreateRouteEntry' => [ + 'summary' => 'CreateRouteEntry', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'NextHopId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'NextHopType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'NextHopList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NextHopId' => [ + 'type' => 'string', + ], + 'NextHopType' => [ + 'type' => 'string', + ], + ], + ], + 'required' => false, + 'maxItems' => 4, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Miss mandatory parameter.', + ], + [ + 'errorCode' => 'InvalidCidrBlock.Malformed', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'InvalidCIDRBlock.Duplicate', + 'errorMessage' => 'Specified CIDR block is already exists.', + ], + [ + 'errorCode' => 'IncorrectVpcStatus', + 'errorMessage' => 'Current VPC status does not support this operation.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Route entry quota exceeded in this route table.', + ], + [ + 'errorCode' => 'IncorrectRouteEntryStatus', + 'errorMessage' => 'Some route entry status blocked this operation.', + ], + [ + 'errorCode' => 'InvalidCidrBlock', + 'errorMessage' => 'Specified CIDR block is not valid.', + ], + [ + 'errorCode' => 'InvalidNextHopType', + 'errorMessage' => 'Specified parameter "NextHopType" is not valid', + ], + [ + 'errorCode' => 'InvalidNextHop.NotFound', + 'errorMessage' => 'Specified next hop does not exist.', + ], + [ + 'errorCode' => 'InvalidVRouter.NotFound', + 'errorMessage' => 'vRouter not exists.', + ], + [ + 'errorCode' => 'InvalidVPC.NotFound', + 'errorMessage' => 'vpc not exists.', + ], + [ + 'errorCode' => 'InvalidNexthopTypeAndList.BothNull', + 'errorMessage' => 'both nexthopType and nextHopList are null.', + ], + [ + 'errorCode' => 'InvalidNexthopTypeAndList.BothNotNull', + 'errorMessage' => 'both nexthopType and nextHopList are not null.', + ], + [ + 'errorCode' => 'InvalidRouterInterface', + 'errorMessage' => 'invalid router interface.', + ], + [ + 'errorCode' => 'InvalidOppositeRouterType', + 'errorMessage' => 'nexthop list cannot only contain router interface whose opposite router interface is on vbr.', + ], + [ + 'errorCode' => 'InvalidNexthopListSize', + 'errorMessage' => 'nexthop size is illegal. Must be between 2 and 4.', + ], + [ + 'errorCode' => 'InvalidEntryRuleQuota.NotFound', + 'errorMessage' => 'Route entry quota rule not exists.', + ], + [ + 'errorCode' => 'Forbidden.CheckEntryRuleQuota', + 'errorMessage' => 'Route entry quota rule check error.', + ], + [ + 'errorCode' => 'InvalidVBRStatus', + 'errorMessage' => 'invalid virtual border router status.', + ], + [ + 'errorCode' => 'InvalidPhysicalConnectionBusinessStatus', + 'errorMessage' => 'invalid physical connection business status.', + ], + [ + 'errorCode' => 'InvalidRouterType', + 'errorMessage' => 'Cannot specify nexthop list in vbr\'s route table.', + ], + [ + 'errorCode' => 'IncorrectHaVipStatus', + 'errorMessage' => 'This operation is denied because satus of the specified HaVip is neither Available nor InUse.', + ], + [ + 'errorCode' => 'CountLimitExceed.HaVipRouteEntry', + 'errorMessage' => 'There can be 5 route entry to HaVip at most in one route table.', + ], + [ + 'errorCode' => 'InvalidRouteEntry.Duplicate', + 'errorMessage' => 'The route entry already exist.', + ], + [ + 'errorCode' => 'InvalidParam', + 'errorMessage' => 'The Ecmp routerEntry with router interfaces local vgw vip not match.', + ], + [ + 'errorCode' => 'INVALID_WEIGHT_PARAM', + 'errorMessage' => 'Specified value of weight invalid', + ], + [ + 'errorCode' => 'FORBIDDEN_USE_VPC_AS_INTERNET_GATEWAY', + 'errorMessage' => 'The Specified CIDR must be in vpc CIDR.', + ], + [ + 'errorCode' => 'InvalidNexthop', + 'errorMessage' => 'The Specified nexthop illegal.', + ], + [ + 'errorCode' => 'INVALID_VPC_ID', + 'errorMessage' => 'The Specified VpcId not match.', + ], + [ + 'errorCode' => 'InvalidRouteEntrySize', + 'errorMessage' => 'The Specified routerEntry size not legal.', + ], + [ + 'errorCode' => 'TaskConflict', + 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', + ], + [ + 'errorCode' => 'InvalidRouteEntry', + 'errorMessage' => 'Specified routeEntry not exist.', + ], + [ + 'errorCode' => 'InvalidDestinationCidrBlock', + 'errorMessage' => 'The specified destinationCidrBlock must not included in black list cidr.', + ], + [ + 'errorCode' => 'VswitchStatusError', + 'errorMessage' => 'The VSwitch is creating .', + ], + [ + 'errorCode' => 'Forbidden.PrivateIpNotFound', + 'errorMessage' => 'Private ip address not exist.', + ], + [ + 'errorCode' => 'RouteConflict.AlreadyExist', + 'errorMessage' => 'Route conflict exists in routing table.', + ], + [ + 'errorCode' => 'OperationUnsupported.InactiveMode', + 'errorMessage' => 'Vpc multi scope route only support active standby.', + ], + [ + 'errorCode' => 'IncorrectStatus.MultiScopeRiRouteEntry', + 'errorMessage' => 'MultiScope ri status must not in idle.', + ], + [ + 'errorCode' => 'OperationUnsupported.MoreThanOneVpnOrHavip', + 'errorMessage' => 'MultiScope can not support more than one vpn/havip.', + ], + [ + 'errorCode' => 'OperationUnsupported.EcmpRiTypeOrNumber', + 'errorMessage' => 'Emcp entry not supported if vpc-vbr or vbr-vlan ri does not exist.', + ], + [ + 'errorCode' => 'Duplicated.VpcNextHop', + 'errorMessage' => 'Route entry nexthop duplicate.', + ], + [ + 'errorCode' => 'OperationUnsupported.SubRouteTableECMP', + 'errorMessage' => 'Vpc subRouteTable don\'t support ecmp or multiScope.', + ], + [ + 'errorCode' => 'InvalidNexthop.NotFound', + 'errorMessage' => 'VRouterEntry nexthop does not exist.', + ], + [ + 'errorCode' => 'IllegalParam.NextHopId', + 'errorMessage' => 'Instance not exists or not vpc vm.', + ], + [ + 'errorCode' => 'InvalidVpnInstanceId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.ScopeActiveRouteEntryType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.ScopeStandbyRouteEntryQuota', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.ScopeActiveRouteEntryQuota', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.ScopeInvalidRouteType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.EcmpInvalidRouterInterfaceOppositeType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'QuotaExceeded.HaVipRouteEntry', + 'errorMessage' => 'Vpc havip route entry quota exceed.', + ], + [ + 'errorCode' => 'OperationFailed.InvalidNexthop', + 'errorMessage' => 'vpc multi scope route must has a enable nexthop.', + ], + [ + 'errorCode' => 'OperationFailed.NotifyCenDelete', + 'errorMessage' => 'Failed to notify cen when delete route entry.', + ], + [ + 'errorCode' => 'InvalidNatGateway.NotFound', + 'errorMessage' => 'Natgateway not exist.', + ], + [ + 'errorCode' => 'OperationFailed.CxpRouteExist', + 'errorMessage' => 'Cxp route alreay existed.', + ], + [ + 'errorCode' => 'InvalidNexthop.DirectEni', + 'errorMessage' => 'The direct Eni cannot be nexthop.', + ], + [ + 'errorCode' => 'OperationFailed.NotifyCenCreate', + 'errorMessage' => 'Failed to notify cen when create route entry.', + ], + [ + 'errorCode' => 'IncorrectStatus.RouteTableStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.GetEniInfo', + 'errorMessage' => 'Failed to get networkInterface info.', + ], + [ + 'errorCode' => 'QuotaExceeded.EcmpRouteEntryNextHopCount', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationFailed.InvalidNextHopType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationUnsupported.InvalidRouterInterfaceType', + 'errorMessage' => 'Only vpc vbr interface support ecmp route.', + ], + [ + 'errorCode' => 'InvalidHaVip.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified region.', + ], + [ + 'errorCode' => 'OperationFailed.MultiScopeType', + 'errorMessage' => 'The specified nexthop type is not support in multiScope.', + ], + [ + 'errorCode' => 'OperationFailed.DistibuteLock', + 'errorMessage' => 'Distibute lock fail.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidNatGatewayId.NotFound', + 'errorMessage' => 'Specified value of NatGatewayId is not found in our record.', + ], + [ + 'errorCode' => 'InvalidInstanId.NotFound', + 'errorMessage' => 'Specified instance does not exist.', + ], + [ + 'errorCode' => 'InvalidNextHopId.NotFound', + 'errorMessage' => 'Specified next hop does not exist.', + ], + [ + 'errorCode' => 'InvalidRouteTableId.NotFound', + 'errorMessage' => 'Specified route table does not exist.', + ], + [ + 'errorCode' => 'InvalidHaVipId.NotFound', + 'errorMessage' => 'The specified HaVip does not exist in the specified VPC.', + ], + [ + 'errorCode' => 'InvalidNetworkInterface.NotFound', + 'errorMessage' => 'The specified networkInterface does not exist.', + ], + [ + 'errorCode' => 'InvalidVpc.NotFound', + 'errorMessage' => 'Specified vpc is not found in our record.', + ], + [ + 'errorCode' => 'OperationFailed.InstanceDismatchCurrentVpc', + 'errorMessage' => 'The specified instance does not exist in current vpc.', + ], + [ + 'errorCode' => 'InvalidIpv6Gateway.NotFound', + 'errorMessage' => 'Specified Ipv6Gateway does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::CreateRouteEntry', + ], + ], + 'responseDemo' => '', + ], + 'DescribeForwardTableEntries' => [ + 'summary' => 'DescribeForwardTableEntries', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ForwardEntryId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'ForwardTableEntries' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ForwardTableEntry' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'type' => 'string', + ], + 'ForwardEntryId' => [ + 'type' => 'string', + ], + 'InternalIp' => [ + 'type' => 'string', + ], + 'InternalPort' => [ + 'type' => 'string', + ], + 'ForwardTableId' => [ + 'type' => 'string', + ], + 'ExternalPort' => [ + 'type' => 'string', + ], + 'IpProtocol' => [ + 'type' => 'string', + ], + 'ExternalIp' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardTableId.NotFound', + 'errorMessage' => 'Specified forwardTableId does not exist', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeForwardTableEntries', + ], + ], + 'responseDemo' => '', + ], + 'ModifyForwardEntry' => [ + 'summary' => 'ModifyForwardEntry', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ForwardTableId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ForwardEntryId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'ExternalIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'ExternalPort', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'InternalIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'InternalPort', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'IpProtocol', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidExternalIp.Malformed', + 'errorMessage' => 'The specified ExternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidInternalIp.Malformed', + 'errorMessage' => 'The specified InternalIp is not a valid IP address.', + ], + [ + 'errorCode' => 'InvalidExternalPort.Malformed', + 'errorMessage' => 'The specified ExternalPort is not a valid port.', + ], + [ + 'errorCode' => 'InvalidInternalPort.Malformed', + 'errorMessage' => 'The specified InternalPort is not a valid port.', + ], + [ + 'errorCode' => 'Forbidden.DestnationIpOutOfVpcCIDR', + 'errorMessage' => 'The specified Destination Ip is Out of VPC CIDR.', + ], + [ + 'errorCode' => 'InvalidProtocal.ValueNotSupported', + 'errorMessage' => 'The specified IpProtocol does not support.', + ], + [ + 'errorCode' => 'IncorretForwardEntryStatus', + 'errorMessage' => 'Some Forward entry status blocked this operation..', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'Forward entry quota exceeded in this route table.', + ], + [ + 'errorCode' => 'ForwardEntry.Duplicated', + 'errorMessage' => 'The specified ExternalIp, IpProtocol, ExternalPort,InternalIp, InternalPort is duplicated', + ], + [ + 'errorCode' => 'InvalidIp.NotFound', + 'errorMessage' => 'The specified ip does not exist.', + ], + [ + 'errorCode' => 'IncorretStatus.ForwardEntry', + 'errorMessage' => 'The Specified forwardEntry is not stable status, can not operation', + ], + [ + 'errorCode' => 'IllegalParam.AnyPortNotZero', + 'errorMessage' => 'any port port must be zero.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidForwardEntryId.NotFound', + 'errorMessage' => 'Specified forward entry ID does not exist', + ], + [ + 'errorCode' => 'InvalidExternalIp.NotFound', + 'errorMessage' => 'Specified External Ip address does not found on the VRouter', + ], + [ + 'errorCode' => 'InvalidForwardTableId.NotFound', + 'errorMessage' => 'Specified forward table does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ModifyForwardEntry', + ], + ], + 'responseDemo' => '', + ], + 'DescribeAccessPoints' => [ + 'summary' => 'DescribeAccessPoints', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'maxItems' => 5, + ], + ], + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'AccessPointSet' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AccessPointType' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'type' => 'string', + ], + 'Type' => [ + 'type' => 'string', + ], + 'HostOperator' => [ + 'type' => 'string', + ], + 'Description' => [ + 'type' => 'string', + ], + 'AttachedRegionNo' => [ + 'type' => 'string', + ], + 'Name' => [ + 'type' => 'string', + ], + 'AccessPointId' => [ + 'type' => 'string', + ], + 'Location' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccessPointType.NotSupport', + 'errorMessage' => 'Invalid access point type.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotSupport', + 'errorMessage' => 'The RegionId provided does not support in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeAccessPoints', + ], + ], + 'responseDemo' => '', + ], + 'DescribeRouteTables' => [ + 'summary' => '查询路由表信息列表', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'VRouterId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RouteTableId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RouterType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RouterId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'RouteTableName', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RequestId' => [ + 'type' => 'string', + ], + 'PageNumber' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'TotalCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'RouteTables' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteTable' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'type' => 'string', + ], + 'VRouterId' => [ + 'type' => 'string', + ], + 'RouteTableId' => [ + 'type' => 'string', + ], + 'ResourceGroupId' => [ + 'type' => 'string', + ], + 'RouteTableType' => [ + 'type' => 'string', + ], + 'RouteEntrys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RouteEntry' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'NextHopType' => [ + 'type' => 'string', + ], + 'DestinationCidrBlock' => [ + 'type' => 'string', + ], + 'InstanceId' => [ + 'type' => 'string', + ], + 'RouteTableId' => [ + 'type' => 'string', + ], + 'NextHops' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NextHop' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Weight' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + 'NextHopId' => [ + 'type' => 'string', + ], + 'NextHopType' => [ + 'type' => 'string', + ], + 'Enabled' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::DescribeRouteTableList', + ], + ], + 'responseDemo' => '', + ], + 'ConnectRouterInterface' => [ + 'summary' => 'ConnectRouterInterface', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'autoTest' => false, + 'notSupportAutoTestReason' => 'VPC接口', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RouterInterfaceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectRole.NotInitiatingSide', + 'errorMessage' => 'The specified RouterInterface is not InitiatingSide.', + ], + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => 'RouterInterface can be operated by this action only when it??s status is Idle.', + ], + [ + 'errorCode' => 'IncorrectOppositeInterfaceInfo.NotSet', + 'errorMessage' => 'OppositeInterfaceId/OppositeRouterId/OppositeRouterType/OppositeInterfaceOwnerId must be all set.', + ], + [ + 'errorCode' => 'IncorrectOppositeInterfaceInfo', + 'errorMessage' => 'Cannot connect on the same router', + ], + [ + 'errorCode' => 'Forbidden.OnlyOneConnection', + 'errorMessage' => 'The Specified routers have a connection already', + ], + [ + 'errorCode' => 'Forbidden.BillsOutstanding', + 'errorMessage' => 'You cannot use this action because you have bills outstanding.', + ], + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account is not exists.', + ], + [ + 'errorCode' => 'ErrCode.Invalid', + 'errorMessage' => 'got error', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRole', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideInstanceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRouterId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideRouterType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideAliUid', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeInterfaceOwnerId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeRegionNo', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeInterfaceId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeRouterId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'AttrMismatching.AcceptingSideOppositeRouterType', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'IllegalParam.InstanceOwner', + 'errorMessage' => 'The router instance owener error.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The RegionId provided does not exist in our records.', + ], + [ + 'errorCode' => 'InvalidRouterInterfaceId.NotFound', + 'errorMessage' => 'The specified RouterInterfaceId does not exist in our record.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Vpc::2016-04-28::ConnectRouterInterface', + ], + ], + 'responseDemo' => '', + ], + 'ExportSnapshot' => [ + 'summary' => '将快照导出到指定的对象存储', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29031', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'OssBucket', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => true, + ], + ], + [ + 'name' => 'RoleName', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'TaskId' => [ + 'type' => 'string', + ], + 'RequestId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'ExportSnapshotFailed', + 'errorMessage' => 'Exporting snapshot is failed, Please contact the administrator.', + ], + [ + 'errorCode' => 'SNAPSHOT_IS_EXPORTING', + 'errorMessage' => 'The specified snapshot is already exporting.', + ], + [ + 'errorCode' => 'InvalidSnapshotId.NotFound', + 'errorMessage' => 'The specified snapshot is not exists.', + ], + [ + 'errorCode' => 'SNAPSHOT_CREATE_NOT_FINISHED', + 'errorMessage' => 'The specified snapshot is not finished yet.', + ], + [ + 'errorCode' => 'OSS_AUTHORIZED_FAILED', + 'errorMessage' => 'ECS service account Have no right to access your OSS. please attach a role of access your oss to ECS service account.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.NotFound', + 'errorMessage' => 'The specified OSS bucket does not exist in this region.', + ], + [ + 'errorCode' => 'InvalidUser.NotInWhiteList', + 'errorMessage' => 'The user is not in the white list of exporting snapshot.', + ], + [ + 'errorCode' => 'InvalidOSSBucket.InOtherRegion', + 'errorMessage' => 'The specified OSS bucket is in another region.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '', + ], + 'ReleasePublicIpAddress' => [ + 'summary' => '释放公网IP。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29152', + 'abilityTreeNodes' => [ + 'FEATUREecsCHDP5I', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => '指定的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'PublicIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => '实例公网IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => '121.40.**.**', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'hide', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'RemainTimes' => [ + 'description' => '>该参数暂未开放使用。', + 'type' => 'string', + 'example' => 'hide', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied', + 'errorMessage' => 'Specified operation is denied as your instance is in VPC.', + ], + [ + 'errorCode' => 'InvalidIpAddress.NotFound', + 'errorMessage' => 'The specified parameter "IpAddress" is not found in your records.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'This is a dryrun request with successful result.', + ], + ], + 403 => [ + [ + 'errorCode' => 'IncorrectInstanceStatus', + 'errorMessage' => 'The current status of the resource does not support this operation.', + ], + [ + 'errorCode' => 'InstanceLockedForSecurity', + 'errorMessage' => 'The specified operation is denied as your instance is locked for security reasons.', + ], + [ + 'errorCode' => 'InvalidIpAddress.NeedInstanceId', + 'errorMessage' => 'The specified IpAddress need to release with InstanceId.', + ], + [ + 'errorCode' => 'OperationTimesOverLimit', + 'errorMessage' => 'The specified operation is denied as release public ip times over the limit.', + ], + [ + 'errorCode' => 'Forbidden.ExceedDuration', + 'errorMessage' => 'Instance nat public ip can only be released in 6 hours after ecs created.', + ], + ], + [ + [ + 'errorCode' => 'InvalidInstanceId.NotFound', + 'errorMessage' => 'The specified InstanceId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"RemainTimes\\": \\"hide\\"\\n}","type":"json"}]', + 'title' => '释放公网IP地址', + ], + 'AddTags' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '28780', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所在的地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型定义。取值范围:'."\n" + ."\n" + .'- instance:ECS实例'."\n" + .'- disk:磁盘'."\n" + .'- snapshot:快照'."\n" + .'- image:镜像'."\n" + .'- securitygroup:安全组'."\n" + .'- volume:存储卷'."\n" + .'- eni:弹性网卡'."\n" + .'- ddh:专有宿主机'."\n" + .'- keypair:SSH密钥对'."\n" + .'- launchtemplate:启动模板'."\n" + .'- reservedinstance:预留实例券'."\n" + .'- snapshotpolicy:自动快照策略'."\n" + ."\n" + .'以上取值均为小写。', + 'type' => 'string', + 'required' => true, + 'example' => 'instance', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要绑定标签的资源ID。例如,当资源类型(ResourceType)为实例(instance)时,资源ID可以理解为实例ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1gtjxuuvwj17zr****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Key' => [ + 'description' => '资源的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https:// 。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '资源的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https:// 。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The specified Tag.n.Value is not valid.', + ], + [ + 'errorCode' => 'OperationDenied.QuotaExceed', + 'errorMessage' => 'The quota of tags on resource is beyond permitted range.', + ], + [ + 'errorCode' => 'InvalidTag.Mismatch', + 'errorMessage' => 'The specified Tag.n.Key and Tag.n.Value are not match.', + ], + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'Duplicate.TagKey', + 'errorMessage' => 'The Tag.N.Key contain duplicate key.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidResourceId.NotSupported', + 'errorMessage' => 'The specified ResourceId does not support tagging.', + ], + [ + 'errorCode' => 'QuotaExceed.Tags', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'TagKey.Duplication', + 'errorMessage' => 'The TagKey has duplication with others, case-insensitive.', + ], + ], + [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceId is not found in our records.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Ecs::2014-05-26::TagResources', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C46FF5A8-C5F0-4024-8262-B16B639225A0\\r\\n","errorExample":""}]', + 'title' => '添加或者覆盖一个或者多个标签到云服务器ECS的各项资源上', + 'summary' => '添加或者覆盖一个或者多个标签到云服务器ECS的各项资源上。您可以添加标签到实例、磁盘、快照、镜像、安全组等,便于管理资源。', + 'description' => '调用该接口时,您需要注意:'."\n" + ."\n" + .'- 单项云服务器ECS资源最多可以添加20个标签。'."\n" + .'- 标签键(`Tag.N.Key`)与标签值(`Tag.N.Value`)必须键值匹配。'."\n" + .'- 如果标签键(`Tag.N.Key`)在指定的资源上已经存在,则使用新的标签值(`Tag.N.Value`)自动覆盖原标签值。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeResourceByTags' => [ + 'summary' => '调用DescribeResourceByTags根据标签检索资源。支持根据标签检索,也支持根据资源类型检索。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '28987', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果显示的每页的信息条目数。最大值:100。'."\n" + ."\n" + .'默认值:50。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '查询结果显示的页码。起始值:1。'."\n" + ."\n" + .'默认值:1。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- volume:存储卷。'."\n" + .'- eni:弹性网卡。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- keypair:SSH密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + ."\n" + .'以上取值均为小写。', + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属的地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testkey', + ], + 'Key' => [ + 'description' => '资源的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '资源的标签值。N的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持128个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testvalue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '1C1E5359-71D7-44D8-8FAA-0327B549157X', + ], + 'PageSize' => [ + 'description' => '查询结果显示的每页的信息条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'PageNumber' => [ + 'description' => '查询结果显示的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '返回的资源总数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'Resources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Resource' => [ + 'description' => '绑定标签的资源信息集合。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'description' => '资源类型。', + 'type' => 'string', + 'example' => 'instance', + ], + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'i-bp16t2cgmiiy7t1c****', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Tag::2018-08-28::ListResourcesByTag', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1C1E5359-71D7-44D8-8FAA-0327B549157X\\",\\n \\"PageSize\\": 50,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 8,\\n \\"Resources\\": {\\n \\"Resource\\": [\\n {\\n \\"ResourceType\\": \\"instance\\",\\n \\"ResourceId\\": \\"i-bp16t2cgmiiy7t1c****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 1\\r\\n 50\\r\\n 1C1E5359-71D7-44D8-8FAA-0327B549157X\\r\\n \\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp16t2cgmiiy7t1c****\\r\\n instance\\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp1ijbvofggw42sd****\\r\\n instance\\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp12teyxasbf33rr****\\r\\n instance\\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp19o5nkvdsttg1v****\\r\\n instance\\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp1bx129zrqstg1v****\\r\\n instance\\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp1j6qtvdm8wtg1v****\\r\\n instance\\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp13locplbdktg1v****\\r\\n instance\\r\\n \\r\\n \\r\\n cn-hangzhou\\r\\n i-bp17s1b5atpctg1v****\\r\\n instance\\r\\n \\r\\n \\r\\n \\r\\n 8\\r\\n","errorExample":""}]', + 'title' => '根据标签检索资源', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeTags' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '29007', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => ' 分页查询时设置的每页行数。'."\n" + ."\n" + .'最大值:100。'."\n" + ."\n" + .'默认值:50 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '50', + 'default' => '50', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => ' 标签列表的页码。'."\n" + ."\n" + .'起始值:1。'."\n" + ."\n" + .'默认值:1 。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型定义。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- volume:存储卷。'."\n" + .'- eni:弹性网卡。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- keypair:SSH密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- snapshotpolicy:自动快照策略。'."\n" + ."\n" + .'以上取值均为小写。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'snapshot', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '标签绑定的资源ID。例如,当资源类型(ResourceType)为实例(instance)时,资源ID可以理解为实例ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 's-946ntx4wr****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => [ + 'description' => "\n" + .'> 该参数即将被弃用,为提高兼容性,建议您尽量使用其他参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'null', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testkey', + ], + 'Key' => [ + 'description' => '资源的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '资源的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testvalue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'B04B8CF3-4489-432D-83BA-6F128E4F2295', + ], + 'PageSize' => [ + 'description' => '分页查询时设置的每页行数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'PageNumber' => [ + 'description' => '标签列表的页码。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => '标签总个数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '满足所有筛选条件的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '满足所有筛选条件的标签。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TestValue', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'TestKey', + ], + 'ResourceTypeCount' => [ + 'description' => '资源类型计数。', + 'type' => 'object', + 'properties' => [ + 'Instance' => [ + 'description' => '该标签标记了多少实例。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '45', + ], + 'Image' => [ + 'description' => '该标签标记了多少镜像。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'Ddh' => [ + 'description' => '该标签标记了多少专有宿主机。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SnapshotPolicy' => [ + 'description' => '该标签标记了多少自动快照策略。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'Securitygroup' => [ + 'description' => '该标签标记了多少安全组。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'Snapshot' => [ + 'description' => '该标签标记了多少快照。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '15', + ], + 'ReservedInstance' => [ + 'description' => '该标签标记了多少预留实例券。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'LaunchTemplate' => [ + 'description' => '该标签标记了多少启动模板。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'Eni' => [ + 'description' => '该标签标记了多少弹性网卡。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Disk' => [ + 'description' => '该标签标记了多少磁盘。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '15', + ], + 'KeyPair' => [ + 'description' => '该标签标记了多少密钥对。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '17', + ], + 'Volume' => [ + 'description' => '该标签标记了多少存储卷。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The parameter Tag.n.Key is illegal.', + ], + [ + 'errorCode' => 'InvalidTagValue.Malformed', + 'errorMessage' => 'The parameter Tag.n.Value is illegal.', + ], + [ + 'errorCode' => 'Invalid.TagCategory', + 'errorMessage' => 'The parameter Category is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Tag::2018-08-28::CountResourcesByTags', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B04B8CF3-4489-432D-83BA-6F128E4F2295\\",\\n \\"PageSize\\": 50,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"ResourceTypeCount\\": {\\n \\"Instance\\": 45,\\n \\"Image\\": 6,\\n \\"Ddh\\": 1,\\n \\"SnapshotPolicy\\": 4,\\n \\"Securitygroup\\": 4,\\n \\"Snapshot\\": 15,\\n \\"ReservedInstance\\": 4,\\n \\"LaunchTemplate\\": 6,\\n \\"Eni\\": 5,\\n \\"Disk\\": 15,\\n \\"KeyPair\\": 17,\\n \\"Volume\\": 6\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"B04B8CF3-4489-432D-83BA-6F128E4F2295\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"api\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 1\\n}"},{"type":"xml","example":"\\n 2\\n 55FCC62B-4D0C-4E47-A07F-42A860035440\\n 1\\n 1\\n \\n \\n \\n 2\\n \\n TestKey\\n TestValue\\n \\n \\n","errorExample":"\\n B04B8CF3-4489-432D-83BA-6F128E4F2295\\n 1\\n 50\\n \\n \\n test\\n api\\n \\n \\n 1\\n"}]', + 'title' => '查询可供使用标签', + 'summary' => '查询可以供您使用的标签。您可以根据资源类型、资源ID、标签键或标签值等条件查询标签,筛选条件之间为逻辑与(&&)关系,返回满足所有筛选条件的标签。', + 'description' => '如果您指定了标签键(Tag.N.Key)但没有指定标签值(Tag.N.Value),我们将查询该标签键对应的所有标签键值对。如果您指定了标签键值对,就查询精确匹配该键值对的标签。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RemoveTags' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '29154', + 'abilityTreeNodes' => [ + 'FEATUREecsDXRH67', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '资源所属地域。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shenzhen', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '资源类型定义。取值范围:'."\n" + ."\n" + .'- instance:ECS实例。'."\n" + .'- disk:磁盘。'."\n" + .'- snapshot:快照。'."\n" + .'- image:镜像。'."\n" + .'- securitygroup:安全组。'."\n" + .'- volume:存储卷。'."\n" + .'- eni:弹性网卡。'."\n" + .'- ddh:专有宿主机。'."\n" + .'- keypair:SSH密钥对。'."\n" + .'- launchtemplate:启动模板。'."\n" + .'- reservedinstance:预留实例券。'."\n" + .'- snapshotpolicy:自动快照策略。'."\n" + ."\n" + .'以上取值均为小写。 ', + 'type' => 'string', + 'required' => true, + 'example' => 'snapshot', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '要解绑标签的资源ID。例如,当资源类型(ResourceType)为实例(instance)时,资源ID可以理解为实例ID。 ', + 'type' => 'string', + 'required' => true, + 'example' => 's-946ntx4****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '资源的标签键。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Key参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testkey', + ], + 'Key' => [ + 'description' => '资源的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => '资源的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'value' => [ + 'description' => '资源的标签值。'."\n" + ."\n" + .'>为提高兼容性,建议您尽量使用Tag.N.Value参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'testvalue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTagCount', + 'errorMessage' => 'The specified tags are beyond the permitted range.', + ], + [ + 'errorCode' => 'InvalidTagKey.Malformed', + 'errorMessage' => 'The specified Tag.n.Key is not valid.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The specified ResourceType does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidResourceId.NotSupported', + 'errorMessage' => 'The specified ResourceId does not support tagging.', + ], + ], + [ + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified ResourceId is not found in our records.', + ], + [ + 'errorCode' => 'InvalidRegionId.NotFound', + 'errorMessage' => 'The specified RegionId does not exist.', + ], + [ + 'errorCode' => 'InvalidResourceType.NotFound', + 'errorMessage' => 'The ResourceType provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'substitutions' => [ + 'Ecs::2014-05-26::UntagResources', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"6A2C8AB5-E15D-478C-B56A-CF3DAF060028\\"\\n}"},{"type":"xml","example":"\\n 6A2C8AB5-E15D-478C-B56A-CF3DAF060028\\n","errorExample":"\\n 6A2C8AB5-E15D-478C-B56A-CF3DAF060028\\n"}]', + 'title' => '解绑标签', + 'summary' => '调用RemoveTags从实例、磁盘、快照、镜像或者安全组等解绑一个或多个标签。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'EnableNetworkInterfaceQoS' => [ + 'summary' => '启用或修改弹性网卡QoS限速设置', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29306', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-2zeh9atclduxvf1z****', + ], + ], + [ + 'name' => 'QoS', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'title' => 'QoS 限速设置', + 'description' => 'QoS 限速设置', + 'type' => 'object', + 'properties' => [ + 'BandwidthTx' => [ + 'title' => '最大内网出方向带宽限制', + 'description' => '最大内网出方向带宽限制。'."\n" + ."\n" + .'单位:kbit/s,步长:1000(1Mbps),取值范围:[50000, +♾️)', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + 'BandwidthRx' => [ + 'title' => '最大内网入方向带宽限制', + 'description' => '最大内网入方向带宽限制。'."\n" + ."\n" + .'单位:kbit/s,步长:1000(1Mbps),取值范围:[50000, +♾️)', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + 'PpsTx' => [ + 'title' => '内网出方向网络收发包能力', + 'description' => '内网出方向网络收发包能力'."\n" + ."\n" + .'单位:pps,步长:10000,取值范围:[10000, +♾️)', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + 'PpsRx' => [ + 'title' => '内网入方向网络收发包能力', + 'description' => '内网入方向网络收发包能力'."\n" + ."\n" + .'单位:pps,步长:10000,取值范围:[10000, +♾️)', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + 'ConcurrentConnections' => [ + 'title' => '会话数量的最大值', + 'description' => '会话数量的最大值'."\n" + ."\n" + .'步长:10000,取值范围:[10000, +♾️)', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EniId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidSecurityGroupId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => '启用或修改弹性网卡QoS限速设置', + ], + 'DisableNetworkInterfaceQoS' => [ + 'summary' => '禁用弹性网卡QoS限速设置', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '29306', + 'abilityTreeNodes' => [ + 'FEATUREecsT5S9N2', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '所在地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NetworkInterfaceId', + 'in' => 'query', + 'schema' => [ + 'description' => '弹性网卡ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp1iqejowblx6h8j****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '745CEC9F-0DD7-4451-9FE7-8B752F39****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'UnsupportedParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidInstanceID.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParams.EniId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.RegionId', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter.Conflict', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUserType.NotSupported', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Abs.InvalidAccount.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.NotSupportRAM', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'Forbidden.SubUser', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.AvailabilityZoneMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.VpcMismatch', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.EniServiceManaged', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', + 'errorMessage' => '%s', + ], + ], + [ + [ + 'errorCode' => 'InvalidEniId.NotFound', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidVSwitchId.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"745CEC9F-0DD7-4451-9FE7-8B752F39****\\"\\n}","type":"json"}]', + 'title' => '禁用弹性网卡QoS限速设置', + ], + 'DescribePlanMaintenanceWindows' => [ + 'summary' => '查询运维窗口', + 'path' => '', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '258466', + 'abilityTreeNodes' => [ + 'FEATUREecsET2ML7', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => '窗口启用或者禁用', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PlanWindowId', + 'in' => 'query', + 'schema' => [ + 'description' => '运维窗口的Id', + 'type' => 'string', + 'required' => false, + 'example' => 'pw-bp1jarob1aup7yvlrdt6', + ], + ], + [ + 'name' => 'PlanWindowName', + 'in' => 'query', + 'schema' => [ + 'description' => '运维窗口的名称', + 'type' => 'string', + 'required' => false, + 'example' => 'WIndowName', + ], + ], + [ + 'name' => 'TargetResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '运维窗口生效的资源组 ID', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-d85g5yocioezmdrll', + ], + ], + [ + 'name' => 'TargetResourceTags', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '运维窗口生效的标签', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => '窗口生效的 tag 的 value', + 'type' => 'string', + 'required' => false, + 'example' => 'tagValue', + ], + 'Key' => [ + 'description' => '窗口生效的 tag 的 Key', + 'type' => 'string', + 'required' => false, + 'example' => 'tagKey', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '查询凭证(Token),取值为上一次API调用返回的NextToken参数值。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAdDWBF2', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分页查询时每页行数。最大值为100。默认值:当不设置值或设置的值小于10时,默认值为10。当设置的值大于100时,默认值为100。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', + 'description' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '接口请求的 RequestID', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PlanMaintenanceWindowList' => [ + 'description' => '创建时间。', + 'type' => 'array', + 'items' => [ + 'description' => '目标类型。取值说明如下:'."\n" + .'- Tag'."\n" + .'- ResourceGroup'."\n" + .'- Instance'."\n" + .'- AliUid', + 'type' => 'object', + 'properties' => [ + 'PlanWindowId' => [ + 'description' => '运维窗口的 ID', + 'type' => 'string', + 'example' => 'pw-bp1bqkbjb7h4j8zqzwvp', + ], + 'PlanWindowName' => [ + 'description' => '运维窗口的名称', + 'type' => 'string', + 'example' => 'WindowName', + ], + 'Enable' => [ + 'description' => '是否启用', + 'type' => 'boolean', + 'example' => 'true', + ], + 'SupportMaintenanceAction' => [ + 'description' => '支持的运维动作', + 'type' => 'string', + 'example' => 'Reboot', + ], + 'CreateTime' => [ + 'description' => '运维窗口创建时间。'."\n" + ."\n" + .'按照ISO 8601标准表示,使用UTC时间。格式为:yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-04-11T02:20:41Z', + ], + 'ModifiedTime' => [ + 'description' => '运维窗口的修改时间。'."\n" + ."\n" + .'按照ISO 8601标准表示,使用UTC时间。格式为:yyyy-MM-ddTHH:mm:ssZ。', + 'type' => 'string', + 'example' => '2025-02-22 10:14:28 +0800', + ], + 'TimePeriod' => [ + 'description' => '窗口循环周期', + 'type' => 'object', + 'properties' => [ + 'PeriodUnit' => [ + 'description' => '周期的类型,每日循环 Daily,每周循环 Weekly', + 'type' => 'string', + 'example' => 'Year', + ], + 'RangeList' => [ + 'description' => '运维窗口循环周期的时间段(UTC 时区)', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'StartTime' => [ + 'description' => '维护时间窗口开始时间。', + 'type' => 'string', + 'example' => 'Monday,22:00', + ], + 'EndTime' => [ + 'description' => '维护时间窗口结束时间。', + 'type' => 'string', + 'example' => 'Monday,22:00', + ], + ], + ], + ], + ], + ], + 'TargetResource' => [ + 'description' => '运维窗口生效的资源', + 'type' => 'object', + 'properties' => [ + 'Scope' => [ + 'description' => '配置运维窗口的资源类型', + 'type' => 'string', + 'example' => 'Tag', + ], + 'ResourceGroupId' => [ + 'description' => '运维窗口生效的资源组 ID', + 'type' => 'string', + 'example' => 'rg-aek2qxeteo7fr6y', + ], + 'Tags' => [ + 'description' => '运维窗口生效的标签', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'tagKey', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'tagValue', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'NextToken' => [ + 'description' => '本次调用返回的查询凭证(Token)。', + 'type' => 'string', + 'example' => 'AAAAAdDWBF2', + ], + 'MaxResults' => [ + 'description' => '分页查询时每页行数。最大值为100。默认值:当不设置值或设置的值小于10时,默认值为10。当设置的值大于100时,默认值为100。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'AccessForbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PlanMaintenanceWindowList\\": [\\n {\\n \\"PlanWindowId\\": \\"pw-bp1bqkbjb7h4j8zqzwvp\\",\\n \\"PlanWindowName\\": \\"WindowName\\",\\n \\"Enable\\": true,\\n \\"SupportMaintenanceAction\\": \\"Reboot\\",\\n \\"CreateTime\\": \\"2025-04-11T02:20:41Z\\",\\n \\"ModifiedTime\\": \\"2025-02-22 10:14:28 +0800\\",\\n \\"TimePeriod\\": {\\n \\"PeriodUnit\\": \\"Year\\",\\n \\"RangeList\\": [\\n {\\n \\"StartTime\\": \\"Monday,22:00\\",\\n \\"EndTime\\": \\"Monday,22:00\\"\\n }\\n ]\\n },\\n \\"TargetResource\\": {\\n \\"Scope\\": \\"Tag\\",\\n \\"ResourceGroupId\\": \\"rg-aek2qxeteo7fr6y\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tagKey\\",\\n \\"Value\\": \\"tagValue\\"\\n }\\n ]\\n }\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAdDWBF2\\",\\n \\"MaxResults\\": 10\\n}","type":"json"}]', + 'title' => '查询运维窗口', + 'description' => '查询已设定的维护策略,策略中主要包括两个维护属性。'."\n" + ."\n" + .'- 维护时间窗口:您指定的一个时间段,运维只会在该时间内进行。'."\n" + .'- 维护动作:您指定的实例宕机处理策略。', + ], + 'CreatePlanMaintenanceWindow' => [ + 'summary' => '创建运维窗口。当运维窗口TargetResource参数设置关联的ECS实例,底层发生硬件隐患,需要通过计划运维来规避的时候,计划运维的执行时间会根据运维窗口TimePeriod 参数设置的区间来设置。当到达运维事件的执行时间后,平台会自动根据运维事件的类型来执行响应的运维操作。', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '254058', + 'abilityTreeNodes' => [ + 'FEATUREecsET2ML7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PlanWindowName', + 'in' => 'query', + 'schema' => [ + 'description' => '运维窗口的名称,可以自定义。长度不超过200给字符', + 'type' => 'string', + 'required' => true, + 'example' => 'WIndowName', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => '启用或禁用窗口'."\n" + ."\n" + .'- **true**:启用。'."\n" + .'- **false**:禁用。', + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'SupportMaintenanceAction', + 'in' => 'query', + 'schema' => [ + 'description' => '运维窗口支持的运维操作', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'Redeploy' => 'Redeploy', + 'Reboot' => 'Reboot', + ], + 'example' => 'Reboot', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TimePeriod', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '窗口循环周期', + 'type' => 'object', + 'properties' => [ + 'PeriodUnit' => [ + 'description' => '周期的类型,每日循环Daily,每周循环Weekly', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'Daily' => 'Daily', + 'Weekly' => 'Weekly', + ], + 'example' => 'Weekly', + ], + 'RangeList' => [ + 'description' => '运维窗口循环周期的时间段(UTC时区)', + 'type' => 'array', + 'items' => [ + 'description' => '区分对象', + 'type' => 'object', + 'properties' => [ + 'StartTime' => [ + 'description' => '运维窗口的开始时间'."\n" + .'- PeriodUnit取值Weekly 窗口期格式为Monday,22:00 ,Monday可替换为:Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday'."\n" + .'- PeriodUnit取值Daily 窗口期格式为22:00,Daily 第一部分表达为小时,取值 00~23', + 'type' => 'string', + 'required' => false, + 'example' => 'Monday,22:00', + ], + 'EndTime' => [ + 'description' => '运维窗口的结束时间'."\n" + ."\n" + .'- PeriodUnit 取值 Weekly 窗口期格式为 Monday,22:00,Monday可替换为:Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday'."\n" + .'- PeriodUnit 取值 Daily 窗口期格式为 22:00 ,Daily 第一部分表达为小时,取值 00~23', + 'type' => 'string', + 'required' => false, + 'example' => 'Tuesday,03:00', + ], + ], + 'required' => false, + ], + 'required' => true, + ], + ], + 'required' => true, + ], + ], + [ + 'name' => 'TargetResource', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '运维窗口生效的资源', + 'type' => 'object', + 'properties' => [ + 'Scope' => [ + 'description' => '配置运维窗口的资源类型', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'All' => 'All', + 'Tag' => 'Tag', + 'ResourceGroup' => 'ResourceGroup', + ], + 'example' => 'Tag', + ], + 'ResourceGroupId' => [ + 'description' => 'Scope 为 ResourceGroup时需要填写 ,资源组的ID', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzhm7pmnvcbty', + ], + 'Tags' => [ + 'description' => 'Scope 为 Tag 时需要填写 ,运维窗口生效的标签', + 'type' => 'array', + 'items' => [ + 'description' => '标签值。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '窗口生效的tag的Key', + 'type' => 'string', + 'required' => false, + 'example' => 'vms_qualification_孙总身份证_e5590864-1fef-4db2-b2a7-bd2d657fed43.png', + ], + 'Value' => [ + 'description' => '窗口生效的 tag 的 value', + 'type' => 'string', + 'required' => false, + 'example' => '21.137.18.60', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '接口请求的RequestID', + 'type' => 'string', + 'example' => '7D5B1188-3F08-56D1-A6B2-91B267452633', + ], + 'PlanWindowId' => [ + 'description' => '创建完成的运维窗口的ID', + 'type' => 'string', + 'example' => 'pw-bp1a9yavgq3dgttvowun', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidOperation.TooManyMaintenanceWindows', + 'errorMessage' => 'Too many maintenance windows.', + ], + ], + 403 => [ + [ + 'errorCode' => 'AccessForbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'MissingParameter.Period', + 'errorMessage' => 'The input parameter Period is missing.', + ], + [ + 'errorCode' => 'MissingParameter.TargetType', + 'errorMessage' => 'The input parameter TargetType is missing.', + ], + [ + 'errorCode' => 'InvalidParameter.TimePeriod', + 'errorMessage' => 'Invalid Parameter Time Period.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetResource', + 'errorMessage' => 'Invalid Parameter Target Resource.', + ], + [ + 'errorCode' => 'InvalidParameter.SupportMaintenanceAction', + 'errorMessage' => 'Invalid Parameter SupportMaintenanceAction.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7D5B1188-3F08-56D1-A6B2-91B267452633\\",\\n \\"PlanWindowId\\": \\"pw-bp1a9yavgq3dgttvowun\\"\\n}","type":"json"}]', + 'title' => '创建运维窗口', + ], + 'ModifyPlanMaintenanceWindow' => [ + 'summary' => '更新运维窗口', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '258757', + 'abilityTreeNodes' => [ + 'FEATUREecsET2ML7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PlanWindowId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要修改的运维窗口的Id。必传参数。', + 'type' => 'string', + 'required' => true, + 'example' => 'pw-bp1au1w8v8a1yer65g5k', + ], + ], + [ + 'name' => 'PlanWindowName', + 'in' => 'query', + 'schema' => [ + 'description' => '运维创建名称,无需修为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'WIndowName', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => '启用或禁用窗口。无需修改为空。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'SupportMaintenanceAction', + 'in' => 'query', + 'schema' => [ + 'description' => '支持的运维动作。无需修改为空。', + 'type' => 'string', + 'required' => false, + 'example' => 'Reboot', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '实例所在的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TimePeriod', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '窗口循环周期。无需修改为空。', + 'type' => 'object', + 'properties' => [ + 'PeriodUnit' => [ + 'description' => '周期的类型,每日循环 Daily,每周循环 Weekly。', + 'type' => 'string', + 'required' => false, + 'example' => 'Year', + ], + 'RangeList' => [ + 'description' => '运维窗口循环周期的时间段(UTC 时区)', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'StartTime' => [ + 'description' => '运维窗口的开始时间'."\n" + ."\n" + .'PeriodUnit 取值 Weekly 窗口期格式为 Monday,22:00 ,Monday 可替换为:Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday'."\n" + .'PeriodUnit 取值 Daily 窗口期格式为 22:00,Daily 第一部分表达为小时,取值 00~23', + 'type' => 'string', + 'required' => false, + 'example' => 'Monday,22:00', + ], + 'EndTime' => [ + 'description' => '运维窗口的结束时间'."\n" + ."\n" + .'PeriodUnit 取值 Weekly 窗口期格式为 Monday,22:00,Monday 可替换为:Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday'."\n" + .'PeriodUnit 取值 Daily 窗口期格式为 22:00 ,Daily 第一部分表达为小时,取值 00~23', + 'type' => 'string', + 'required' => false, + 'example' => 'Tuesday,03:00', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'TargetResource', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => '运维窗口生效的资源,无需修改为空', + 'type' => 'object', + 'properties' => [ + 'Scope' => [ + 'description' => '配置运维窗口的资源类型', + 'type' => 'string', + 'required' => false, + 'example' => 'Tag', + ], + 'ResourceGroupId' => [ + 'description' => '运维窗口生效的资源组ID。仅在Scope为ResourceGroup 时需要填写', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmy4cc27vsvia', + ], + 'Tags' => [ + 'description' => '运维窗口生效的标签,仅在Scope 为 Tag 时需要填写', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '窗口生效的 tag 的 Key', + 'type' => 'string', + 'required' => false, + 'example' => 'tagKey', + ], + 'Value' => [ + 'description' => '窗口生效的 tag 的 value', + 'type' => 'string', + 'required' => false, + 'example' => 'tagValue', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '接口请求的 RequestID', + 'type' => 'string', + 'example' => 'F3CD6886-D8D0-4FEE-B93E-1B732396****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'AccessForbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + [ + 'errorCode' => 'InvalidParameter.TimePeriod', + 'errorMessage' => 'Invalid Parameter Time Period.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetResource', + 'errorMessage' => 'Invalid Parameter Target Resource.', + ], + [ + 'errorCode' => 'InvalidParameter.SupportMaintenanceAction', + 'errorMessage' => 'Invalid Parameter SupportMaintenanceAction.', + ], + ], + [ + [ + 'errorCode' => 'InvalidResource.NotFound', + 'errorMessage' => 'The specified resource not exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3CD6886-D8D0-4FEE-B93E-1B732396****\\"\\n}","type":"json"}]', + 'title' => '修改运维窗口', + 'description' => '修改运维窗口的属性。当运维窗口TargetResource参数设置关联的ECS实例,底层发生硬件隐患,需要通过计划运维来规避的时候,计划运维的执行时间会根据运维窗口TimePeriod 参数设置的区间来设置。当到达运维事件的执行时间后,平台会自动根据运维事件的类型来执行响应的运维操作'."\n", + ], + 'DeletePlanMaintenanceWindow' => [ + 'summary' => '删除运维窗口', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '258862', + 'abilityTreeNodes' => [ + 'FEATUREecsET2ML7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'PlanWindowId', + 'in' => 'query', + 'schema' => [ + 'description' => '需要删除的运维窗口Id', + 'type' => 'string', + 'required' => true, + 'example' => 'pw-bp12kkvnebe7hksqnx9w', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '地域ID。您可以调用[DescribeRegions](~~25609~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '接口请求的 RequestID', + 'type' => 'string', + 'example' => 'F3CD6886-D8D0-4FEE-B93E-1B732396****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'AccessForbidden', + 'errorMessage' => 'User not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Internal error.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F3CD6886-D8D0-4FEE-B93E-1B732396****\\"\\n}","type":"json"}]', + 'title' => '删除运维窗口', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-qingdao', + 'endpoint' => 'ecs.cn-qingdao.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'ecs.cn-beijing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou', + 'endpoint' => 'ecs.cn-zhangjiakou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhengzhou-jva', + 'endpoint' => 'ecs.cn-zhengzhou-jva.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote', + 'endpoint' => 'ecs.cn-huhehaote.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu', + 'endpoint' => 'ecs.cn-wulanchabu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'ecs.cn-hangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'ecs.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'cn-nanjing', + 'endpoint' => 'ecs.cn-nanjing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-fuzhou', + 'endpoint' => 'ecs.cn-fuzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'ecs.cn-shenzhen.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan', + 'endpoint' => 'ecs.cn-heyuan.aliyuncs.com', + ], + [ + 'regionId' => 'cn-guangzhou', + 'endpoint' => 'ecs.cn-guangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu', + 'endpoint' => 'ecs.cn-chengdu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wuhan-lr', + 'endpoint' => 'ecs.cn-wuhan-lr.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'ecs.cn-hongkong.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'ecs.ap-northeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-2', + 'endpoint' => 'ecs.ap-northeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'ecs.ap-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-2', + 'endpoint' => 'ecs.ap-southeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-3', + 'endpoint' => 'ecs.ap-southeast-3.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'ecs.ap-southeast-5.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-6', + 'endpoint' => 'ecs.ap-southeast-6.aliyuncs.com', + ], + [ + 'regionId' => 'us-east-1', + 'endpoint' => 'ecs.us-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'ecs.us-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-west-1', + 'endpoint' => 'ecs.eu-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'ecs.eu-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-south-1', + 'endpoint' => 'ecs.ap-south-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-east-1', + 'endpoint' => 'ecs.me-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-finance', + 'endpoint' => 'ecs.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-finance-1', + 'endpoint' => 'ecs.cn-shanghai-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen-finance-1', + 'endpoint' => 'ecs.cn-shenzhen-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-7', + 'endpoint' => 'ecs.ap-southeast-7.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-1', + 'endpoint' => 'ecs.cn-beijing-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-central-1', + 'endpoint' => 'ecs.me-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan-acdr-1', + 'endpoint' => 'ecs.cn-heyuan-acdr-1.aliyuncs.com', + ], + [ + 'regionId' => 'na-south-1', + 'endpoint' => 'ecs.na-south-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-southeast-1', + 'endpoint' => 'ecs.us-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu-gic-1', + 'endpoint' => 'ecs.cn-wulanchabu-gic-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhongwei', + 'endpoint' => 'ecs.cn-zhongwei.aliyuncs.com', + ], + ], +]; -- cgit v1.2.3