
# 获取策略实例列表 - ListPolicyInstances
#### 功能介绍
获取策略实例列表
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ucs/ucs_api_0026.html)。
#### URI
GET /v1/policyinstances
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 身份认证信息，调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值 |
   
#### 响应参数
**状态码：200**
表2响应Body参数 
| 参数         | 参数类型                                                                           | 描述     |
|:---|:---|:---|
| items      | Array of [UCSConstraint] objects | 策略实例列表 |
| kind       | String                                                                         | API类型  |
| apiVersion | String                                                                         | API版本  |
   
 表3UCSConstraint 
| 参数         | 参数类型                                                                             | 描述      |
|:---|:---|:---|
| kind       | String                                                                           | API类型   |
| apiVersion | String                                                                           | API版本   |
| metadata   | [ObjectMeta] object                   | 资源元数据   |
| spec       | [UCSConstraintSpec] object     | 约束的具体规范 |
| status     | [UCSConstraintStatus] object | 约束的当前状态 |
   
 表4UCSConstraintSpec 
| 参数                   | 参数类型                                                           | 描述                                   |
|:---|:---|:---|
| constraint           | [Constraint] object | Constraint对象                         |
| constraintTemplateID | String                                                         | 约束模板ID                               |
| domainID             | String                                                         | 用户的domainID                          |
| targetScope          | String                                                         | 策略实例下发范围，当前cluster和fleet二选一          |
| targetID             | String                                                         | 策略实例下发对象，当前为clusterID或clustergroupID |
   
 表5Constraint 
| 参数         | 参数类型                                                                   | 描述      |
|:---|:---|:---|
| kind       | String                                                                 | API类型   |
| apiVersion | String                                                                 | API版本   |
| metadata   | [ObjectMeta] object         | 资源元数据   |
| spec       | [ConstraintSpec] object | 约束的详细信息 |
   
 表6ObjectMeta 
| 参数                | 参数类型                                                                                     | 描述                                        |
|:---|:---|:---|
| uid               | String                                                                                   | 资源ID                                      |
| name              | String                                                                                   | 资源名称                                      |
| generateName      | String                                                                                   | 当未提供name时，服务器使用的前缀来生成唯一名称                 |
| namespace         | String                                                                                   | 命名空间                                      |
| labels            | Map\<String,String\>                                                                     | 标签                                        |
| annotations       | Map\<String,String\>                                                                     | 注解                                        |
| creationTimestamp | String                                                                                   | 创建时间                                      |
| updateTimestamp   | String                                                                                   | 更新时间                                      |
| resourceVersion   | String                                                                                   | 资源内部版本                                    |
| generation        | Integer                                                                                  | 资源期望状态的代数                                 |
| managedFields     | Array of [ManagedFieldsEntry] objects | 记录哪些字段由哪些工作流管理                            |
| ownerReferences   | Array of [OwnerReference] objects         | 用于定义对象间所有权关系，管理对象的依赖关系和垃圾回收机制，支持控制器对资源的管理 |
   
 表7ManagedFieldsEntry 
| 参数         | 参数类型   | 描述                                       |
|:---|:---|:---|
| manager    | String | 管理者的名称                                   |
| operation  | String | 记录导致此条目创建的操作类型，只能是 Apply 或 Update 两种操作类型 |
| apiVersion | String | 该管理者定义字段时所依据的资源 API 版本                   |
| time       | String | 此管理条目被创建或最后一次更新的时间戳                      |
| fieldsType | String | 固定为 "FieldsV1"，标记字段结构格式                  |
| fieldsV1   | Object | 用于存储实际被管理的字段信息                           |
   
 表8OwnerReference 
| 参数                 | 参数类型    | 描述                                                                |
|:---|:---|:---|
| apiVersion         | String  | 标识引用对象的API版本                                                      |
| kind               | String  | 引用对象的类型                                                           |
| name               | String  | 引用对象的名称                                                           |
| uid                | String  | 引用对象的uid                                                          |
| controller         | Boolean | 如果为true，表示该引用指向管理该资源的控制器                                          |
| blockOwnerDeletion | Boolean | 当为true且拥有者有名为"foregroundDeletion"的finalizer 时，会阻止拥有者被删除，直到这个引用被移除 |
   
 表9ConstraintSpec 
| 参数                | 参数类型                                                 | 描述                   |
|:---|:---|:---|
| enforcementAction | String                                               | 策略执行行为，当前支持warn和deny |
| match             | [Match] object | 匹配列表                 |
| parameters        | Object                                               | 可变参数                 |
   
 表10Match 
| 参数         | 参数类型                                                                           | 描述               |
|:---|:---|:---|
| kinds      | Array of [ResourceKinds] objects | 生效类型，当前预置，填写不会生效 |
| namespaces | Array of strings                                                               | 生效的命名空间          |
   
 表11ResourceKinds 
| 参数        | 参数类型             | 描述        |
|:---|:---|:---|
| apiGroups | Array of strings | 资源所属的API组 |
| kinds     | Array of strings | 资源类型      |
   
 表12UCSConstraintStatus 
| 参数         | 参数类型                                                                                     | 描述 |
|:---|:---|:---|
| violations | Array of [UCSStatusViolation] objects | -  |
   
 表13UCSStatusViolation 
| 参数                | 参数类型                                                                               | 描述        |
|:---|:---|:---|
| clusterID         | String                                                                             | 进行审计的集群ID |
| auditTimestamp    | String                                                                             | 审计时间      |
| clusterViolations | Array of [StatusViolation] objects | 违规状态列表    |
| clusterEvents     | Array of [StatusEvent] objects         | 拦截事件列表    |
| warnEvents        | Array of [StatusEvent] objects         | 告警事件列表    |
   
 表14StatusViolation 
| 参数                | 参数类型   | 描述         |
|:---|:---|:---|
| kind              | String | 违规资源类型     |
| name              | String | 违规资源名称     |
| namespace         | String | 违规资源所在命名空间 |
| message           | String | 详细违规信息     |
| enforcementAction | String | 审计行为       |
   
 表15StatusEvent 
| 参数                | 参数类型   | 描述                 |
|:---|:---|:---|
| firstTimestamp    | String | 拦截事件首次发生时间         |
| resourceKind      | String | 拦截事件资源类型           |
| resourceName      | String | 拦截事件资源名称           |
| resourceNamespace | String | 拦截事件资源命名空间，如果没有则为空 |
| message           | String | 拦截事件详细信息           |
   
**状态码：400**
表16响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：500**
表17响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
#### 请求示例
无
#### 响应示例
**状态码：200**
策略实例列表
```
{
  "items" : [ {
    "kind" : "K8sPSPVolumeTypes",
    "apiVersion" : "constraints.gatekeeper.sh/v1beta1",
    "metadata" : {
      "name" : "k8spspvolumetypes-lmjw9v",
      "uid" : "c38ecd83-b34d-11ee-a9a6-0255ac10004d",
      "creationTimestamp" : "2024-01-15 02:28:26.986054 +0000 UTC",
      "updateTimestamp" : "2024-01-15 02:28:26.986054 +0000 UTC"
    },
    "spec" : {
      "constraint" : {
        "kind" : "K8sPSPVolumeTypes",
        "apiVersion" : "constraints.gatekeeper.sh/v1beta1",
        "metadata" : {
          "name" : "k8spspvolumetypes-lmjw9v"
        },
        "spec" : {
          "enforcementAction" : "deny",
          "match" : {
            "kinds" : [ {
              "kinds" : [ "Pod" ]
            } ],
            "namespaces" : [ "default" ]
          },
          "parameters" : {
            "volumes" : [ "22" ]
          }
        }
      },
      "domainID" : "05495693d180d3c90f9ec0171879f760",
      "targetID" : "9c819dca-9a81-11ee-b1ab-0255ac100040",
      "targetScope" : "fleet",
      "constraintTemplateID" : "26b13a89-cefa-11ed-9f2c-0255ac10003c"
    },
    "status" : { }
  } ]
}
```
#### 状态码
| 状态码 | 描述                |
|:---|:---|
| 200 | 策略实例列表            |
| 400 | 客户端请求错误，服务器无法执行请求 |
| 500 | 服务器内部错误           |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ucs/ErrorCode.html)。
