Updated on 2024-10-29 GMT+08:00

Querying Customer's Pay-Per-Use Resources

Function

A partner can query the pay-per-use resources that have been provisioned for customers associated with the partner in the Reseller model.

Constraints

  • This API can be invoked using the partner AK/SK or token only.
  • The data obtained using this API is for reference only because it has a delay, and the delay for each cloud service is different.

Debugging

You can debug the API in API Explorer which supports automatic authentication. API Explorer can automatically generate and debug example SDK code.

URI

POST /v2/partners/sub-customers/on-demand-resources/query

Table 1 Header parameter

Parameter

Mandatory

Value Range

Description

X-Language

No

A maximum of 8 characters

Language.

  • zh_CN: Chinese
  • en_US: English

Default value: zh_CN

Request

Request Parameters

Parameter

Mandatory

Type

Value Range

Description

customer_id

Yes

String

A maximum of 64 characters

Customer account ID.

To obtain the customer ID, call the API in Querying Customers.

region_code

No

String

A maximum of 64 characters

Cloud service region code, for example, ap-southeast-1. Obtain the value from the Region column in Regions and Endpoints.

If this parameter is not included in the request parameters, is set to "", or is set to null, it cannot be used as a filter criterion.

service_type_code

No

String

A maximum of 64 characters

Cloud service type code. For example, the cloud service type code of OBS is hws.service.type.obs. To obtain a specific service type, call the API in Querying Cloud Service Types.

If this parameter is not included in the request parameters, is set to "", or is set to null, it cannot be used as a filter criterion.

resource_ids

No

List<Stirng>

A maximum of 50 IDs

Uses IDs to query resources in a batch.

It is used to query the resources corresponding to specified resource IDs. A maximum of 50 IDs can be transferred at the same time.

If this parameter is not included in the request parameters, is left empty, or is set to null, it cannot be used as a filter criterion.

effective_time_begin

No

String

A maximum of 20 characters

Start time of the validity period.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z.

The range of HH is 0-23, and the range of mm and ss is 0-59.

If this parameter is not included in the request parameters, is set to "", or is set to null, it cannot be used as a filter criterion.

effective_time_end

No

String

A maximum of 20 characters

End time of the validity period.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z.

The range of HH is 0-23, and the range of mm and ss is 0-59.

If this parameter is not included in the request parameters, is set to "", or is set to null, it cannot be used as a filter criterion.

offset

No

Integer

0 to maximum integer

Offset, which starts from 0. The default value is 0.

NOTE:

This parameter is used for pagination. Retain its default value 0 if pagination is not required. offset indicates the offset relative to the first data record among all that meets the conditions configured. If you set offset to 1, the second and subsequent data records are returned.

For example, if there are 10 records that meet query conditions, when you set limit to 10 and offset to 1, the second to the tenth records are returned.

If there are 20 records that meet query conditions, when you set offset to 0 and limit to 10 for the first page and set offset to 10 and limit to 10 for the second page, then each page will respectively have 10 records.

limit

No

Integer

1 to 100

Number of records queried each time. The default value is 10.

status

No

Integer

1 to 6

Resource status.

  • 1: Normal (provisioned)
  • 2: Grace period
  • 3. Freezing
  • 4: Changing
  • 5: Canceling

If this parameter is not included in the request parameters or is set to null, it cannot be used as a filter criterion.

indirect_partner_id

No

String

A maximum of 64 characters

Reseller ID. For details about how to obtain such IDs, see Query Huawei Cloud Resellers. This parameter is mandatory only when a distributor queries pay-per-use resources of customers associated with its resellers. Otherwise, the pay-per-use resources of the distributor's own customers will be queried.

Example Request

POST https://bss-intl.myhuaweicloud.com/v2/partners/sub-customers/on-demand-resources/query HTTP/1.1
Content-Type: application/json
X-Auth-Token: MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ
X-Language: zh_CN
{
    "indirect_partner_id": "051a8a834180d3fb0f25c006b1998800",
    "offset": 0,
    "limit": 10,
    "effective_time_begin": "2020-04-02T08:56:26Z",
    "effective_time_end": "2020-05-02T08:56:26Z",
    "customer_id": "0846606cf580d45f0fd6c01e10c07540",
    "service_type_code": "hws.service.type.ebs",
    "resource_ids": [
    "batch-volume-16380-00024604"
    ],
    "region_code": "cn-east-2",
    "status": 1
}

Response

Response Parameters

Parameter

Type

Description

error_code

String

Status code. For details, see Returned Values.

error_msg

String

Error description.

resources

List<CustomerResourceV2>

Customer resources.

For details, see Table 2.

total_count

Integer

Total number of query records.

Table 2 CustomerResourceV2

Parameter

Type

Description

customer_id

String

Customer account ID.

region_code

String

Cloud service region code, for example, ap-southeast-1. Obtain the value from the Region column in Regions and Endpoints.

availability_zone_code

String

AZ code.

service_type_code

String

Cloud service type code. For example, the cloud service type code of OBS is hws.service.type.obs.

resource_type_code

String

Resource type code. For example, the VM resource type code of ECS is hws.resource.type.vm.

service_type_name

String

Cloud service type. For example, the cloud service type of ECS is Elastic Cloud Server.

resource_type_name

String

Resource type. For example, the resource type of ECS is Cloud Host.

resource_id

String

Resource ID.

resource_name

String

Resource instance name.

effective_time

String

Effective time. UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z. The range of HH is 0-23, and the range of mm and ss is 0-59.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z.

The range of HH is 0-23, and the range of mm and ss is 0-59.

expire_time

String

Expiration time. UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z. The range of HH is 0-23, and the range of mm and ss is 0-59.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z.

The range of HH is 0-23, and the range of mm and ss is 0-59.

status

Integer

Resource status.

  • 1: Normal (provisioned)
  • 2: Grace period
  • 3. Freezing
  • 4: Changing
  • 5: Canceling
  • 6: Canceled

resource_spec_code

String

Specification of a cloud service resource. For example, a VM resource specification is s2.small.1.linux (.win or .linux should be added at the end of the specification).

resource_info

String

Capacity of pay-per-use resources.

The value is in "resourceInfo": "{\"specSize\":40.0}" format.

product_spec_desc

String

Product specification description. Example:

  • ECS: General computing-plus | c6.2xlarge.4 | 8 vCPUs | 32 GB | Linux
  • Disk: EVS_SATA_LXH01 | 40.0 GB

Example Response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time 
{
     "resources": [
     {
      "customer_id": "0846606cf580d45f0fd6c01e10c07540",
      "region_code": "cn-east-2",
      "availability_zone_code": "cn-east-2-a",
      "service_type_code": "hws.service.type.ebs",
      "resource_type_code": "hws.resource.type.volume",
      "resource_id": "batch-volume-16380-00024604",
      "resource_name": "batch-volume",
      "effective_time": "2020-04-02T08:56:26Z",
      "expire_time": "2020-05-02T08:56:26Z",
      "status": 1,
      "resource_spec_code": "SATA",
      "resource_info": "{\"specSize\":2235.0}",
      "product_spec_desc": "High IO|40.0GB"
      }
    ],
    "total_count": 1
}

Returned Values

  • 4xx: This class of HTTP status code is intended for situations in which the error seems to have been caused by the client, for example, the request contains bad syntax or incorrect parameters. You must ensure the request is correct.
  • 5xx: This class of HTTP status code is intended for cases in which the Huawei Cloud server is aware that it has encountered an error or is otherwise incapable of performing the request. In this case, contact Huawei Cloud customer service.

HTTP Value

Error Code

Description

400

CBC.0100

Parameter error.

400

CBC.99000000

You do not have the operation permission to the customer.

400

CBC.99000037

You do not have the permission to operate this reseller.

403

CBC.0151

Access denied.

500

CBC.0999

Other errors.