文档首页/ 云硬盘 EVS/ API参考/ Cinder API/ 配额管理/ 查询租户的详细配额
更新时间:2024-11-06 GMT+08:00
分享

查询租户的详细配额

功能介绍

查询租户的详细配额。

调用方法

请参见如何调用API

URI

GET /v2/{project_id}/os-quota-sets/{target_project_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

target_project_id

String

目标的项目ID。与project_id保持一致即可。

表2 Query参数

参数

是否必选

参数类型

描述

usage

String

是否查询配额详细信息。当前只支持传True。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

quota_set

QuotaList object

查询请求返回的配额信息。

表5 QuotaList

参数

参数类型

描述

backup_gigabytes

QuotaDetailBackupGigabytes object

备份容量,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

backups

QuotaDetailBackups object

备份个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

gigabytes

QuotaDetailGigabytes object

总容量,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

id

String

项目ID。

snapshots

QuotaDetailSnapshots object

快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

volumes

QuotaDetailVolumes object

云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

gigabytes_SATA

QuotaDetailGigabytesSATA object

SATA云硬盘类型预留的容量大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

snapshots_SATA

QuotaDetailSnapshotsSATA object

SATA云硬盘类型预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

volumes_SATA

QuotaDetailVolumesSATA object

SATA云硬盘类型预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

gigabytes_SAS

QuotaDetailGigabytesSAS object

SAS类型云硬盘预留的size大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

snapshots_SAS

QuotaDetailSnapshotsSAS object

SAS类型云硬盘预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

volumes_SAS

QuotaDetailVolumesSAS object

SAS类型云硬盘预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

gigabytes_SSD

QuotaDetailGigabytesSSD object

SSD类型云硬盘预留的size大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

snapshots_SSD

QuotaDetailSnapshotsSSD object

SSD类型云硬盘预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

volumes_SSD

QuotaDetailVolumesSSD object

SSD类型云硬盘预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

gigabytes_GPSSD

QuotaDetailGigabytesGPSSD object

GPSSD类型云硬盘预留的size大小,单位为GiB,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

snapshots_GPSSD

QuotaDetailSnapshotsGPSSD object

GPSSD类型云硬盘预留快照个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

volumes_GPSSD

QuotaDetailVolumesGPSSD object

GPSSD类型云硬盘预留的云硬盘个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

per_volume_gigabytes

QuotaDetailPerVolumeGigabytes object

每个云硬盘的容量配额限制。键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

snapshot_policy

QuotaDetailSnapshots object

快照策略个数,键值对,包含:reserved(预留)、limit(最大)和in_use(已使用)。

表6 QuotaDetailBackupGigabytes

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表7 QuotaDetailBackups

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表8 QuotaDetailGigabytes

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表9 QuotaDetailVolumes

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表10 QuotaDetailGigabytesSATA

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表11 QuotaDetailSnapshotsSATA

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表12 QuotaDetailVolumesSATA

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表13 QuotaDetailGigabytesSAS

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表14 QuotaDetailSnapshotsSAS

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表15 QuotaDetailVolumesSAS

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表16 QuotaDetailGigabytesSSD

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表17 QuotaDetailSnapshotsSSD

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表18 QuotaDetailVolumesSSD

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表19 QuotaDetailGigabytesGPSSD

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表20 QuotaDetailSnapshotsGPSSD

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表21 QuotaDetailVolumesGPSSD

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表22 QuotaDetailPerVolumeGigabytes

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

表23 QuotaDetailSnapshots

参数

参数类型

描述

in_use

Integer

已使用的数量。

limit

Integer

最大的数量。

reserved

Integer

预留属性。

状态码: 400

表24 响应Body参数

参数

参数类型

描述

error

Error object

出现错误时,返回的错误信息。

表25 Error

参数

参数类型

描述

code

String

出现错误时,返回的错误码。

错误码和其对应的含义请参考错误码说明

message

String

出现错误时,返回的错误消息。

请求示例

GET https://{endpoint}/v2/{project_id}/os-quota-sets/{target_project_id}?usage=True

响应示例

状态码: 200

OK

{
  "quota_set" : {
    "gigabytes_SAS" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 21
    },
    "volumes_SATA" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 8
    },
    "gigabytes" : {
      "reserved" : 0,
      "limit" : 42790,
      "in_use" : 2792
    },
    "backup_gigabytes" : {
      "reserved" : 0,
      "limit" : 5120,
      "in_use" : 51
    },
    "snapshots_SAS" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 0
    },
    "volumes_SSD" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 28
    },
    "snapshots" : {
      "reserved" : 0,
      "limit" : 10,
      "in_use" : 6
    },
    "id" : "cd631140887d4b6e9c786b67a6dd4c02",
    "volumes_SAS" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 2
    },
    "snapshots_SSD" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 0
    },
    "volumes" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 108
    },
    "gigabytes_SATA" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 168
    },
    "backups" : {
      "reserved" : 0,
      "limit" : 100,
      "in_use" : 10
    },
    "gigabytes_SSD" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 1085
    },
    "snapshots_SATA" : {
      "reserved" : 0,
      "limit" : -1,
      "in_use" : 0
    }
  }
}

状态码: 400

Bad Request

{
  "error" : {
    "message" : "XXXX",
    "code" : "XXX"
  }
}

SDK代码示例

SDK代码示例如下。

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


public class CinderListQuotasSolution {

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

        EvsClient client = EvsClient.newBuilder()
                .withCredential(auth)
                .withRegion(EvsRegion.valueOf("<YOUR REGION>"))
                .build();
        CinderListQuotasRequest request = new CinderListQuotasRequest();
        request.withTargetProjectId("{target_project_id}");
        try {
            CinderListQuotasResponse response = client.cinderListQuotas(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 huaweicloudsdkevs.v2.region.evs_region import EvsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkevs.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 = EvsClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(EvsRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = CinderListQuotasRequest()
        request.target_project_id = "{target_project_id}"
        response = client.cinder_list_quotas(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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    evs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/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 := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := evs.NewEvsClient(
        evs.EvsClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.CinderListQuotasRequest{}
	request.TargetProjectId = "{target_project_id}"
	response, err := client.CinderListQuotas(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码

相关文档