github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/apis/get_bucket_rules/api.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 // 获取空间规则 4 package get_bucket_rules 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 Bucket string // 空间名称 16 Credentials credentials.CredentialsProvider // 鉴权参数,用于生成鉴权凭证,如果为空,则使用 HTTPClientOptions 中的 CredentialsProvider 17 } 18 19 // 获取 API 所用的响应 20 type Response struct { 21 BucketRules BucketRules // 空间规则列表 22 } 23 24 // 空间规则 25 type BucketRule struct { 26 Name string // 空间规则名称 27 Prefix string // 匹配的对象名称前缀 28 DeleteAfterDays int64 // 上传文件多少天后删除 29 ToIaAfterDays int64 // 文件上传多少天后转低频存储 30 ToArchiveAfterDays int64 // 文件上传多少天后转归档存储 31 ToDeepArchiveAfterDays int64 // 文件上传多少天后转深度归档存储 32 ToArchiveIrAfterDays int64 // 文件上传多少天后转归档直读存储 33 CreatedTime string // 规则创建时间 34 } 35 type jsonBucketRule struct { 36 Name string `json:"name"` // 空间规则名称 37 Prefix string `json:"prefix"` // 匹配的对象名称前缀 38 DeleteAfterDays int64 `json:"delete_after_days,omitempty"` // 上传文件多少天后删除 39 ToIaAfterDays int64 `json:"to_line_after_days,omitempty"` // 文件上传多少天后转低频存储 40 ToArchiveAfterDays int64 `json:"to_archive_after_days,omitempty"` // 文件上传多少天后转归档存储 41 ToDeepArchiveAfterDays int64 `json:"to_deep_archive_after_days,omitempty"` // 文件上传多少天后转深度归档存储 42 ToArchiveIrAfterDays int64 `json:"to_archive_ir_after_days,omitempty"` // 文件上传多少天后转归档直读存储 43 CreatedTime string `json:"ctime"` // 规则创建时间 44 } 45 46 func (j *BucketRule) MarshalJSON() ([]byte, error) { 47 if err := j.validate(); err != nil { 48 return nil, err 49 } 50 return json.Marshal(&jsonBucketRule{Name: j.Name, Prefix: j.Prefix, DeleteAfterDays: j.DeleteAfterDays, ToIaAfterDays: j.ToIaAfterDays, ToArchiveAfterDays: j.ToArchiveAfterDays, ToDeepArchiveAfterDays: j.ToDeepArchiveAfterDays, ToArchiveIrAfterDays: j.ToArchiveIrAfterDays, CreatedTime: j.CreatedTime}) 51 } 52 53 func (j *BucketRule) UnmarshalJSON(data []byte) error { 54 var nj jsonBucketRule 55 if err := json.Unmarshal(data, &nj); err != nil { 56 return err 57 } 58 j.Name = nj.Name 59 j.Prefix = nj.Prefix 60 j.DeleteAfterDays = nj.DeleteAfterDays 61 j.ToIaAfterDays = nj.ToIaAfterDays 62 j.ToArchiveAfterDays = nj.ToArchiveAfterDays 63 j.ToDeepArchiveAfterDays = nj.ToDeepArchiveAfterDays 64 j.ToArchiveIrAfterDays = nj.ToArchiveIrAfterDays 65 j.CreatedTime = nj.CreatedTime 66 return nil 67 } 68 69 func (j *BucketRule) validate() error { 70 if j.Name == "" { 71 return errors.MissingRequiredFieldError{Name: "Name"} 72 } 73 if j.Prefix == "" { 74 return errors.MissingRequiredFieldError{Name: "Prefix"} 75 } 76 if j.CreatedTime == "" { 77 return errors.MissingRequiredFieldError{Name: "CreatedTime"} 78 } 79 return nil 80 } 81 82 // 空间规则列表 83 type BucketRules []BucketRule 84 85 func (j *Response) MarshalJSON() ([]byte, error) { 86 return json.Marshal(j.BucketRules) 87 } 88 89 func (j *Response) UnmarshalJSON(data []byte) error { 90 var array BucketRules 91 if err := json.Unmarshal(data, &array); err != nil { 92 return err 93 } 94 j.BucketRules = array 95 return nil 96 }