
# 查询Prometheus实例 - ListPromInstance
#### 功能介绍
该接口用于查询Prometheus实例。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-aom/aom_04_0057.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-aom/aom_04_0031.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项             | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名             | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | aom:metric:list | List | -           | -   | aom:metric:get | -      |
     
  
 
#### URI
GET /v1/{project_id}/aom/prometheus
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID，可以从控制台获取，也可以从调用API处获取。获取方式请参见：[获取项目ID](https://support.huaweicloud.com/api-aom/aom_04_0024.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数                 | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| prom_id            | 否    | String | **参数解释：** Prometheus实例id(prom_id与prom_type同时存在时，仅prom_id生效)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                           |
| prom_type          | 否    | String | **参数解释**： Prometheus实例类型（暂时不支持VPC、KUBERNETES）。 **约束限制：** 不涉及。 **取值范围**： ECS：Prometheus for ECS。 VPC：Prometheus for VPC。 CCE：Prometheus for CCE。 REMOTE_WRITE：Prometheus 通用实例。 KUBERNETES：Prometheus for KUBERNETES。 CLOUD_SERVICE：Prometheus for 云服务。 ACROSS_ACCOUNT：Prometheus for 多账号聚合实例。 **默认取值：** 不涉及。 |
| cce_cluster_enable | 否    | String | **参数解释：** cce集群开关。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| prom_status        | 否    | String | **参数解释：** Prometheus实例状态。 **约束限制：** 不涉及。 **取值范围：** - DELETED：已删除   - NORMAL：正常   - ALL：所有状态    **默认取值：** 不涉及。                             |
   
#### 请求参数
表3请求Header参数 
| 参数                    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token          | 是    | String | **参数解释：** 从IAM服务获取的用户Token。获取方式请参见：[获取Token](https://support.huaweicloud.com/api-aom/aom_04_0059.html)。 **约束限制：** 不涉及。 **取值范围：** 最小长度：1 最大长度：40960 **默认取值：** 不涉及。                                                                                                                                                                                 |
| Content-Type          | 是    | String | **参数解释：** 消息体的类型（格式）。指定类型为"application/json"。 **约束限制：** 不涉及。 **取值范围：** 固定值。 **默认取值：** application/json                                                                                                                                                                                                                                                                                |
| Enterprise-Project-Id | 是    | String | **参数解释：** 企业项目id。 **约束限制：** 不涉及。 **取值范围：** - 查询单个企业项目下实例，填写企业项目id。   - 查询所有企业项目下实例，填写"all_granted_eps"。    **默认取值：** 不涉及。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数         | 参数类型                                                                                      | 描述                                                                                                                                                     |
|:---|:---|:---|
| prometheus | Array of [PromInstanceEpsModel] objects | **参数解释：** Prometheus实例名称列表。 **取值范围：** 不涉及。 |
   
 表5PromInstanceEpsModel 
| 参数                    | 参数类型                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| prom_name             | String                                                                                | **参数解释：** Prometheus实例名称 名称不能以下划线或中划线开头结尾，只含有中文、英文、数字、下划线、中划线、长度1-100。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| prom_id               | String                                                                                | **参数解释：** Prometheus实例id。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| prom_type             | String                                                                                | **参数解释：** Prometheus实例类型。 **取值范围：** - default：默认普罗实例   - ECS：Prometheus for ECS   - CCE：Prometheus for CCE   - REMOTE_WRITE：Prometheus 通用实例   - CLOUD_SERVICE：Prometheus for 云服务   - ACROSS_ACCOUNT：Prometheus for 多账号聚合实例 （暂不支持ACROSS_ACCOUNT类型）    |
| prom_version          | String                                                                                | **参数解释：** Prometheus实例版本号。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| prom_create_timestamp | Long                                                                                  | **参数解释：** Prometheus实例创建时间戳。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| prom_update_timestamp | Long                                                                                  | **参数解释：** Prometheus实例更新时间戳。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| prom_status           | String                                                                                | **参数解释：** Prometheus实例状态。 **取值范围：** - DELETED：已删除   - NORMAL：正常   - ALL：所有状态                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| enterprise_project_id | String                                                                                | **参数解释：** Prometheus实例所属的企业项目。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| project_id            | String                                                                                | **参数解释：** Prometheus实例所属projectId。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| is_deleted_tag        | Long                                                                                  | **参数解释：** 删除标记。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| deleted_time          | Long                                                                                  | 删除时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| prom_spec_config      | [PromConfigModel] object                 | Prometheus实例所属特定配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| cce_spec_config       | String                                                                                | Prometheus实例所属CCE特殊配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| prom_limits           | [PromLimits] object                           | Prometheus实例限制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| limits_update_time    | Long                                                                                  | 指标存储周期修改时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| enable_downsample     | Boolean                                                                               | 是否开启降采样，默认false不开启                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| downsample_start_time | Long                                                                                  | 降采样开启时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| application           | [ApplicationModel] object               | 应用详情。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| aggr_prometheus_info  | Array of [AggrPrometheusInfo] objects | 被聚合的账号和Prometheus实例列表，仅AGGR_REMOTE_READ类型涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| description           | String                                                                                | 描述信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| prom_tags             | Object                                                                                | Prometheus标签                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| agency_spec_config    | Object                                                                                | 指标转发配置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
 表6PromConfigModel 
| 参数                     | 参数类型   | 描述                                           |
|:---|:---|:---|
| remote_write_url       | String | Prometheus实例remote-write地址。                  |
| remote_read_url        | String | Prometheus实例remote-read地址。                   |
| prom_http_api_endpoint | String | Prometheus实例调用url。                           |
| dashboard_id           | String | Prometheus实例关联dashboard的dashboard id（目前未使用）。 |
| region_id              | String | Prometheus实例所属的region。                       |
   
 表7PromLimits 
| 参数                                | 参数类型   | 描述                          |
|:---|:---|:---|
| compactor_blocks_retention_period | String | 指标存储时长，只支持 15天，30天，60天 ，90天 |
   
 表8ApplicationModel 
| 参数       | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| app_id   | String | 应用id。                                                                                                                                                                                                                                                                                                                   |
| app_name | String | 应用名称。                                                                                                                                                                                                                                                                                                                   |
| app_type | String | **参数解释：** 应用来源。 **取值范围：** - apm：apm云服务    |
   
 表9AggrPrometheusInfo 
| 参数            | 参数类型             | 描述                |
|:---|:---|:---|
| project_id    | String           | 被聚合的账号的projectid。 |
| prometheusIds | Array of strings | 被聚合的账号下的普罗ID列表。   |
| id            | String           | 被聚合的账号id。         |
| name          | String           | 被聚合的账号名称。         |
   
#### 请求示例
- 查询Prometheus实例。
  ```
  https://{Endpoint}/v1/{project_id}/aom/prometheus
  ```
  
- 查询prom_id为08\*\*\*\*2a-8**b-4** 5-b**1-d1**\*\*\*\*\*\*79的Prometheus实例。
  ```
  https://{Endpoint}/v1/{project_id}/aom/prometheus?prom_id=08****2a-8**b-4**5-b**1-d1********79
  ```
  
 
#### 响应示例
**状态码：200**
OK 请求响应成功。
```
{
  "prometheus" : [ {
    "deleted_time" : 0,
    "enterprise_project_id" : "0",
    "project_id" : "2a4***56cc***7f837***891***c1cf",
    "prom_create_timestamp" : 1691718171483,
    "prom_id" : "08****2a-8**b-4**5-b**1-d1********79",
    "prom_name" : "aom_prometheus",
    "prom_spec_config" : {
      "prom_http_api_endpoint" : "aom-internal.cn-****-*.***.com:***/v1/2a4***56cc***7f837***891***c1cf/08****2a-8**b-4**5-b**1-d1********79",
      "region_id" : "cn-****-*",
      "remote_read_url" : "aom-internal.cn-****-*.***.com:***/v1/2a4***56cc***7f837***891***c1cf/08****2a-8**b-4**5-b**1-d1********79/api/v1/read",
      "remote_write_url" : "aom-internal.cn-****-*.***.com:***/v1/2a4***56cc***7f837***891***c1cf/08****2a-8**b-4**5-b**1-d1********79/push"
    },
    "prom_type" : "CCE",
    "prom_update_timestamp" : 1691718171483
  } ]
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  ```
  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.aom.v2.region.AomRegion;
  import com.huaweicloud.sdk.aom.v2.*;
  import com.huaweicloud.sdk.aom.v2.model.*;
  public class ListPromInstanceSolution {
      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);
          AomClient client = AomClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(AomRegion.valueOf("<YOUR REGION>"))
                  .build();
          ListPromInstanceRequest request = new ListPromInstanceRequest();
          try {
              ListPromInstanceResponse response = client.listPromInstance(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());
          }
      }
  }
  ```
- [Python]
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkaom.v2.region.aom_region import AomRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkaom.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 = AomClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(AomRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ListPromInstanceRequest()
          response = client.list_prom_instance(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      aom "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v2"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v2/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/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, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := aom.AomClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := aom.NewAomClient(hcClient)
      request := &model.ListPromInstanceRequest{}
  response, err := client.ListPromInstance(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/AOM/sdk?api=ListPromInstance)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述         |
|:---|:---|
| 200 | OK 请求响应成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-aom/ErrorCode.html)。
