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

     1  // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY!
     2  
     3  // 列举 IAM 子账号密钥
     4  package get_user_keypairs
     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 GetIamUserKeyPairsData // IAM 子账号密钥信息
    24  }
    25  
    26  // 返回的 IAM 子账号密钥
    27  type GetIamUserKeyPair struct {
    28  	Id        string // 记录 ID
    29  	AccessKey string // IAM 子账号 Access Key
    30  	SecretKey string // IAM 子账号 Secret Key
    31  	UserId    string // 关联用户的记录 ID
    32  	CreatedAt string // 密钥创建时间
    33  	Enabled   bool   // 密钥是否启用
    34  }
    35  type jsonGetIamUserKeyPair struct {
    36  	Id        string `json:"id"`         // 记录 ID
    37  	AccessKey string `json:"access_key"` // IAM 子账号 Access Key
    38  	SecretKey string `json:"secret_key"` // IAM 子账号 Secret Key
    39  	UserId    string `json:"user_id"`    // 关联用户的记录 ID
    40  	CreatedAt string `json:"created_at"` // 密钥创建时间
    41  	Enabled   bool   `json:"enabled"`    // 密钥是否启用
    42  }
    43  
    44  func (j *GetIamUserKeyPair) MarshalJSON() ([]byte, error) {
    45  	if err := j.validate(); err != nil {
    46  		return nil, err
    47  	}
    48  	return json.Marshal(&jsonGetIamUserKeyPair{Id: j.Id, AccessKey: j.AccessKey, SecretKey: j.SecretKey, UserId: j.UserId, CreatedAt: j.CreatedAt, Enabled: j.Enabled})
    49  }
    50  
    51  func (j *GetIamUserKeyPair) UnmarshalJSON(data []byte) error {
    52  	var nj jsonGetIamUserKeyPair
    53  	if err := json.Unmarshal(data, &nj); err != nil {
    54  		return err
    55  	}
    56  	j.Id = nj.Id
    57  	j.AccessKey = nj.AccessKey
    58  	j.SecretKey = nj.SecretKey
    59  	j.UserId = nj.UserId
    60  	j.CreatedAt = nj.CreatedAt
    61  	j.Enabled = nj.Enabled
    62  	return nil
    63  }
    64  
    65  func (j *GetIamUserKeyPair) validate() error {
    66  	if j.Id == "" {
    67  		return errors.MissingRequiredFieldError{Name: "Id"}
    68  	}
    69  	if j.AccessKey == "" {
    70  		return errors.MissingRequiredFieldError{Name: "AccessKey"}
    71  	}
    72  	if j.SecretKey == "" {
    73  		return errors.MissingRequiredFieldError{Name: "SecretKey"}
    74  	}
    75  	if j.UserId == "" {
    76  		return errors.MissingRequiredFieldError{Name: "UserId"}
    77  	}
    78  	if j.CreatedAt == "" {
    79  		return errors.MissingRequiredFieldError{Name: "CreatedAt"}
    80  	}
    81  	return nil
    82  }
    83  
    84  // 返回的 IAM 子账号密钥列表
    85  type GetIamUserKeyPairs = []GetIamUserKeyPair
    86  
    87  // IAM 子账号密钥信息
    88  type Data struct {
    89  	Count int64              // IAM 子账号密钥数量
    90  	List  GetIamUserKeyPairs // IAM 子账号密钥列表
    91  }
    92  
    93  // 返回的 IAM 子账号密钥列表信息
    94  type (
    95  	GetIamUserKeyPairsData = Data
    96  	jsonData               struct {
    97  		Count int64              `json:"count"` // IAM 子账号密钥数量
    98  		List  GetIamUserKeyPairs `json:"list"`  // IAM 子账号密钥列表
    99  	}
   100  )
   101  
   102  func (j *Data) MarshalJSON() ([]byte, error) {
   103  	if err := j.validate(); err != nil {
   104  		return nil, err
   105  	}
   106  	return json.Marshal(&jsonData{Count: j.Count, List: j.List})
   107  }
   108  
   109  func (j *Data) UnmarshalJSON(data []byte) error {
   110  	var nj jsonData
   111  	if err := json.Unmarshal(data, &nj); err != nil {
   112  		return err
   113  	}
   114  	j.Count = nj.Count
   115  	j.List = nj.List
   116  	return nil
   117  }
   118  
   119  func (j *Data) validate() error {
   120  	if j.Count == 0 {
   121  		return errors.MissingRequiredFieldError{Name: "Count"}
   122  	}
   123  	if len(j.List) == 0 {
   124  		return errors.MissingRequiredFieldError{Name: "List"}
   125  	}
   126  	for _, value := range j.List {
   127  		if err := value.validate(); err != nil {
   128  			return err
   129  		}
   130  	}
   131  	return nil
   132  }
   133  
   134  // 返回的 IAM 子账号密钥列表响应
   135  type (
   136  	GetIamUserKeyPairsResp = Response
   137  	jsonResponse           struct {
   138  		Data GetIamUserKeyPairsData `json:"data"` // IAM 子账号密钥信息
   139  	}
   140  )
   141  
   142  func (j *Response) MarshalJSON() ([]byte, error) {
   143  	if err := j.validate(); err != nil {
   144  		return nil, err
   145  	}
   146  	return json.Marshal(&jsonResponse{Data: j.Data})
   147  }
   148  
   149  func (j *Response) UnmarshalJSON(data []byte) error {
   150  	var nj jsonResponse
   151  	if err := json.Unmarshal(data, &nj); err != nil {
   152  		return err
   153  	}
   154  	j.Data = nj.Data
   155  	return nil
   156  }
   157  
   158  func (j *Response) validate() error {
   159  	if err := j.Data.validate(); err != nil {
   160  		return err
   161  	}
   162  	return nil
   163  }