github.com/qiniu/go-sdk/v7@v7.27.0/iam/apis/get_user_available_services/api.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 // 列举子账号可用服务 4 package get_user_available_services 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 Services // IAM 子账号可用服务信息 22 } 23 24 // 可用服务列表 25 type Services = []string 26 27 // 返回的 IAM 子账号可用服务列表响应 28 type ( 29 GetIamUserAvailableServicesResp = Response 30 jsonResponse struct { 31 Data Services `json:"data"` // IAM 子账号可用服务信息 32 } 33 ) 34 35 func (j *Response) MarshalJSON() ([]byte, error) { 36 if err := j.validate(); err != nil { 37 return nil, err 38 } 39 return json.Marshal(&jsonResponse{Data: j.Data}) 40 } 41 42 func (j *Response) UnmarshalJSON(data []byte) error { 43 var nj jsonResponse 44 if err := json.Unmarshal(data, &nj); err != nil { 45 return err 46 } 47 j.Data = nj.Data 48 return nil 49 } 50 51 func (j *Response) validate() error { 52 if len(j.Data) == 0 { 53 return errors.MissingRequiredFieldError{Name: "Data"} 54 } 55 return nil 56 }