Updated on 2026-09-08 GMT+08:00

Listing Add-on Instances

Function

This API is used to list all add-on instances in the cluster.

Calling Method

For details, see Calling APIs.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    cce:addonInstance:list

    List

    cluster *

    -

    -

    -

    -

    • cce:ClusterId

    • g:EnterpriseProjectId

URI

GET /api/v3/addons

Table 1 Query Parameters

Parameter

Mandatory

Type

Description

cluster_id

Yes

String

Definition:

Cluster ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI.

Constraints:

N/A

Range:

N/A

Default Value:

N/A

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Definition:

Type (or format) of the request body. The default value is application/json. Other values of this field will be provided for specific APIs, if any.

Constraints:

GET requests are not validated.

Range:

N/A

Default Value:

N/A

X-Auth-Token

Yes

String

Details:

Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this parameter is mandatory and must be set to a user token. For details, see Obtaining a User Token.

Constraints:

None

Options:

N/A

Default value:

N/A

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

kind

String

Definition:

API type. The value is fixed at Addon and cannot be changed.

Range:

  • Addon

apiVersion

String

Definition:

API version. The value is fixed at v3 and cannot be changed.

Range:

  • v3

items

Array of AddonInstance objects

Definition:

Add-on pod list

Range:

N/A

Table 4 AddonInstance

Parameter

Type

Description

kind

String

Definition:

API type. The value is fixed at Addon and cannot be changed.

Range:

  • Addon

apiVersion

String

Definition:

API version. The value is fixed at v3 and cannot be changed.

Range:

  • v3

metadata

AddonMetadata object

Definition:

Basic information. Metadata is a collection of attributes.

Range:

N/A

spec

InstanceSpec object

Definition:

Details about an add-on pod

Range:

N/A

status

AddonInstanceStatus object

Definition:

Add-on pod status

Range:

N/A

Table 5 AddonMetadata

Parameter

Type

Description

uid

String

Definition:

Unique ID of an add-on pod, which is automatically generated by the system after the add-on pod is created

Range:

N/A

name

String

Definition:

Add-on name

Range:

N/A

alias

String

Definition:

Add-on alias

Range:

N/A

labels

Map<String,String>

Definition:

Add-on labels in key-value pairs. This is a reserved field. A specified value is invalid.

Range:

N/A

annotations

Map<String,String>

Definition:

Add-on annotations in the format of key-value pairs

Range:

  • The value is fixed at {"addon.install/type":"install"} during installation.

  • The value is fixed at {"addon.upgrade/type":"upgrade"} during an upgrade.

updateTimestamp

String

Definition:

Update time

Range:

N/A

creationTimestamp

String

Definition:

Creation time, which is automatically generated after creation. A specified value does not take effect.

Range:

N/A

Table 6 InstanceSpec

Parameter

Type

Description

clusterID

String

Definition:

Cluster ID

Range:

N/A

version

String

Definition:

Add-on template version, for example, 1.0.0

Range:

N/A

addonTemplateName

String

Definition:

Add-on template name, for example, coredns

Range:

N/A

addonTemplateType

String

Definition:

Add-on template type

Range:

  • helm: Helm packages

  • static: static templates

addonTemplateLogo

String

Definition:

URL for obtaining an add-on template logo

Range:

N/A

addonTemplateLabels

Array of strings

Definition:

Add-on template type

Range:

N/A

description

String

Definition:

Add-on template description

Range:

N/A

values

Map<String,Object>

Definition:

Add-on template installation parameters (varying depending on the add-on). Configure the parameters based on the add-on template.

Range:

N/A

Table 7 AddonInstanceStatus

Parameter

Type

Description

status

String

Definition:

Add-on pod status

Range:

  • running: All of the add-on pods are running. This specifies that the add-on runs properly.

  • abnormal: The add-on is abnormal and cannot be used. You can click the add-on name to view exceptions.

  • installing: The add-on is being installed.

  • installFailed: The add-on installation failed. You need to uninstall the add-on and install it again.

  • upgrading: The add-on is being upgraded.

  • upgradeFailed: The add-on upgrade failed. You can retry the upgrade or uninstall the add-on and install it again.

  • deleting: The add-on is being deleted.

  • deleteFailed: The add-on failed to be deleted. You can retry the uninstallation.

  • deleteSuccess: The add-on was deleted.

  • available: Only some instances of the add-on are running. This specifies that some functions of the add-on are available.

  • rollbacking: The add-on is being rolled back.

  • rollbackFailed: The add-on failed to be rolled back. You can retry the rollback or uninstall and reinstall the add-on.

  • unknown: The add-on template instance does not exist.

Reason

String

Definition:

Cause of an add-on installation failure

Range:

N/A

message

String

Definition:

Installation error details

Range:

N/A

targetVersions

Array of strings

Definition:

Cluster versions that support the add-on upgrade

Range:

N/A

currentVersion

Versions object

Definition:

Information about the current add-on version

Range:

N/A

isRollbackable

Boolean

Definition:

Whether the add-on version can be rolled back to the source version

Range:

  • true: Rollback is supported.

  • false: Rollback is not supported.

previousVersion

String

Definition:

The add-on version before an upgrade or rollback

Range:

N/A

Table 8 Versions

Parameter

Type

Description

version

String

Definition:

Add-on version

Range:

N/A

input

Object

Definition:

Add-on installation parameters

Range:

N/A

stable

Boolean

Definition:

Whether the version is stable

Range:

  • true: The version is stable.

  • false: The version is unstable.

translate

Object

Definition:

Translation information used by the GUI

Range:

N/A

supportVersions

Array of SupportVersions objects

Definition:

Supported cluster versions

Range:

N/A

creationTimestamp

String

Definition:

Creation time

Range:

N/A

updateTimestamp

String

Definition:

Update time

Range:

N/A

Table 9 SupportVersions

Parameter

Type

Description

clusterType

String

Definition:

Supported cluster type

VirtualMachine is supported.

Range:

  • VirtualMachine: CCE cluster, where master nodes are x86 servers

  • ARM64: Kunpeng cluster, where master nodes are Kunpeng servers

clusterVersion

Array of strings

Definition:

Supported cluster version (regular expression)

Range:

N/A

category

Array of strings

Definition:

The cluster type to which the configurations apply

Range:

  • CCE: CCE standard clusters

  • Turbo: CCE Turbo clusters

  • Autopilot: CCE Autopilot clusters

Example Requests

None

Example Responses

Status code: 200

The add-on pod list has been obtained.

{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "items" : [ {
    "kind" : "Addon",
    "apiVersion" : "v3",
    "metadata" : {
      "uid" : "8ca259cc-553b-11e9-926f-0255ac101a31",
      "name" : "storage-driver",
      "alias" : "storage-driver",
      "creationTimestamp" : "2019-04-02T11:36:26Z",
      "updateTimestamp" : "2019-04-02T11:36:26Z"
    },
    "spec" : {
      "clusterID" : "0c0e4a63-5539-11e9-95f7-0255ac10177e",
      "version" : "1.0.10",
      "addonTemplateName" : "storage-driver",
      "addonTemplateType" : "helm",
      "addonTemplateLogo" : "https://192.149.48.66/cce-addon-southchina-aw1hz2u/storage-driverlogo.svg",
      "addonTemplateLabels" : [ "Storage" ],
      "description" : "A kubernetes FlexVolume Driver used to support cloud storage",
      "values" : {
        "basic" : {
          "addon_version" : "1.0.10",
          "euleros_version" : "2.2.5",
          "obs_url" : "",
          "platform" : "linux-amd64",
          "swr_addr" : "100.125.6.246:20202",
          "swr_user" : "hwofficial"
        },
        "flavor" : {
          "replicas" : 1
        },
        "parameters" : { }
      }
    },
    "status" : {
      "status" : "running",
      "Reason" : "Install complete",
      "message" : "",
      "targetVersions" : null,
      "currentVersion" : {
        "version" : "1.0.10",
        "input" : {
          "basic" : {
            "euleros_version" : "2.2.5",
            "obs_url" : "",
            "swr_addr" : "100.125.6.246:20202",
            "swr_user" : "hwofficial"
          },
          "parameters" : { }
        },
        "stable" : true,
        "translate" : {
          "en_US" : {
            "addon" : {
              "changeLog" : "The plug-in is upgraded to enhance the storage plug-in function.",
              "description" : "A kubernetes FlexVolume Driver used to support cloud storage"
            }
          },
          "zh_CN" : {
            "addon" : {
              "changeLog" : "",
              "description" : ""
            }
          }
        },
        "supportVersions" : null,
        "creationTimestamp" : "2019-03-29T13:45:37Z",
        "updateTimestamp" : "2019-03-29T13:45:37Z"
      }
    }
  } ]
}

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
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.cce.v3.region.CceRegion;
import com.huaweicloud.sdk.cce.v3.*;
import com.huaweicloud.sdk.cce.v3.model.*;


public class ListAddonInstancesSolution {

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

        CceClient client = CceClient.newBuilder()
                .withCredential(auth)
                .withRegion(CceRegion.valueOf("<YOUR REGION>"))
                .build();
        ListAddonInstancesRequest request = new ListAddonInstancesRequest();
        try {
            ListAddonInstancesResponse response = client.listAddonInstances(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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcce.v3.region.cce_region import CceRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcce.v3 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 = CceClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CceRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListAddonInstancesRequest()
        response = client.list_addon_instances(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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/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, err := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        SafeBuild()

    if err != nil {
        fmt.Println(err)
        return
    }

    hcClient, err := cce.CceClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()


    if err != nil {
        fmt.Println(err)
        return
    }

    client := cce.NewCceClient(hcClient)

    request := &model.ListAddonInstancesRequest{}
	response, err := client.ListAddonInstances(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 add-on pod list has been obtained.

Error Codes

See Error Codes.