Querying Host Information
Function
This API is used to query all hosts, including the host names, IP addresses, and ICAgent installation details. This helps you quickly locate the hosts where ICAgent is not installed.
Calling Method
For details, see Calling APIs.
URI
POST /v3/{project_id}/lts/host-list
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Parameter description: Project ID. For details about how to obtain it, see Obtaining the Project ID, Account ID, Log Group ID, and Log Stream ID. Constraints: N/A. Value range: N/A. Default value: N/A. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Parameter description: User token obtained from IAM. For details about how to obtain it, see Obtaining a User Token. Constraints: N/A. Value range: N/A. Default value: N/A. |
Content-Type |
Yes |
String |
Parameter description: Set this parameter to application/json;charset=utf8. Constraints: N/A. Value range: N/A. Default value: N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
host_id_list |
No |
Array of strings |
Parameter description: Host ID list. You can filter hosts by host ID. Constraints: N/A. Value range: Minimum elements: 0 Maximum elements: 500 Default value: N/A. |
filter |
Yes |
GetHostListFilter object |
Parameter description: Filters for querying hosts. Constraints: N/A. Value range: N/A. Default value: N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
host_name_list |
No |
Array of strings |
Parameter description: Host name list. You can filter hosts by host name. Constraints: N/A. Value range: Minimum elements: 0 Maximum elements: 500 Default value: N/A. |
host_ip_list |
No |
Array of strings |
Parameter description: Host IP address list. You can filter hosts by host IP address. Constraints: N/A. Value range: Minimum elements: 0 Maximum elements: 500 Default value: N/A. |
host_status |
No |
String |
Parameter description: ICAgent status of a host. You can filter hosts by ICAgent status. ICAgent statuses include: uninstalled: ICAgent is not installed. running: ICAgent is running. offline: ICAgent is offline. faulty: ICAgent is abnormal. plugin error: plug-in error. installing: ICAgent is being installed. install-failed: ICAgent installation failed. upgrading: ICAgent is being upgraded. upgrade failed: ICAgent upgrade failed. uninstalling: ICAgent is being uninstalled. authentication error: authentication error. Constraints: You can only enter supported host statuses. Value range: N/A. Default value: N/A. |
host_version |
No |
String |
Parameter description: Host version. You can filter hosts by host version. Constraints: N/A. Value range: Minimum characters: 0 Maximum characters: 15 Default value: N/A. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
result |
Array of GetHostListInfo objects |
Parameter description: Host list. Value range: N/A. |
total |
Long |
Parameter description: Total number of hosts. Value range: N/A. |
Parameter |
Type |
Description |
---|---|---|
host_id |
String |
Parameter description: Host ID. Value range: Minimum characters: 36 Maximum characters: 36 |
host_ip |
String |
Parameter description: Host IP address. Value range: Minimum characters: 7 Maximum characters: 15 |
host_name |
String |
Parameter description: Host name. Value range: Minimum characters: 1 Maximum characters: 128 |
host_status |
String |
Parameter description: Host status. uninstall: ICAgent is not installed. running: ICAgent is running. offline: ICAgent is offline. error: ICAgent is abnormal. plugin error: plug-in error. installing: ICAgent is being installed. install-fail: ICAgent installation failed. upgrading: ICAgent is being upgraded. upgrading-transient: ICAgent is being upgraded. upgrade failed: ICAgent upgrade failed. upgrade-fail: ICAgent upgrade failed. uninstalling: ICAgent is being uninstalled. uninstalling-transient: ICAgent is being uninstalled. authentication error: Authentication failed. Value range: N/A. |
host_type |
String |
Parameter description: Host type. Two host group types are supported: Windows and Linux. Value range: N/A. |
host_version |
String |
Parameter description: Host version. Value range: Minimum characters: 0 Maximum characters: 15 |
update_time |
Long |
Parameter description: Update time (timestamp in milliseconds). Value range: Minimum characters: 13 Maximum characters: 13 |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Parameter description: Error code. Value range: Minimum characters: 8 Maximum characters: 8 |
error_msg |
String |
Parameter description: Error message. Value range: N/A. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Parameter description: Error code. Value range: Minimum characters: 8 Maximum characters: 8 |
error_msg |
String |
Parameter description: Error message. Value range: N/A. |
Example Requests
Query host information and filter the information based on the transferred body. If the body does not contain any filtering parameter, all data is queried.
POST https://{endpoint}/v3/{project_id}/lts/host-list
{
"host_id_list" : [ "713a9f81-574b-45aa-92df-24c4caxxxxxx", "c7085aa9-2142-4ada-9f78-bf81ffxxxxxx" ],
"filter" : {
"host_name_list" : [ "ecs-xxxx", "10.66.16xxx" ],
"host_ip_list" : [ "192.168xxxx" ],
"host_status" : "ruxxxx",
"host_version" : "5.13.xxxx"
}
}
Example Responses
Status code: 200
The host query is successful.
{
"result" : [ {
"host_id" : "dc1dab7e-b045-4e77-bda4-914xxxxxx",
"host_ip" : "172.16.xxxx",
"host_name" : "ecs-apmtexxxxxx",
"host_status" : "xxxxxx",
"host_type" : "xxxxx",
"host_version" : "5.13.xx.x",
"update_time" : 1637223314526
} ],
"total" : 1
}
Status code: 400
Invalid request. Modify the request based on the description in error_msg before a retry.
{
"error_code" : "LTS.1807",
"error_msg" : "Invalid host id"
}
Status code: 500
The server has received the request but encountered an internal error.
{
"error_code" : "LTS.0010",
"error_msg" : "Internal Server Error"
}
SDK Sample Code
The SDK sample code is as follows.
Query host information and filter the information based on the transferred body. If the body does not contain any filtering parameter, all data is queried.
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
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.lts.v2.region.LtsRegion;
import com.huaweicloud.sdk.lts.v2.*;
import com.huaweicloud.sdk.lts.v2.model.*;
import java.util.List;
import java.util.ArrayList;
public class ListHostSolution {
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);
LtsClient client = LtsClient.newBuilder()
.withCredential(auth)
.withRegion(LtsRegion.valueOf("<YOUR REGION>"))
.build();
ListHostRequest request = new ListHostRequest();
GetHostListRequestBody body = new GetHostListRequestBody();
List<String> listFilterHostIpList = new ArrayList<>();
listFilterHostIpList.add("192.168xxxx");
List<String> listFilterHostNameList = new ArrayList<>();
listFilterHostNameList.add("ecs-xxxx");
listFilterHostNameList.add("10.66.16xxx");
GetHostListFilter filterbody = new GetHostListFilter();
filterbody.withHostNameList(listFilterHostNameList)
.withHostIpList(listFilterHostIpList)
.withHostStatus(GetHostListFilter.HostStatusEnum.fromValue("ruxxxx"))
.withHostVersion("5.13.xxxx");
List<String> listbodyHostIdList = new ArrayList<>();
listbodyHostIdList.add("713a9f81-574b-45aa-92df-24c4caxxxxxx");
listbodyHostIdList.add("c7085aa9-2142-4ada-9f78-bf81ffxxxxxx");
body.withFilter(filterbody);
body.withHostIdList(listbodyHostIdList);
request.withBody(body);
try {
ListHostResponse response = client.listHost(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());
}
}
}
|
Query host information and filter the information based on the transferred body. If the body does not contain any filtering parameter, all data is queried.
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 51 52 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdklts.v2.region.lts_region import LtsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdklts.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 = LtsClient.new_builder() \
.with_credentials(credentials) \
.with_region(LtsRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = ListHostRequest()
listHostIpListFilter = [
"192.168xxxx"
]
listHostNameListFilter = [
"ecs-xxxx",
"10.66.16xxx"
]
filterbody = GetHostListFilter(
host_name_list=listHostNameListFilter,
host_ip_list=listHostIpListFilter,
host_status="ruxxxx",
host_version="5.13.xxxx"
)
listHostIdListbody = [
"713a9f81-574b-45aa-92df-24c4caxxxxxx",
"c7085aa9-2142-4ada-9f78-bf81ffxxxxxx"
]
request.body = GetHostListRequestBody(
filter=filterbody,
host_id_list=listHostIdListbody
)
response = client.list_host(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
|
Query host information and filter the information based on the transferred body. If the body does not contain any filtering parameter, all data is queried.
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 51 52 53 54 55 56 57 58 59 60 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
lts "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/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 := lts.NewLtsClient(
lts.LtsClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.ListHostRequest{}
var listHostIpListFilter = []string{
"192.168xxxx",
}
var listHostNameListFilter = []string{
"ecs-xxxx",
"10.66.16xxx",
}
hostStatusFilter:= model.GetGetHostListFilterHostStatusEnum().RUXXXX
hostVersionFilter:= "5.13.xxxx"
filterbody := &model.GetHostListFilter{
HostNameList: &listHostNameListFilter,
HostIpList: &listHostIpListFilter,
HostStatus: &hostStatusFilter,
HostVersion: &hostVersionFilter,
}
var listHostIdListbody = []string{
"713a9f81-574b-45aa-92df-24c4caxxxxxx",
"c7085aa9-2142-4ada-9f78-bf81ffxxxxxx",
}
request.Body = &model.GetHostListRequestBody{
Filter: filterbody,
HostIdList: &listHostIdListbody,
}
response, err := client.ListHost(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.
Query host information and filter the information based on the transferred body. If the body does not contain any filtering parameter, all data is queried.
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
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.lts.v2.region.LtsRegion;
import com.huaweicloud.sdk.lts.v2.*;
import com.huaweicloud.sdk.lts.v2.model.*;
import java.util.List;
import java.util.ArrayList;
public class ListHostSolution {
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);
LtsClient client = LtsClient.newBuilder()
.withCredential(auth)
.withRegion(LtsRegion.valueOf("<YOUR REGION>"))
.build();
ListHostRequest request = new ListHostRequest();
GetHostListRequestBody body = new GetHostListRequestBody();
List<String> listFilterHostIpList = new ArrayList<>();
listFilterHostIpList.add("192.168xxxx");
List<String> listFilterHostNameList = new ArrayList<>();
listFilterHostNameList.add("ecs-xxxx");
listFilterHostNameList.add("10.66.16xxx");
GetHostListFilter filterbody = new GetHostListFilter();
filterbody.withHostNameList(listFilterHostNameList)
.withHostIpList(listFilterHostIpList)
.withHostStatus(GetHostListFilter.HostStatusEnum.fromValue("ruxxxx"))
.withHostVersion("5.13.xxxx");
List<String> listbodyHostIdList = new ArrayList<>();
listbodyHostIdList.add("713a9f81-574b-45aa-92df-24c4caxxxxxx");
listbodyHostIdList.add("c7085aa9-2142-4ada-9f78-bf81ffxxxxxx");
body.withFilter(filterbody);
body.withHostIdList(listbodyHostIdList);
request.withBody(body);
try {
ListHostResponse response = client.listHost(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());
}
}
}
|
Query host information and filter the information based on the transferred body. If the body does not contain any filtering parameter, all data is queried.
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 51 52 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdklts.v2.region.lts_region import LtsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdklts.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 = LtsClient.new_builder() \
.with_credentials(credentials) \
.with_region(LtsRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = ListHostRequest()
listHostIpListFilter = [
"192.168xxxx"
]
listHostNameListFilter = [
"ecs-xxxx",
"10.66.16xxx"
]
filterbody = GetHostListFilter(
host_name_list=listHostNameListFilter,
host_ip_list=listHostIpListFilter,
host_status="ruxxxx",
host_version="5.13.xxxx"
)
listHostIdListbody = [
"713a9f81-574b-45aa-92df-24c4caxxxxxx",
"c7085aa9-2142-4ada-9f78-bf81ffxxxxxx"
]
request.body = GetHostListRequestBody(
filter=filterbody,
host_id_list=listHostIdListbody
)
response = client.list_host(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
|
Query host information and filter the information based on the transferred body. If the body does not contain any filtering parameter, all data is queried.
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 51 52 53 54 55 56 57 58 59 60 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
lts "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/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 := lts.NewLtsClient(
lts.LtsClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.ListHostRequest{}
var listHostIpListFilter = []string{
"192.168xxxx",
}
var listHostNameListFilter = []string{
"ecs-xxxx",
"10.66.16xxx",
}
hostStatusFilter:= model.GetGetHostListFilterHostStatusEnum().RUXXXX
hostVersionFilter:= "5.13.xxxx"
filterbody := &model.GetHostListFilter{
HostNameList: &listHostNameListFilter,
HostIpList: &listHostIpListFilter,
HostStatus: &hostStatusFilter,
HostVersion: &hostVersionFilter,
}
var listHostIdListbody = []string{
"713a9f81-574b-45aa-92df-24c4caxxxxxx",
"c7085aa9-2142-4ada-9f78-bf81ffxxxxxx",
}
request.Body = &model.GetHostListRequestBody{
Filter: filterbody,
HostIdList: &listHostIdListbody,
}
response, err := client.ListHost(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 |
The host query is successful. |
400 |
Invalid request. Modify the request based on the description in error_msg before a retry. |
500 |
The server has received the request but encountered an internal error. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot