|
|
package cos
import ( "context" "encoding/xml" "net/http" )
// BucketTaggingTag is the tag of BucketTagging
type BucketTaggingTag struct { Key string Value string }
// BucketGetTaggingResult is the result of BucketGetTagging
type BucketGetTaggingResult struct { XMLName xml.Name `xml:"Tagging"` TagSet []BucketTaggingTag `xml:"TagSet>Tag,omitempty"` }
// GetTagging 接口实现获取指定Bucket的标签。
//
// https://www.qcloud.com/document/product/436/8277
func (s *BucketService) GetTagging(ctx context.Context) (*BucketGetTaggingResult, *Response, error) { var res BucketGetTaggingResult sendOpt := sendOptions{ baseURL: s.client.BaseURL.BucketURL, uri: "/?tagging", method: http.MethodGet, result: &res, } resp, err := s.client.doRetry(ctx, &sendOpt) return &res, resp, err }
// BucketPutTaggingOptions is the option of BucketPutTagging
type BucketPutTaggingOptions struct { XMLName xml.Name `xml:"Tagging"` TagSet []BucketTaggingTag `xml:"TagSet>Tag,omitempty"` }
// PutTagging 接口实现给用指定Bucket打标签。用来组织和管理相关Bucket。
//
// 当该请求设置相同Key名称,不同Value时,会返回400。请求成功,则返回204。
//
// https://www.qcloud.com/document/product/436/8281
func (s *BucketService) PutTagging(ctx context.Context, opt *BucketPutTaggingOptions) (*Response, error) { sendOpt := sendOptions{ baseURL: s.client.BaseURL.BucketURL, uri: "/?tagging", method: http.MethodPut, body: opt, } resp, err := s.client.doRetry(ctx, &sendOpt) return resp, err }
// DeleteTagging 接口实现删除指定Bucket的标签。
//
// https://www.qcloud.com/document/product/436/8286
func (s *BucketService) DeleteTagging(ctx context.Context) (*Response, error) { sendOpt := sendOptions{ baseURL: s.client.BaseURL.BucketURL, uri: "/?tagging", method: http.MethodDelete, } resp, err := s.client.doRetry(ctx, &sendOpt) return resp, err }
|