|
|
package cos
import ( "context" "encoding/xml" "net/http" )
// BucketPutVersionOptions is the options of PutBucketVersioning
type BucketPutVersionOptions struct { XMLName xml.Name `xml:"VersioningConfiguration"` Status string `xml:"Status"` }
// BucketGetVersionResult is the result of GetBucketVersioning
type BucketGetVersionResult BucketPutVersionOptions
// PutVersion https://cloud.tencent.com/document/product/436/19889
// Status has Suspended\Enabled
func (s *BucketService) PutVersioning(ctx context.Context, opt *BucketPutVersionOptions) (*Response, error) { sendOpt := sendOptions{ baseURL: s.client.BaseURL.BucketURL, uri: "/?versioning", method: http.MethodPut, body: opt, } resp, err := s.client.doRetry(ctx, &sendOpt) return resp, err }
// GetVersion https://cloud.tencent.com/document/product/436/19888
func (s *BucketService) GetVersioning(ctx context.Context) (*BucketGetVersionResult, *Response, error) { var res BucketGetVersionResult sendOpt := sendOptions{ baseURL: s.client.BaseURL.BucketURL, uri: "/?versioning", method: http.MethodGet, result: &res, } resp, err := s.client.doRetry(ctx, &sendOpt) return &res, resp, err }
|