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