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 }