github.com/qiniu/go-sdk/v7@v7.27.0/iam/apis/get_policy_groups/api.go (about)

     1  // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY!
     2  
     3  // 查询授权策略分配的用户分组列表
     4  package get_policy_groups
     5  
     6  import (
     7  	"encoding/json"
     8  
     9  	credentials "github.com/qiniu/go-sdk/v7/storagev2/credentials"
    10  	errors "github.com/qiniu/go-sdk/v7/storagev2/errors"
    11  )
    12  
    13  // 调用 API 所用的请求
    14  type Request struct {
    15  	Alias       string                          // 授权策略别名
    16  	Page        int64                           // 分页页号,从 1 开始,默认 1
    17  	PageSize    int64                           // 分页大小,默认 20,最大 2000
    18  	Credentials credentials.CredentialsProvider // 鉴权参数,用于生成鉴权凭证,如果为空,则使用 HTTPClientOptions 中的 CredentialsProvider
    19  }
    20  
    21  // 获取 API 所用的响应
    22  type Response struct {
    23  	Data GetPolicyGroupsData // 授权策略分配的用户分组信息
    24  }
    25  
    26  // 返回的授权策略分配的用户分组
    27  type GetPolicyGroup struct {
    28  	Id          string // 记录 ID
    29  	RootUid     int64  // 根用户 uid
    30  	Alias       string // 用户分组别名
    31  	Description string // 用户分组描述
    32  	Enabled     bool   // 用户分组是否启用
    33  	CreatedAt   string // 用户分组创建时间
    34  	UpdatedAt   string // 用户分组上次更新时间
    35  }
    36  type jsonGetPolicyGroup struct {
    37  	Id          string `json:"id"`          // 记录 ID
    38  	RootUid     int64  `json:"root_uid"`    // 根用户 uid
    39  	Alias       string `json:"alias"`       // 用户分组别名
    40  	Description string `json:"description"` // 用户分组描述
    41  	Enabled     bool   `json:"enabled"`     // 用户分组是否启用
    42  	CreatedAt   string `json:"created_at"`  // 用户分组创建时间
    43  	UpdatedAt   string `json:"updated_at"`  // 用户分组上次更新时间
    44  }
    45  
    46  func (j *GetPolicyGroup) MarshalJSON() ([]byte, error) {
    47  	if err := j.validate(); err != nil {
    48  		return nil, err
    49  	}
    50  	return json.Marshal(&jsonGetPolicyGroup{Id: j.Id, RootUid: j.RootUid, Alias: j.Alias, Description: j.Description, Enabled: j.Enabled, CreatedAt: j.CreatedAt, UpdatedAt: j.UpdatedAt})
    51  }
    52  
    53  func (j *GetPolicyGroup) UnmarshalJSON(data []byte) error {
    54  	var nj jsonGetPolicyGroup
    55  	if err := json.Unmarshal(data, &nj); err != nil {
    56  		return err
    57  	}
    58  	j.Id = nj.Id
    59  	j.RootUid = nj.RootUid
    60  	j.Alias = nj.Alias
    61  	j.Description = nj.Description
    62  	j.Enabled = nj.Enabled
    63  	j.CreatedAt = nj.CreatedAt
    64  	j.UpdatedAt = nj.UpdatedAt
    65  	return nil
    66  }
    67  
    68  func (j *GetPolicyGroup) validate() error {
    69  	if j.Id == "" {
    70  		return errors.MissingRequiredFieldError{Name: "Id"}
    71  	}
    72  	if j.RootUid == 0 {
    73  		return errors.MissingRequiredFieldError{Name: "RootUid"}
    74  	}
    75  	if j.Alias == "" {
    76  		return errors.MissingRequiredFieldError{Name: "Alias"}
    77  	}
    78  	if j.Description == "" {
    79  		return errors.MissingRequiredFieldError{Name: "Description"}
    80  	}
    81  	if j.CreatedAt == "" {
    82  		return errors.MissingRequiredFieldError{Name: "CreatedAt"}
    83  	}
    84  	if j.UpdatedAt == "" {
    85  		return errors.MissingRequiredFieldError{Name: "UpdatedAt"}
    86  	}
    87  	return nil
    88  }
    89  
    90  // 返回的授权策略分配的用户分组列表
    91  type GetPolicyGroups = []GetPolicyGroup
    92  
    93  // 授权策略分配的用户分组信息
    94  type Data struct {
    95  	Count int64           // 授权策略分配的用户分组数量
    96  	List  GetPolicyGroups // 授权策略分配的用户分组列表
    97  }
    98  
    99  // 返回的授权策略分配的用户分组列表信息
   100  type (
   101  	GetPolicyGroupsData = Data
   102  	jsonData            struct {
   103  		Count int64           `json:"count"` // 授权策略分配的用户分组数量
   104  		List  GetPolicyGroups `json:"list"`  // 授权策略分配的用户分组列表
   105  	}
   106  )
   107  
   108  func (j *Data) MarshalJSON() ([]byte, error) {
   109  	if err := j.validate(); err != nil {
   110  		return nil, err
   111  	}
   112  	return json.Marshal(&jsonData{Count: j.Count, List: j.List})
   113  }
   114  
   115  func (j *Data) UnmarshalJSON(data []byte) error {
   116  	var nj jsonData
   117  	if err := json.Unmarshal(data, &nj); err != nil {
   118  		return err
   119  	}
   120  	j.Count = nj.Count
   121  	j.List = nj.List
   122  	return nil
   123  }
   124  
   125  func (j *Data) validate() error {
   126  	if j.Count == 0 {
   127  		return errors.MissingRequiredFieldError{Name: "Count"}
   128  	}
   129  	if len(j.List) == 0 {
   130  		return errors.MissingRequiredFieldError{Name: "List"}
   131  	}
   132  	for _, value := range j.List {
   133  		if err := value.validate(); err != nil {
   134  			return err
   135  		}
   136  	}
   137  	return nil
   138  }
   139  
   140  // 返回的授权策略分配的用户分组列表响应
   141  type (
   142  	GetPolicyGroupsResp = Response
   143  	jsonResponse        struct {
   144  		Data GetPolicyGroupsData `json:"data"` // 授权策略分配的用户分组信息
   145  	}
   146  )
   147  
   148  func (j *Response) MarshalJSON() ([]byte, error) {
   149  	if err := j.validate(); err != nil {
   150  		return nil, err
   151  	}
   152  	return json.Marshal(&jsonResponse{Data: j.Data})
   153  }
   154  
   155  func (j *Response) UnmarshalJSON(data []byte) error {
   156  	var nj jsonResponse
   157  	if err := json.Unmarshal(data, &nj); err != nil {
   158  		return err
   159  	}
   160  	j.Data = nj.Data
   161  	return nil
   162  }
   163  
   164  func (j *Response) validate() error {
   165  	if err := j.Data.validate(); err != nil {
   166  		return err
   167  	}
   168  	return nil
   169  }