oss/api_op_bucket_accessmonitor.go (81 lines of code) (raw):

package oss import ( "context" ) type AccessMonitorConfiguration struct { // The access tracking status of the bucket. Valid values:- Enabled: Access tracking is enabled.- Disabled: Access tracking is disabled. Status AccessMonitorStatusType `xml:"Status"` } type PutBucketAccessMonitorRequest struct { // The name of the bucket. Bucket *string `input:"host,bucket,required"` // The request body schema. AccessMonitorConfiguration *AccessMonitorConfiguration `input:"body,AccessMonitorConfiguration,xml,required"` RequestCommon } type PutBucketAccessMonitorResult struct { ResultCommon } // PutBucketAccessMonitor Modifies the access tracking status of a bucket. func (c *Client) PutBucketAccessMonitor(ctx context.Context, request *PutBucketAccessMonitorRequest, optFns ...func(*Options)) (*PutBucketAccessMonitorResult, error) { var err error if request == nil { request = &PutBucketAccessMonitorRequest{} } input := &OperationInput{ OpName: "PutBucketAccessMonitor", Method: "PUT", Headers: map[string]string{ HTTPHeaderContentType: contentTypeXML, }, Parameters: map[string]string{ "accessmonitor": "", }, Bucket: request.Bucket, } if err = c.marshalInput(request, input, updateContentMd5); err != nil { return nil, err } output, err := c.invokeOperation(ctx, input, optFns) if err != nil { return nil, err } result := &PutBucketAccessMonitorResult{} if err = c.unmarshalOutput(result, output, unmarshalBodyXmlMix); err != nil { return nil, c.toClientError(err, "UnmarshalOutputFail", output) } return result, err } type GetBucketAccessMonitorRequest struct { // The name of the bucket. Bucket *string `input:"host,bucket,required"` RequestCommon } type GetBucketAccessMonitorResult struct { // The container that stores access monitor configuration. AccessMonitorConfiguration *AccessMonitorConfiguration `output:"body,AccessMonitorConfiguration,xml"` ResultCommon } // GetBucketAccessMonitor Queries the access tracking status of a bucket. func (c *Client) GetBucketAccessMonitor(ctx context.Context, request *GetBucketAccessMonitorRequest, optFns ...func(*Options)) (*GetBucketAccessMonitorResult, error) { var err error if request == nil { request = &GetBucketAccessMonitorRequest{} } input := &OperationInput{ OpName: "GetBucketAccessMonitor", Method: "GET", Headers: map[string]string{ HTTPHeaderContentType: contentTypeXML, }, Parameters: map[string]string{ "accessmonitor": "", }, Bucket: request.Bucket, } if err = c.marshalInput(request, input, updateContentMd5); err != nil { return nil, err } output, err := c.invokeOperation(ctx, input, optFns) if err != nil { return nil, err } result := &GetBucketAccessMonitorResult{} if err = c.unmarshalOutput(result, output, unmarshalBodyXmlMix); err != nil { return nil, c.toClientError(err, "UnmarshalOutputFail", output) } return result, err }