Help Center/ Cloud Search Service/ API Reference/ API V1/ Specifications Query/ Query available node specifications by engine.
Updated on 2026-08-10 GMT+08:00

Query available node specifications by engine.

Function

This API is used to query the specifications supported by Elasticsearch, OpenSearch, or Logstash.

Calling Method

For details, see Calling APIs.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    css:cluster:listFlavors

    List

    -

    -

    css:cluster:showFlavor

    -

URI

GET /v1.0/{project_id}/datastore/{datastore_id}/flavors

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID. For details about how to obtain the project ID and name, see Obtaining the Project ID and Name.

Constraints

N/A

Range

Project ID of an account. The value contains 32 characters, consisting of lowercase letters and digits.

Default Value

N/A

datastore_id

Yes

String

Definition

Engine type ID.

Constraints

N/A

Range

  • Elasticsearch: cf7e2c8f-096c-4fcf-b174-1ebe060679fb

  • OpenSearch: 07ec9f86-ec2f-49e7-8913-373003aedf32

  • Logstash: 575276bb-87e5-4e18-8e1e-e748d8ad3a06

Default Value

N/A

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

datastore_version_id

No

String

Definition

Engine version ID.

Constraints

N/A

Range

  • Elasticsearch 7.10.2: 01f53413-0a58-4b0c-848a-f625846bae23

  • OpenSearch 2.19.0: 11a9df5c-711f-496c-866d-a4521c179671

  • Logstash 7.10.0: f5609cf0-3514-49ef-87db-a3df2858a46f

Default Value

N/A

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

id

String

Definition

Engine type ID.

Range

N/A

dbname

String

Definition:

Engine name.

Value range:

N/A

versions

Array of FlavorRespVersionBody objects

Definition

Engine version, including the version ID, version name, and specifications.

modelList

ModelList object

Definition

Model list.

Table 4 FlavorRespVersionBody

Parameter

Type

Description

id

String

Definition:

Version ID.

Value range:

N/A

name

String

Definition:

Version name.

Value range:

N/A

flavors

Array of Flavor objects

Definition

Specifications, including the number of CPUs, memory size, and specification name.

Table 5 Flavor

Parameter

Type

Description

cpu

Integer

Definition:

Number of vCPUs available with an instance.

Value range:

N/A

ram

Integer

Definition

Instance memory size, in GB.

Range

N/A

name

String

Definition:

Flavor name.

Value range:

N/A

region

String

Definition:

Regions where the node flavor is available.

Value range:

N/A

typename

String

Definition:

Name of a node type

Value range:

N/A

diskrange

String

Definition

Disk capacity of an instance, in GB.

Range

N/A

condOperationStatus

String

Definition:

This parameter takes effect region-wide. If an AZ is not configured in the condOperationAz parameter, the value of this parameter is used by default.

Value range:

  • normal: The flavor is in normal commercial use.

  • sellout: The flavor has been sold out.

condOperationAz

String

Definition

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

Range

N/A

localdisk

String

Definition:

Whether the node uses local disks.

Value range:

  • true: local disks

  • false: non-local disks

flavorTypeCn

String

Definition:

Flavor categories in Chinese.

Value range:

N/A

flavorTypeEn

String

Definition:

Flavor categories in English.

Value range:

N/A

edge

Boolean

Definition:

Whether this is a node flavor for edge deployments.

Value range:

  • true: This is a node flavor for edge deployments.

  • false: This is a general flavor.

str_id

String

Definition:

Flavor ID.

Value range:

N/A

isAllowHttps

Boolean

Definition:

Whether the node type supports HTTPS access.

Value range:

N/A

Table 6 ModelList

Parameter

Type

Description

totalSize

Integer

Definition:

Model quantity

Value range:

N/A

models

Array of Model objects

Definition

Model list

Table 7 Model

Parameter

Type

Description

id

String

Definition

Model ID.

Range

N/A

name

String

Definition

Model name.

Range

N/A

datastore_type

String

Definition

Model type.

Range

N/A

datastore_version

String

Definition

Model version.

Range

N/A

is_text_model

String

Definition

Whether it is a text model.

Range

N/A

model_version_id

String

Definition

Model version ID.

Range

N/A

desc

String

Definition

Model description.

Range

N/A

language

String

Definition:

Model language

Value range:

N/A

arch_type

String

Definition:

Model specifications

Value range:

N/A

Example Requests

Query available node specifications by engine.

GET https://{Endpoint}/v1.0/{project_id}/datastore/{datastore_id}/flavors

Example Responses

Status code: 200

Example response to a request for querying the specifications supported by the Elasticsearch engine.

{
  "id" : "cf7e2c8f-096c-4fcf-b174-1ebe060679fb",
  "dbname" : "elasticsearch",
  "versions" : [ {
    "id" : "01f53413-0a58-4b0c-848a-f625846bae23",
    "name" : "7.10.2",
    "flavors" : [ {
      "cpu" : 4,
      "ram" : 8,
      "name" : "ess.spec-4u8g",
      "region" : "cn-north-1",
      "typename" : "ess",
      "diskrange" : "40,800",
      "condOperationStatus" : "normal",
      "condOperationAz" : "cn-north-1a(normal),cn-north-1b(normal),cn-north-1c(normal)",
      "localdisk" : "false",
      "flavorTypeCn" : "Compute-intensive",
      "flavorTypeEn" : "Compute-intensive",
      "edge" : false,
      "str_id" : "d9dc06ae-b9c4-4ef4-acd8-953ef4205e27"
    } ]
  } ]
}

SDK Sample Code

The SDK sample code is as follows.

Java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.css.v1.region.CssRegion;
import com.huaweicloud.sdk.css.v1.*;
import com.huaweicloud.sdk.css.v1.model.*;


public class ShowDataStoreFlavorDetailSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        CssClient client = CssClient.newBuilder()
                .withCredential(auth)
                .withRegion(CssRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowDataStoreFlavorDetailRequest request = new ShowDataStoreFlavorDetailRequest();
        request.withDatastoreId("{datastore_id}");
        try {
            ShowDataStoreFlavorDetailResponse response = client.showDataStoreFlavorDetail(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcss.v1.region.css_region import CssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcss.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = CssClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CssRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowDataStoreFlavorDetailRequest()
        request.datastore_id = "{datastore_id}"
        response = client.show_data_store_flavor_detail(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    css "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth, err := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        SafeBuild()

    if err != nil {
        fmt.Println(err)
        return
    }

    hcClient, err := css.CssClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()


    if err != nil {
        fmt.Println(err)
        return
    }

    client := css.NewCssClient(hcClient)

    request := &model.ShowDataStoreFlavorDetailRequest{}
	request.DatastoreId = "{datastore_id}"
	response, err := client.ShowDataStoreFlavorDetail(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

More

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

200

Example response to a request for querying the specifications supported by the Elasticsearch engine.

400

The request is invalid.

Modify the request and then try again.

403

The request is rejected.

The server has received the request and understood it, but the server refuses to respond to it. The client should not repeat the request without modifications.

Error Codes

See Error Codes.