github.com/qiniu/go-sdk/v7@v7.27.0/iam/apis/get_user/api.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 // 获取 IAM 子账号 4 package get_user 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 Credentials credentials.CredentialsProvider // 鉴权参数,用于生成鉴权凭证,如果为空,则使用 HTTPClientOptions 中的 CredentialsProvider 17 } 18 19 // 获取 API 所用的响应 20 type Response struct { 21 Data GetIamUserData // IAM 子账号信息 22 } 23 24 // IAM 子账号信息 25 type Data struct { 26 Id string // 记录 ID 27 RootUid int64 // 根用户 uid 28 Iuid int64 // 子账号 uid 29 Alias string // 子账号别名 30 CreatedAt string // 子账号创建时间 31 UpdatedAt string // 子账号上次更新时间 32 LastLoginTime string // 子账号上次更新时间 33 Enabled bool // 子账号是否启用 34 } 35 36 // 返回的 IAM 子账号信息 37 type ( 38 GetIamUserData = Data 39 jsonData struct { 40 Id string `json:"id"` // 记录 ID 41 RootUid int64 `json:"root_uid"` // 根用户 uid 42 Iuid int64 `json:"iuid"` // 子账号 uid 43 Alias string `json:"alias"` // 子账号别名 44 CreatedAt string `json:"created_at"` // 子账号创建时间 45 UpdatedAt string `json:"updated_at"` // 子账号上次更新时间 46 LastLoginTime string `json:"last_login_time"` // 子账号上次更新时间 47 Enabled bool `json:"enabled"` // 子账号是否启用 48 } 49 ) 50 51 func (j *Data) MarshalJSON() ([]byte, error) { 52 if err := j.validate(); err != nil { 53 return nil, err 54 } 55 return json.Marshal(&jsonData{Id: j.Id, RootUid: j.RootUid, Iuid: j.Iuid, Alias: j.Alias, CreatedAt: j.CreatedAt, UpdatedAt: j.UpdatedAt, LastLoginTime: j.LastLoginTime, Enabled: j.Enabled}) 56 } 57 58 func (j *Data) UnmarshalJSON(data []byte) error { 59 var nj jsonData 60 if err := json.Unmarshal(data, &nj); err != nil { 61 return err 62 } 63 j.Id = nj.Id 64 j.RootUid = nj.RootUid 65 j.Iuid = nj.Iuid 66 j.Alias = nj.Alias 67 j.CreatedAt = nj.CreatedAt 68 j.UpdatedAt = nj.UpdatedAt 69 j.LastLoginTime = nj.LastLoginTime 70 j.Enabled = nj.Enabled 71 return nil 72 } 73 74 func (j *Data) validate() error { 75 if j.Id == "" { 76 return errors.MissingRequiredFieldError{Name: "Id"} 77 } 78 if j.RootUid == 0 { 79 return errors.MissingRequiredFieldError{Name: "RootUid"} 80 } 81 if j.Iuid == 0 { 82 return errors.MissingRequiredFieldError{Name: "Iuid"} 83 } 84 if j.Alias == "" { 85 return errors.MissingRequiredFieldError{Name: "Alias"} 86 } 87 if j.CreatedAt == "" { 88 return errors.MissingRequiredFieldError{Name: "CreatedAt"} 89 } 90 if j.UpdatedAt == "" { 91 return errors.MissingRequiredFieldError{Name: "UpdatedAt"} 92 } 93 if j.LastLoginTime == "" { 94 return errors.MissingRequiredFieldError{Name: "LastLoginTime"} 95 } 96 return nil 97 } 98 99 // 返回的 IAM 子账号响应 100 type ( 101 GetIamUserResp = Response 102 jsonResponse struct { 103 Data GetIamUserData `json:"data"` // IAM 子账号信息 104 } 105 ) 106 107 func (j *Response) MarshalJSON() ([]byte, error) { 108 if err := j.validate(); err != nil { 109 return nil, err 110 } 111 return json.Marshal(&jsonResponse{Data: j.Data}) 112 } 113 114 func (j *Response) UnmarshalJSON(data []byte) error { 115 var nj jsonResponse 116 if err := json.Unmarshal(data, &nj); err != nil { 117 return err 118 } 119 j.Data = nj.Data 120 return nil 121 } 122 123 func (j *Response) validate() error { 124 if err := j.Data.validate(); err != nil { 125 return err 126 } 127 return nil 128 }