You can call this operation to query available resources in a specific zone when you upgrade or downgrade instance types or system disks.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes DescribeResourcesModification

The operation that you want to perform. If you use a custom HTTP URL or HTTPS URL to make an API request, you must specify the Action parameter. Set the value to DescribeResourcesModification.

DestinationResource String Yes InstanceType

The type of the target resource. Valid values:

  • InstanceType
  • SystemDisk
RegionId String Yes cn-hangzhou

The ID of the target region. You can call the DescribeRegions operation to query the most recent region list.

ResourceId String Yes i-bp67acfmxazb4ph***

The ID of the resource. For example, when the retrieved resources are instances, this parameter can be interpreted as InstanceId.

OperationType String No Upgrade

The operation to modify resource configurations.

  • Valid values for subscription resources:
    • Upgrade
    • Downgrade
    • RenewDowngrade
    • RenewModify
  • Valid values for pay-as-you-go resources:
    • Upgrade

Default value: Upgrade.

MigrateAcrossZone Boolean No true

Specifies whether instance types can be upgraded across clusters. Valid values:

  • true
  • false

Default value: false.

When the MigrateAcrossZone parameter is set to true and you upgrade the ECS instance based on the returned information, take note of the following points:

  • Instances in the classic network:
    • For phased-out instance types, when a non-I/O optimized instance is upgraded to an I/O optimized instance, the private IP address, driver name, and software authorization code are modified. For more information, see Phased-out instance types. For Linux instances, basic disks (cloud) are identified as xvda or xvdb. Ultra disks (cloud_efficiency) and standard SSDs (cloud_ssd) are identified as vda or vdb.
    • For instance families available on the Alibaba Cloud market, the private IP address is modified.
  • Instances in VPCs: For phased-out instance types, when a non-I/O optimized instance is upgraded to an I/O optimized instance, the driver name and software authorization code are modified. For more information, see Phased-out instance types. For Linux instances, basic disks (cloud) are identified as xvda or xvdb. Ultra disks (cloud_efficiency) and standard SSDs (cloud_ssd) are identified as vda or vdb.
InstanceType String No ecs.g5.large

The instance type. For more information, see Instance type families or call the DescribeInstanceTypes operation to query the most recent instance type list. When the DestinationResource parameter is set to SystemDisk, you must specify the InstanceType parameter.

Cores Integer No 2

The number of vCPUs of the instance type. For more information, see Instance type families. This parameter is valid only when the DestinationResource parameter is set to InstanceType.

Memory Float No 8.0

The memory size of the instance type. Unit: GiB. For more information, see Instance type families. This parameter is valid only when the DestinationResource parameter is set to InstanceType.

Response parameters

Parameter Type Example Description
RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

The ID of the request.

AvailableZones Array

An array consisting of AvailableZone data.

RegionId String cn-hangzhou-dg-a01

The ID of the region.

ZoneId String cn-hangzhou-e

The ID of the zone.

Status String Available

The status of the resource. Valid values:

  • Available
  • SoldOut
StatusCategory String WithStock

The category of resources based on stock status. Valid values:

  • WithStock: sufficient stock
  • ClosedWithStock: insufficient stock
  • WithoutStock: running out of stock
AvailableResources Array

An array consisting of AvailableResource data.

Type String InstanceType

The type of the resource. Valid values:

  • Zone
  • IoOptimized
  • InstanceType
  • SystemDisk
  • DataDisk
  • Network
SupportedResources Array

An array consisting of SupportedResource data.

Value String ecs.sn1ne.xlarge

The value of the resource.

Status String Available

The status of the resource. Valid values:

  • Available
  • SoldOut
StatusCategory String WithStock

The category of resources based on stock status. Valid values:

  • WithStock: sufficient stock
  • ClosedWithStock: insufficient stock
  • WithoutStock: running out of stock
Min Integer 1

The minimum value of a specific resource type that can be created. No value is returned when the parameter value is null.

Max Integer 2

The maximum value of a specific resource type that can be created. No value is returned when the parameter value is null.

Unit String null

The unit of the resource type. No value is returned when the parameter value is null.

Examples

Sample requests

https://ecs.aliyuncs.com/?Action=DescribeResourcesModification
&DestinationResource=InstanceType
&RegionId=cn-hangzhou
&ResourceId=i-bp67acfmxazb4ph***
&MigrateAcrossZone=true
&OperationType=Upgrade
&InstanceType=ecs.g5.large
&<Common request parameters>

Sample success responses

XML format

<DescribeResourcesModificationResponse>
      <RequestId>994F2B60-B050-49E3-9283-44655FAC7A4X</RequestId>
      <AvailableZones>
            <AvailableZone>
                  <Status>Available</Status>
                  <RegionId>cn-hangzhou</RegionId>
                  <AvailableResources>
                        <AvailableResource>
                              <Type>InstanceType</Type>
                              <SupportedResources>
                                    <SupportedResource>
                                          <Status>Available</Status>
                                          <Value>ecs.g5.xlarge</Value>
                                    </SupportedResource>
                                    <SupportedResource>
                                          <Status>Available</Status>
                                          <Value>ecs.t5-lc1m2.large</Value>
                                    </SupportedResource>
                                    <SupportedResource>
                                          <Status>Available</Status>
                                          <Value>ecs.t5-c1m4.2xlarge</Value>
                                    </SupportedResource>
                                    <SupportedResource>
                                          <Status>Available</Status>
                                          <Value>ecs.c5.xlarge</Value>
                                    </SupportedResource>
                              </SupportedResources>
                        </AvailableResource>
                  </AvailableResources>
                  <ZoneId>cn-hangzhou-e</ZoneId>
            </AvailableZone>
      </AvailableZones>
</DescribeResourcesModificationResponse>

JSON format

{
    "RequestId": "994F2B60-B050-49E3-9283-44655FAC7A4X", 
    "AvailableZones": {
        "AvailableZone": [
            {
                "Status": "Available", 
                "RegionId": "cn-hangzhou", 
                "AvailableResources": {
                    "AvailableResource": [
                        {
                            "Type": "InstanceType", 
                            "SupportedResources": {
                                "SupportedResource": [
                                    {
                                        "Status": "Available", 
                                        "Value": "ecs.g5.xlarge"
                                    }, 
                                    {
                                        "Status": "Available", 
                                        "Value": "ecs.t5-lc1m2.large"
                                    }, 
                                    {
                                        "Status": "Available", 
                                        "Value": "ecs.t5-c1m4.2xlarge"
                                    }, 
                                    {
                                        "Status": "Available", 
                                        "Value": "ecs.c5.xlarge"
                                    }
                                ]
                            }
                        }
                    ]
                }, 
                "ZoneId": "cn-hangzhou-e"
            }
        ]
    }
}

Error codes

HTTP status code Error code Error message Description
404 Invalid.RegionId The specified RegionId does not exist. The error message returned because the specified RegionId parameter is invalid.
404 Unavailable.Regions The available regions does not exists The error message returned because the specified region is unavailable.
400 Invalid.OperationType The specified operationType is not valid. The error message returned because the specified OperationType parameter is invalid.
400 Invalid.Param The input parameter DestinationResource that is mandatory for processing this request is not supplied. The error message returned because the DestinationResource parameter is not specified.
404 Invalid.ResourceType The ResourceType provided does not exist in our records. The error message returned because the specified ResourceType parameter is invalid.
404 Invalid.DestinationResource The specified DestinationResource is not valid. The error message returned because the specified DestinationResource parameter is invalid.
404 Invalid.IoOptimized The specified IoOptimized is not valid. The error message returned because the specified IoOptimized parameter is invalid.
404 Invalid.NetworkCategory The specified NetworkCategory is not valid. The error message returned because the specified NetworkCategory parameter is invalid.
404 Invalid.SpotStrategy The specified SpotStrategy is not valid. The error message returned because the specified SpotStrategy parameter is invalid.
400 Invalid.InstanceChargeType The specified InstanceChargeType is not valid. The error message returned because the specified InstanceChargeType parameter is invalid.
404 Invalid.ResourceId The specified ResourceId is not valid. The error message returned because the specified ResourceId parameter is invalid.
404 Invalid.InstancePayType The specified InstancePayType is not valid. The error message returned because the specified InstanceChargeType parameter is invalid.
404 OperationDenied The specified operation is denied as this instanceType is not support. The error message returned because the instance type does not support the current operation.
403 InvalidDedicatedHostId.NotFound The specified DedicatedHostId does not exist in our records. The error message returned because the specified dedicated host does not exist in the current region.
404 InvalidInstanceId.NotFound The specified InstanceId provided does not exist in our records. The error message returned because the specified InstanceId parameter does not exist. Check whether the instance ID is correct.
404 InvalidResourceId.NotFound The specified ResourceId is not found in our records The error message returned because the specified ResourceId parameter does not exist.
403 InvalidParam.TypeAndCpuMem.Conflict The specified 'InstanceType' and 'Cores','Memory' are not blank at the same time. The error message returned because none of the InstanceType, Cores, or Memory parameters is specified.
403 InvalidParam.Cores The specified parameter 'Cores' should be empty The error message returned because the Cores parameter is specified.
403 InvalidParam.Memory The specified parameter 'Memory' should be empty The error message returned because the Memory parameter is specified.

For a list of error codes, visit the API Error Center.