Help Center/ MapReduce Service/ API Reference/ API V2/ Version Metadata/ Querying Available Specifications of an MRS Cluster Version - ShowMrsFlavors
Updated on 2026-09-15 GMT+08:00

Querying Available Specifications of an MRS Cluster Version - ShowMrsFlavors

Function

This API is used to query the available node specification information for a specified MRS cluster version, including CPU, memory, and other configurations. Before creating a cluster or scaling out a cluster by adding nodes, you can use this API to learn about the available node specifications.

Constraints

None

Debugging

You can debug this API in API Explorer. Automatic authentication is supported. API Explorer can automatically generate sample SDK code and supports sample SDK code debugging.

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, no identity policy-based permissions are required for calling this API.

URI

GET /v2/{project_id}/metadata/version/{version_name}/available-flavor

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

Constraints

N/A

Range

The value must consist of 1 to 64 characters. Only letters and digits are allowed.

Default Value

N/A

version_name

Yes

String

Definition

Cluster version, for example, MRS 3.1.0. If the request client does not support automatic escape, escape the space to %20, for example, MRS %203.1.0.

Constraints

N/A

Range

The value can contain 1 to 64 characters. Only letters, digits, spaces, hyphens (-), and periods (.) are allowed. You can view the cluster version information currently available for creation through the MRS management console.

Default Value

N/A

Request Parameters

None

Response Parameters

Status code: 200

Table 2 Response body parameters

Parameter

Type

Description

version_name

String

Definition

Version name.

Range

N/A

available_flavors

Array of AzFlavors objects

Definition

Flavors supported by different AZs. For details, see Table 3.

Range

N/A

Table 3 AzFlavors

Parameter

Type

Description

az_code

String

Definition

AZ code.

Range

N/A

az_name

String

Definition

AZ name

Range

N/A

master

Array of Flavor objects

Definition

Specifications supported by Master nodes. For details, see Table 4.

Range

N/A

core

Array of Flavor objects

Definition

Specifications supported by Core nodes. For details, see Table 4.

Range

N/A

task

Array of Flavor objects

Definition

Specifications supported by Task nodes. For details, see Table 4.

Range

N/A

Table 4 Flavor

Parameter

Type

Description

flavor_name

String

Definition

Flavor name.

Range

N/A

Example Request

Obtain details about MRS 3.1.0 metadata.

/v2/f77c10d14a544393a24e5f0bf53202b6/metadata/version/MRS%203.1.0/available-flavor

Example Response

Status code: 200

Available specifications of the current version

{
  "version_name" : "MRS 3.1.0",
  "available_flavors" : [ {
    "az_code" : "cn-north-7a",
    "az_name" : "AZ 1",
    "master" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ],
    "core" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ],
    "task" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ]
  }, {
    "az_code" : "cn-north-7b",
    "az_name" : "AZ 2",
    "master" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ],
    "core" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ],
    "task" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ]
  }, {
    "az_code" : "cn-north-7c",
    "az_name" : "AZ 3",
    "master" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ],
    "core" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ],
    "task" : [ {
      "flavor_name" : "Si3.4xlarge.4"
    }, {
      "flavor_name" : "m3.8xlarge.8"
    }, {
      "flavor_name" : "c6.xlarge.4"
    }, {
      "flavor_name" : "m6.xlarge.8"
    } ]
  } ]
}

SDK Sample Code

The SDK sample code is as follows.

 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.mrs.v2.region.MrsRegion;
import com.huaweicloud.sdk.mrs.v2.*;
import com.huaweicloud.sdk.mrs.v2.model.*;


public class ShowMrsFlavorsSolution {

    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);

        MrsClient client = MrsClient.newBuilder()
                .withCredential(auth)
                .withRegion(MrsRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowMrsFlavorsRequest request = new ShowMrsFlavorsRequest();
        request.withVersionName("{version_name}");
        try {
            ShowMrsFlavorsResponse response = client.showMrsFlavors(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());
        }
    }
}
 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 huaweicloudsdkmrs.v2.region.mrs_region import MrsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkmrs.v2 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 = MrsClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(MrsRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowMrsFlavorsRequest()
        request.version_name = "{version_name}"
        response = client.show_mrs_flavors(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 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"
    mrs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/mrs/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/mrs/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/mrs/v2/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 := mrs.MrsClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()


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

    client := mrs.NewMrsClient(hcClient)

    request := &model.ShowMrsFlavorsRequest{}
	request.VersionName = "{version_name}"
	response, err := client.ShowMrsFlavors(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

Specifications available for the current version.

Error Codes

For details, see Error Codes.