
# 列举私有provider
#### 功能介绍
列举私有provider（ListPrivateProviders）
列举当前局点下用户所有的私有provider。
- 可以使用sort_key和sort_dir两个关键字对返回结果按创建时间（create_time）进行排序。给予的sort_key和sort_dir数量须一致，否则返回400。如果未给予sort_key和sort_dir，则默认按照创建时间降序排序。
  
- 如果当前用户下没有任何私有provider，则返回空list。
  
- 如果需要某个provider的所有版本信息，可以调用ListPrivateProviderVersions。
  
- 支持分页返回。如果响应中存在next_marker，则表示实际总输出比当前响应中包含的输出多。在对请求的后续调用中，在请求参数中使用此值，以获取输出的下一部分。您应该重复此操作，直到next_marker响应元素返回为null
  
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/AOS/doc?api=ListPrivateProviders)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET /v1/private-providers
表1Query参数 
| 参数       | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| sort_key | 否    | Array of strings | 排序字段，仅支持给予create_time 最小长度：**1**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| sort_dir | 否    | Array of strings | 指定升序还是降序 - *asc* - 升序   - *desc* - 降序    最小长度：**1** |
| marker   | 否    | String           | 分页标记。当一页无法返回所有结果，上一次的请求将返回next_marker以指引还有更多页数，用户可以将next_marker中的值放到此处以查询下一页的信息。此marker只能用于与上一请求指定的相同参数的请求。不指定时默认从第一页开始查询。 最小长度：**1** 最大长度：**512**                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| limit    | 否    | Integer          | 每页返回的最多结果数量 最小值：**10** 最大值：**1000** 缺省值：**1000**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
#### 请求参数
表2请求Header参数 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| Client-Request-Id | 是    | String | 用户指定的，对于此请求的唯一Id，用于定位某个请求，推荐使用UUID 最小长度：**36** 最大长度：**128** |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数        | 参数类型                                                                                                                                   | 描述                         |
|:---|:---|:---|
| providers | Array of [PrivateProviderSummary] objects | 私有provider的列表。默认以创建时间降序排序。 |
| page_info | [PageInfo] object                                       | 分页信息                       |
   
 表4PrivateProviderSummary 
| 参数                   | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| provider_id          | String | 私有provider（private-provider）的唯一Id。 此Id由资源编排服务在生成provider的时候生成，为UUID。 由于私有provider名仅仅在同一时间下唯一，即用户允许先生成一个叫HelloWorld的私有provider，删除，再重新创建一个同名私有provider。 对于团队并行开发，用户可能希望确保，当前我操作的私有provider就是我以为的那个，而不是其他队友删除后创建的同名私有provider。因此，使用Id就可以做到强匹配。 资源编排服务保证每次创建的私有provider所对应的Id都不相同，更新不会影响Id。如果给予的provider_id和当前provider的Id不一致，则返回400 最小长度：**36** 最大长度：**36** |
| provider_name        | String | 私有provider（private-provider）的名称。此名字在domain_id+region下应唯一，可以使用小写英文、数字、中划线。仅支持以小写英文、数字开头结尾。 按照HCL最佳实践，该名称推荐为在模板中定义的provider的本地名称（local_name）。 创建私有Provider（CreatePrivateProvider）API 还会以 "huawei.com/private-provider"为固定前缀，并以"huawei.com/private-provider/{provider_name}"的形式返回provider_source字段。关于provider_name和provider_source字段在模板中的使用细节，详见创建私有Provider的API描述。 最小长度：**1** 最大长度：**64**                                                                                                                           |
| provider_description | String | 私有provider（private-provider）的描述。可用于客户识别被管理的私有provider。 最小长度：**0** 最大长度：**1024**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| provider_source      | String | 用户使用私有provider，在Terraform模板中定义required_providers信息时，需要指明的source参数。 该参数按照"huawei.com/private-provider/{provider_name}"的形式拼接。关于provider_name和provider_source字段在模板中的使用细节，详见创建私有Provider的API描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| provider_agency_urn  | String | 自定义provider所绑定的IAM委托URN，provider_agency_name和provider_agency_urn最多只能提供一个。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| provider_agency_name | String | 自定义provider所绑定的IAM委托名称，provider_agency_name和provider_agency_urn最多只能提供一个。 最小长度：**0** 最大长度：**64**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| create_time          | String | 私有provider（private-provider）的生成时间，格式为YYYY-MM-DDTHH:mm:ss.SSSZ，精确到毫秒，UTC时区，即，如1970-01-01T00:00:00.000Z。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| update_time          | String | 私有provider（private-provider）的更新时间，格式为YYYY-MM-DDTHH:mm:ss.SSSZ，精确到毫秒，UTC时区，即，如1970-01-01T00:00:00.000Z。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表5PageInfo 
| 参数              | 参数类型    | 描述                                                                                                    |
|:---|:---|:---|
| next_marker     | String  | 向后分页标识符。如果存在，则表示实际总输出比当前响应中包含的输出多。在对请求的后续调用中，在请求参数中使用此值，以获取输出的下一部分。您应该重复此操作，直到next_marker响应元素返回为null。 |
| previous_marker | String  | 向前分页标识符。                                                                                              |
| current_count   | Integer | 本页显示的条目数量。                                                                                            |
   
**状态码：400**
表6响应Body参数 
| 参数                            | 参数类型                                                                                                   | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                 | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                 | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                 | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表7Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：401**
表8响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表9Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：403**
表10响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表11Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：429**
表12响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表13Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
**状态码：500**
表14响应Body参数 
| 参数                            | 参数类型                                                                                                     | 描述                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                                   | 响应码 最小长度：**11** 最大长度：**11** |
| error_msg                     | String                                                                                                   | 响应消息                                                                                                                                                                                  |
| encoded_authorization_message | String                                                                                                   | 包含有关未经授权请求的信息。                                                                                                                                                                        |
| details                       | Array of [Detail] objects | 权限拒绝时服务返回的详细错误信息。                                                                                                                                                                     |
   
 表15Detail 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 响应码  |
| error_msg  | String | 响应消息 |
   
#### 请求示例
- 获取当前局点下用户所有的私有provider，以创建时间降序排序
  ```
  GET https://{endpoint}/v1/private-providers
  ```
  
- 获取当前局点下用户所有的私有provider，以创建时间升序排序
  ```
  GET https://{endpoint}/v1/private-providers?sort_key=create_time&sort_dir=asc
  ```
  
 
#### 响应示例
**状态码：200**
列举私有provider成功
```
{
  "providers" : [ {
    "provider_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3",
    "provider_name" : "my-hello-world-provider-name-1",
    "provider_description" : "my first hello world private provider",
    "provider_source" : "huawei.com/private-provider/my-hello-world-provider-name",
    "create_time" : "2024-01-01T00:00:00.000Z",
    "update_time" : "2024-01-01T00:00:00.000Z"
  }, {
    "provider_id" : "337cb9a1-6293-4f80-a903-66cd195283f7",
    "provider_name" : "my-hello-world-provider-name-2",
    "provider_description" : "my first hello world private provider",
    "provider_source" : "huawei.com/private-provider/my-hello-world-provider-name",
    "create_time" : "2023-01-01T00:00:00.000Z",
    "update_time" : "2023-01-01T00:00:00.000Z"
  } ],
  "page_info" : {
    "current_count" : 2,
    "next_marker" : null,
    "previous_marker" : "zxc1oHc08HcCmypYGTsOoRcvoHUvHRUAW5NOSnc1oHc08HcCPZrwP5NOeTlRiukJgtGxeujJeuGwGIihaIUCmypYGTsOtqvKPr2xmH8fPqpGWyQ0axGwGZp9aqvx8pQ7m5FvGTsJiKk7gtNFiuaxetdRCks="
  }
}
```
#### 状态码
| 状态码 | 描述             |
|:---|:---|
| 200 | 列举私有provider成功 |
| 400 | 用户请求非法         |
| 401 | 用户身份认证失败       |
| 403 | 用户无权限调用此API    |
| 429 | 请求数量过多         |
| 500 | 服务器内部错误        |
   
