Querying the Local Image List
Function
This API is used to query the local image list.
Calling Method
For details, see Calling APIs.
URI
GET /v5/{project_id}/image/local-repositories
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. Minimum: 1 Maximum: 256 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
enterprise_project_id |
No |
String |
Enterprise project ID. To query all enterprise projects, set this parameter to all_granted_eps. Default: 0 Minimum: 1 Maximum: 256 |
image_name |
No |
String |
Image name Minimum: 1 Maximum: 128 |
image_version |
No |
String |
Image version Minimum: 1 Maximum: 64 |
offset |
No |
Integer |
Offset, which specifies the start position of the record to be returned. Minimum: 0 Maximum: 2000000 Default: 0 |
limit |
No |
Integer |
Number of records on each page Minimum: 10 Maximum: 200 Default: 10 |
scan_status |
No |
String |
Scan status. Its value can be:
Minimum: 0 Maximum: 32 |
local_image_type |
No |
String |
Image type. Its value can be:
Minimum: 0 Maximum: 64 |
image_size |
No |
Long |
Image size, in bytes Minimum: 0 Maximum: 2147483547 Default: 0 |
start_latest_update_time |
No |
Long |
Start date of the search range of the latest update time, in milliseconds Minimum: 0 Maximum: 2147483547 Default: 0 |
end_latest_update_time |
No |
Long |
End date of the search range of the latest update time, in milliseconds Minimum: 0 Maximum: 2147483547 Default: 0 |
start_latest_scan_time |
No |
Long |
Start date of the search range of the latest scan completion time, in milliseconds Minimum: 0 Maximum: 2147483547 Default: 0 |
end_latest_scan_time |
No |
Long |
End date of the search range of the latest scan completion time, in milliseconds Minimum: 0 Maximum: 2147483547 Default: 0 |
has_vul |
No |
Boolean |
Whether there are software vulnerabilities |
host_name |
No |
String |
Name of the server associated with the local image Minimum: 0 Maximum: 128 |
host_id |
No |
String |
ID of the server associated with the local image Minimum: 0 Maximum: 128 |
host_ip |
No |
String |
IP address (public or private network) of the server associated with the local image Minimum: 0 Maximum: 128 |
container_id |
No |
String |
ID of the container associated with the local image Minimum: 0 Maximum: 128 |
container_name |
No |
String |
Name of the container associated with the local image Minimum: 0 Maximum: 128 |
pod_id |
No |
String |
ID of the pod associated with the local image Minimum: 0 Maximum: 128 |
pod_name |
No |
String |
Name of the pod associated with the local image Minimum: 0 Maximum: 128 |
app_name |
No |
String |
Name of the software associated with the local image Minimum: 0 Maximum: 128 |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
x-auth-token |
Yes |
String |
User token. Minimum: 1 Maximum: 32768 |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
total_num |
Integer |
Total number of local images Minimum: 0 Maximum: 2147483547 |
data_list |
Array of ImageLocalInfo objects |
Local image data list Array Length: 1 - 100000 |
Parameter |
Type |
Description |
---|---|---|
image_name |
String |
Image name Minimum: 0 Maximum: 256 |
image_id |
String |
Image ID Minimum: 0 Maximum: 64 |
image_digest |
String |
Image digest Minimum: 0 Maximum: 128 |
image_version |
String |
Image version Minimum: 0 Maximum: 256 |
local_image_type |
String |
Local image type Minimum: 0 Maximum: 256 |
scan_status |
String |
Scan status. Its value can be:
Minimum: 0 Maximum: 256 |
image_size |
Long |
Image size, in bytes Minimum: 0 Maximum: 9223372036854775807 |
latest_update_time |
Long |
Last update time of the image version, in milliseconds Minimum: 0 Maximum: 4070880000000 |
latest_scan_time |
Long |
Latest scan time, in milliseconds Minimum: 0 Maximum: 4070880000000 |
vul_num |
Long |
Number of vulnerabilities Minimum: 0 Maximum: 9223372036854775807 |
unsafe_setting_num |
Long |
Number of settings that failed the baseline check Minimum: 0 Maximum: 9223372036854775807 |
malicious_file_num |
Long |
Number of malicious files Minimum: 0 Maximum: 9223372036854775807 |
host_num |
Long |
Number of associated servers Minimum: 0 Maximum: 9223372036854775807 |
container_num |
Long |
Number of associated containers Minimum: 0 Maximum: 9223372036854775807 |
component_num |
Long |
Number of associated components Minimum: 0 Maximum: 9223372036854775807 |
scan_failed_desc |
String |
Cause of the scanning failure. The options are as follows:
Minimum: 0 Maximum: 64 |
severity_level |
String |
Risk level of an image. It is displayed after an image scan is complete. Its value can be:
Minimum: 0 Maximum: 256 |
host_name |
String |
Host name Minimum: 0 Maximum: 128 |
host_id |
String |
Host ID Minimum: 1 Maximum: 128 |
agent_id |
String |
Agent ID Minimum: 1 Maximum: 128 |
Example Requests
Query the first 10 records in the local image list.
GET https://{endpoint}/v5/{project_id}/image/local-repositories?offset=0&limit=10
Example Responses
Status code: 200
successful response
{ "data_list" : [ { "image_id" : "f757deea-781e-45ec-90ec-f199249890df", "image_name" : "webshell-ljx", "image_version" : "v1", "image_digest" : "sha256:ce0b5d91b072730d0bc9518f11efd07eb7fdb9f43251e11a96cab5b1918b7044", "local_image_type" : "swr_image", "scan_status" : "success", "image_size" : 215304488, "latest_update_time" : 1697509433000, "latest_scan_time" : 1709973506292, "host_num" : 0, "container_num" : 5, "component_num" : 146, "vul_num" : 77, "host_name" : "myhost", "host_id" : "9ad79426-992c-4be4-a2d1-dfd3a75b7c14", "agent_id" : "1c1d073c5fc403eb0d9c3088bc49da4e015586fd4864513a2fd81afedce282d4", "severity_level" : "High" } ], "total_num" : 1 }
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 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.hss.v5.region.HssRegion; import com.huaweicloud.sdk.hss.v5.*; import com.huaweicloud.sdk.hss.v5.model.*; public class ListImageLocalSolution { 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"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); HssClient client = HssClient.newBuilder() .withCredential(auth) .withRegion(HssRegion.valueOf("<YOUR REGION>")) .build(); ListImageLocalRequest request = new ListImageLocalRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); request.withImageName("<image_name>"); request.withImageVersion("<image_version>"); request.withOffset(<offset>); request.withLimit(<limit>); request.withScanStatus("<scan_status>"); request.withLocalImageType("<local_image_type>"); request.withImageSize(<image_size>L); request.withStartLatestUpdateTime(<start_latest_update_time>L); request.withEndLatestUpdateTime(<end_latest_update_time>L); request.withStartLatestScanTime(<start_latest_scan_time>L); request.withEndLatestScanTime(<end_latest_scan_time>L); request.withHasVul(<has_vul>); request.withHostName("<host_name>"); request.withHostId("<host_id>"); request.withHostIp("<host_ip>"); request.withContainerId("<container_id>"); request.withContainerName("<container_name>"); request.withPodId("<pod_id>"); request.withPodName("<pod_name>"); request.withAppName("<app_name>"); try { ListImageLocalResponse response = client.listImageLocal(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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkhss.v5.region.hss_region import HssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkhss.v5 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"] credentials = BasicCredentials(ak, sk) client = HssClient.new_builder() \ .with_credentials(credentials) \ .with_region(HssRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListImageLocalRequest() request.enterprise_project_id = "<enterprise_project_id>" request.image_name = "<image_name>" request.image_version = "<image_version>" request.offset = <offset> request.limit = <limit> request.scan_status = "<scan_status>" request.local_image_type = "<local_image_type>" request.image_size = <image_size> request.start_latest_update_time = <start_latest_update_time> request.end_latest_update_time = <end_latest_update_time> request.start_latest_scan_time = <start_latest_scan_time> request.end_latest_scan_time = <end_latest_scan_time> request.has_vul = <HasVul> request.host_name = "<host_name>" request.host_id = "<host_id>" request.host_ip = "<host_ip>" request.container_id = "<container_id>" request.container_name = "<container_name>" request.pod_id = "<pod_id>" request.pod_name = "<pod_name>" request.app_name = "<app_name>" response = client.list_image_local(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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/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") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := hss.NewHssClient( hss.HssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListImageLocalRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest imageNameRequest:= "<image_name>" request.ImageName = &imageNameRequest imageVersionRequest:= "<image_version>" request.ImageVersion = &imageVersionRequest offsetRequest:= int32(<offset>) request.Offset = &offsetRequest limitRequest:= int32(<limit>) request.Limit = &limitRequest scanStatusRequest:= "<scan_status>" request.ScanStatus = &scanStatusRequest localImageTypeRequest:= "<local_image_type>" request.LocalImageType = &localImageTypeRequest imageSizeRequest:= int64(<image_size>) request.ImageSize = &imageSizeRequest startLatestUpdateTimeRequest:= int64(<start_latest_update_time>) request.StartLatestUpdateTime = &startLatestUpdateTimeRequest endLatestUpdateTimeRequest:= int64(<end_latest_update_time>) request.EndLatestUpdateTime = &endLatestUpdateTimeRequest startLatestScanTimeRequest:= int64(<start_latest_scan_time>) request.StartLatestScanTime = &startLatestScanTimeRequest endLatestScanTimeRequest:= int64(<end_latest_scan_time>) request.EndLatestScanTime = &endLatestScanTimeRequest hasVulRequest:= <has_vul> request.HasVul = &hasVulRequest hostNameRequest:= "<host_name>" request.HostName = &hostNameRequest hostIdRequest:= "<host_id>" request.HostId = &hostIdRequest hostIpRequest:= "<host_ip>" request.HostIp = &hostIpRequest containerIdRequest:= "<container_id>" request.ContainerId = &containerIdRequest containerNameRequest:= "<container_name>" request.ContainerName = &containerNameRequest podIdRequest:= "<pod_id>" request.PodId = &podIdRequest podNameRequest:= "<pod_name>" request.PodName = &podNameRequest appNameRequest:= "<app_name>" request.AppName = &appNameRequest response, err := client.ListImageLocal(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 |
successful response |
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