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  }