github.com/qiniu/go-sdk/v7@v7.27.0/iam/apis/modify_user/api.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 // 修改 IAM 子账号 4 package modify_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 Enabled bool // 子账号是否启用 18 Password string // 子账号密码 19 } 20 21 // 修改 IAM 子账号参数 22 type ( 23 ModifiedIamUserParam = Request 24 jsonRequest struct { 25 Enabled bool `json:"enabled"` // 子账号是否启用 26 Password string `json:"password,omitempty"` // 子账号密码 27 } 28 ) 29 30 func (j *Request) MarshalJSON() ([]byte, error) { 31 if err := j.validate(); err != nil { 32 return nil, err 33 } 34 return json.Marshal(&jsonRequest{Enabled: j.Enabled, Password: j.Password}) 35 } 36 37 func (j *Request) UnmarshalJSON(data []byte) error { 38 var nj jsonRequest 39 if err := json.Unmarshal(data, &nj); err != nil { 40 return err 41 } 42 j.Enabled = nj.Enabled 43 j.Password = nj.Password 44 return nil 45 } 46 47 func (j *Request) validate() error { 48 return nil 49 } 50 51 // 获取 API 所用的响应 52 type Response struct { 53 Data ModifiedIamUserData // IAM 子账号信息 54 } 55 56 // IAM 子账号信息 57 type Data struct { 58 Id string // 记录 ID 59 RootUid int64 // 根用户 uid 60 Iuid int64 // 子账号 uid 61 Alias string // 子账号别名 62 CreatedAt string // 子账号创建时间 63 UpdatedAt string // 子账号上次更新时间 64 LastLoginTime string // 子账号上次更新时间 65 Enabled bool // 子账号是否启用 66 } 67 68 // 返回的 IAM 子账号信息 69 type ( 70 ModifiedIamUserData = Data 71 jsonData struct { 72 Id string `json:"id"` // 记录 ID 73 RootUid int64 `json:"root_uid"` // 根用户 uid 74 Iuid int64 `json:"iuid"` // 子账号 uid 75 Alias string `json:"alias"` // 子账号别名 76 CreatedAt string `json:"created_at"` // 子账号创建时间 77 UpdatedAt string `json:"updated_at"` // 子账号上次更新时间 78 LastLoginTime string `json:"last_login_time"` // 子账号上次更新时间 79 Enabled bool `json:"enabled"` // 子账号是否启用 80 } 81 ) 82 83 func (j *Data) MarshalJSON() ([]byte, error) { 84 if err := j.validate(); err != nil { 85 return nil, err 86 } 87 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}) 88 } 89 90 func (j *Data) UnmarshalJSON(data []byte) error { 91 var nj jsonData 92 if err := json.Unmarshal(data, &nj); err != nil { 93 return err 94 } 95 j.Id = nj.Id 96 j.RootUid = nj.RootUid 97 j.Iuid = nj.Iuid 98 j.Alias = nj.Alias 99 j.CreatedAt = nj.CreatedAt 100 j.UpdatedAt = nj.UpdatedAt 101 j.LastLoginTime = nj.LastLoginTime 102 j.Enabled = nj.Enabled 103 return nil 104 } 105 106 func (j *Data) validate() error { 107 if j.Id == "" { 108 return errors.MissingRequiredFieldError{Name: "Id"} 109 } 110 if j.RootUid == 0 { 111 return errors.MissingRequiredFieldError{Name: "RootUid"} 112 } 113 if j.Iuid == 0 { 114 return errors.MissingRequiredFieldError{Name: "Iuid"} 115 } 116 if j.Alias == "" { 117 return errors.MissingRequiredFieldError{Name: "Alias"} 118 } 119 if j.CreatedAt == "" { 120 return errors.MissingRequiredFieldError{Name: "CreatedAt"} 121 } 122 if j.UpdatedAt == "" { 123 return errors.MissingRequiredFieldError{Name: "UpdatedAt"} 124 } 125 if j.LastLoginTime == "" { 126 return errors.MissingRequiredFieldError{Name: "LastLoginTime"} 127 } 128 return nil 129 } 130 131 // 返回的 IAM 子账号响应 132 type ( 133 ModifiedIamUserResp = Response 134 jsonResponse struct { 135 Data ModifiedIamUserData `json:"data"` // IAM 子账号信息 136 } 137 ) 138 139 func (j *Response) MarshalJSON() ([]byte, error) { 140 if err := j.validate(); err != nil { 141 return nil, err 142 } 143 return json.Marshal(&jsonResponse{Data: j.Data}) 144 } 145 146 func (j *Response) UnmarshalJSON(data []byte) error { 147 var nj jsonResponse 148 if err := json.Unmarshal(data, &nj); err != nil { 149 return err 150 } 151 j.Data = nj.Data 152 return nil 153 } 154 155 func (j *Response) validate() error { 156 if err := j.Data.validate(); err != nil { 157 return err 158 } 159 return nil 160 }