# Querying Details About Flavors and Extended Flavor Information

#### Function

This API is used to query details about ECS flavors and extended flavor information.

#### URI

GET /v1/{project_id}/cloudservers/flavors?availability_zone={availability_zone}

Table 1 describes the parameters in the URI.

Table 1 Path parameters
Parameter | Mandatory | Description
--- | --- | ---
project_id | Yes | Specifies the project ID.

Table 2 Query parameters
Parameter | Mandatory | Type | Description
--- | --- | --- | ---
availability_zone | No | String | Specify an AZ. If this parameter is not left blank, flavors in the normal, obt, or promotion state are returned.

#### Request

None

#### Response

Table 3 describes the response parameters.

Table 3 Response parameters
Parameter | Type | Description
--- | --- | ---
flavors | Array of objects | Specifies ECS flavors. For details, see Table 4.

Table 4 flavors field description
Parameter | Type | Description
--- | --- | ---
id | String | Specifies the ID of the ECS flavor.
name | String | Specifies the name of the ECS flavor.
vcpus | String | Specifies the number of vCPUs in the ECS flavor.
ram | Integer | Specifies the memory size (MB) in the ECS flavor.
disk | String | Specifies the system disk size in the ECS flavor. This parameter has not been used. Its default value is 0.
swap | String | Specifies the swap partition size required by the ECS flavor. This parameter has not been used. Its default value is "".
OS-FLV-EXT-DATA:ephemeral | Integer | Specifies the temporary disk size. This is an extended attribute. This parameter has not been used. Its default value is 0.
OS-FLV-DISABLED:disabled | Boolean | Specifies whether the ECS flavor has been disabled. This is an extended attribute. This parameter has not been used. Its default value is false.
rxtx_factor | Float | Specifies the ratio of the available network bandwidth to the network hardware bandwidth of the ECS. This parameter has not been used. Its default value is 1.0.
rxtx_quota | String | Specifies the software constraints of the network bandwidth that can be used by the ECS. This parameter has not been used. Its default value is null.
rxtx_cap | String | Specifies the hardware constraints of the network bandwidth that can be used by the ECS. This parameter has not been used. Its default value is null.

os-flavor-access:is_public

Boolean

Specifies whether a flavor is available to all tenants. This is an extended attribute.

- true: indicates that a flavor is available to all tenants.
- false: indicates that a flavor is available only to certain tenants.

Default value: true

links | Array of objects | Specifies shortcut links for ECS flavors. For details, see Table 5.
os_extra_specs | Object | Specifies extended ECS specifications. For details, see Table 6.

Table 5 links field description
Parameter | Type | Description
--- | --- | ---
rel | String | Specifies the shortcut link marker name.
href | String | Provides the corresponding shortcut link.
type | String | Specifies the shortcut link type. This parameter has not been used. Its default value is null.

Table 6 os_extra_specs field description
Parameter | Type | Description
--- | --- | ---

ecs:performancetype

String

Specifies the ECS flavor type:

- normal: general computing
- cpuv1: computing I
- cpuv2: computing II
- computingv3: general computing-plus
- highmem: memory-optimized
- saphana: large-memory
- saphana: large-memory HANA ECS
- diskintensive: disk-intensive
- highcpu: high-performance computing
- gpu: GPU-accelerated
- fpga: FPGA-accelerated

resource_type | String | Specifies the resource type. resource_type is used to differentiate between the types of the physical servers accommodating ECSs.
instance_vnic:type | String | Specifies the NIC type. The value of this parameter is consistently enhanced, indicating that network enhancement ECSs are to be created.
instance_vnic:instance_bandwidth | String | Specifies the maximum bandwidth in the unit of Mbit/s. The maximum value of this parameter is 10000.
instance_vnic:max_count | String | Specifies the maximum number of NICs. The maximum value of this parameter is 4.

quota:local_disk

String

The value of this parameter is in format of "{type}:{count}:{size}:{safeFormat}", where,

- type: indicates the disk type, which can only be HDD.
- count: indicates the number of local disks.
  - For D2 ECSs, the value can be 2, 4, 8, 12, 16, or 24.
  - For D3 ECSs, the value can be 2, 4, 8, 12, 16, 24, or 28.
- size: indicates the capacity of a single disk, in GB. Currently, only 1675 is supported. The actual disk size is 1800, and the available size after formatting is 1675.
- safeFormat: indicates whether the local disks of the ECS are securely formatted.
  - For D2 or D3 ECSs, the value is True.

NOTE:

This field is dedicated for disk-intensive ECSs.

quota:nvme_ssd

String

The value of this parameter is in the format of {type}:{spec}:{num}:{size}:{safeFormat}:.

- type: indicates the capacity of a single NVME SSD disk attached to the ECS, which can only be 1.6 TB or 3.2 TB.
- spec: indicates the specification of the NVME SSD disk, which can be large or small.

  If the value is large, only I3 ECSs are supported.

- num: indicates the number of partitions on the disk.
- size: indicates the capacity, in the unit of GB, of the disk used by the guest user. If the spec value is large, the value of this parameter is the size of a single disk attached to the ECS. If the spec value is small, the value of this parameter is 1/4 or 1/2 of the specification.
- safeFormat: indicates whether the local disks of the ECS are securely formatted.

  If the value is True, only I3 ECSs are supported.

NOTE:

This field is dedicated for ultra-high I/O ECSs.

ecs:generation | String | Specifies the generation of an ECS type. For example, 3 in s3 indicates the general-purpose third-generation ECSs. For details about flavors and generations, see ECS Specifications in Elastic Cloud Server User Guide.

ecs:virtualization_env_types

String

Specifies a virtualization type.

- If the parameter value is FusionCompute, the ECS uses Xen virtualization. Currently, the Xen virtualization technology is not supported.
- If the parameter value is CloudCompute, the ECS uses KVM virtualization.

NOTE:

This field is optional.

pci_passthrough:enable_gpu | String | Indicates whether the GPU is passthrough. If the value is true, the GPU is passthrough.
pci_passthrough:alias | String | Indicates the model and quantity of passthrough-enabled GPUs on P1 ECSs. The parameter value can be set to nvidia-p100:1, indicating that the ECS using this specification will occupy one NVIDIA P100 GPU.

cond:operation:status

String

This parameter takes effect region-wide. If an AZ is not configured in the cond:operation:az parameter, the value of this parameter is used by default. If this parameter is not set or used, the meaning of normal applies. Options:

- normal: indicates normal commercial use of the flavor.
- abandon: indicates that the flavor has been canceled (not displayed).
- sellout: indicates that the flavor has been sold out.
- obt: indicates that the flavor is under open beta testing (OBT).
- obt_sellout: indicates that the OBT resources are sold out.
- promotion: indicates the recommended flavor (commercial use, which is similar to normal).

cond:operation:az

String

This parameter takes effect AZ-wide. If an AZ is not configured in this parameter, the value of the cond:operation:status parameter is used by default. This parameter is in the format of "az(xx)". The value in parentheses is the flavor status in an AZ. If the parentheses are left blank, the configuration is invalid. The cond:operation:az options are the same as the cond:operation:status options.

For example, a flavor is for commercial use in AZs 0 and 3, sold out in AZ 1, for OBT in AZ 2, and is canceled in other AZs. Then, set parameters as follows:

- cond:operation:status: abandon
- cond:operation:az: az0(normal), az1(sellout), az2(obt), az3(normal)

NOTE:

Configure this parameter if the flavor status in an AZ is different from the cond:operation:status value.

quota:max_rate

String

Specifies the maximum bandwidth.

- Unit: Mbit/s. If a bandwidth is in the unit of Gbit/s, it must be divided by 1000.

quota:min_rate

String

Specified the assured bandwidth.

- Unit: Mbit/s. If a bandwidth is in the unit of Gbit/s, it must be divided by 1000.

quota:max_pps

String

Specifies the maximum intranet PPS.

- Unit: number. If a value is in the unit of 10000, it must be divided by 10000.

cond:operation:charge

String

Specifies a billing type.

- Both billing types are supported if this parameter is not set.
- Pay-per-use

cond:compute

String

Specifies computing constraints.

- autorecovery: indicates that automatic recovery is supported.
- If this parameter does not exist, automatic recovery is not supported.

For more information, see "ECS Specifications and Types" in Elastic Cloud Server User Guide.

#### Example Request

    GET https://{endpoint}/v1/{project_id}/cloudservers/flavors?availability_zone=availability_value

#### Example Response

    {
        "flavors": [
            {
                "id": "c3.2xlarge.2",
                "name": "c3.2xlarge.2",
                "vcpus": "8",
                "ram": 16384,
                "disk": "0",
                "swap": "",
                "links": [
                    {
                        "rel": "self",
                        "href": "https://ecs.region.xxx.com/v1.0/743b4c0428d94531b9f2add666642e6b/flavors/c3.2xlarge.2",
                        "type": null
                    },
                    {
                        "rel": "bookmark",
                        "href": "https://ecs.region.xxx.com/743b4c0428d94531b9f2add666642e6b/flavors/c3.2xlarge.2",
                        "type": null
                    }
                ],
                "OS-FLV-EXT-DATA:ephemeral": 0,
                "rxtx_factor": 1,
                "OS-FLV-DISABLED:disabled": false,
                "rxtx_quota": null,
                "rxtx_cap": null,
                "os-flavor-access:is_public": true,
                "os_extra_specs": {
                    "ecs:virtualization_env_types": "CloudCompute",
                    "ecs:generation": "c3",
                    "ecs:performancetype": "computingv3",
                    "resource_type": "IOoptimizedC3_2"
                }
            }
        ]
    }

#### Returned Values

See Returned Values for General Requests.

#### Error Codes

See Error Codes.

Parent topic: Flavor Management