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