Running Advanced Queries¶
Function¶
This API is used to run advanced queries.
Calling Method¶
For details, see Calling APIs.
URI¶
POST /v1/resource-manager/domains/{domain_id}/run-query
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
domain_id  | Yes  | String  | Specifies tags. Maximum: 36  | 
Request Parameters¶
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
X-Auth-Token  | No  | String  | Specifies the invoker's token.  | 
X-Security-Token  | No  | String  | Security token (session token) for temporary security credentials. This parameter is mandatory when you make an API call using temporary security credentials.  | 
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
expression  | Yes  | String  | Specifies the ResourceQL expression. Minimum: 1 Maximum: 4096  | 
Response Parameters¶
Status code: 200
Parameter  | Type  | Description  | 
|---|---|---|
query_info  | QueryInfo object  | Specifies the ResourceQL query field.  | 
results  | Array of objects  | Specifies the ResourceQL query result.  | 
Parameter  | Type  | Description  | 
|---|---|---|
select_fields  | Array of strings  | Specifies the ResourceQL query field.  | 
Status code: 400
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Specifies the error code.  | 
error_msg  | String  | Specifies the error message.  | 
Status code: 403
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Specifies the error code.  | 
error_msg  | String  | Specifies the error message.  | 
Status code: 429
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Specifies the error code.  | 
error_msg  | String  | Specifies the error message.  | 
Status code: 500
Parameter  | Type  | Description  | 
|---|---|---|
error_code  | String  | Specifies the error code.  | 
error_msg  | String  | Specifies the error message.  | 
Example Requests¶
Querying IDs of all VMs under your account
POST https://{endpoint}/v1/resource-manager/domains/{domain_id}/run-query { "expression" : "select id from resources where provider = 'ecs' and type = 'cloudservers'" }Querying 100-GB Elastic Volume Service (EVS) disks under your account
POST https://{endpoint}/v1/resource-manager/domains/{domain_id}/run-query { "expression" : "select * from resources where provider = 'evs' and type = 'volumes' and properties.size = 100" }
Example Responses¶
Status code: 200
Operation succeeded.
{
  "query_info" : {
    "select_fields" : [ "id" ]
  },
  "results" : [ {
    "id" : "91252cc9-bfd9-0709-0912-56b397e0ba3f"
  } ]
}
Status Codes¶
Status Code  | Description  | 
|---|---|
200  | Operation succeeded.  | 
400  | Invalid parameters.  | 
403  | User authentication failed.  | 
429  | Limit exceeded.  | 
500  | Server error.  | 
Error Codes¶
See Error Codes.