oss/api_op_cloud_box.go (57 lines of code) (raw):

package oss import ( "context" "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/signer" ) type ListCloudBoxesRequest struct { // The name of the bucket from which the list operation begins. Marker *string `input:"query,marker"` // The maximum number of buckets that can be returned in the single query. // Valid values: 1 to 1000. MaxKeys int32 `input:"query,max-keys"` // The prefix that the names of returned buckets must contain. Prefix *string `input:"query,prefix"` RequestCommon } type ListCloudBoxesResult struct { // The prefix contained in the names of the returned bucket. Prefix *string `xml:"Prefix"` // The name of the bucket after which the ListBuckets operation starts. Marker *string `xml:"Marker"` // The marker filter. // The maximum number of buckets that can be returned for the request. MaxKeys int32 `xml:"MaxKeys"` // Indicates whether all results are returned. // true: Only part of the results are returned for the request. // false: All results are returned for the request. IsTruncated bool `xml:"IsTruncated"` // The marker for the next ListBuckets request, which can be used to return the remaining results. NextMarker *string `xml:"NextMarker"` // The container that stores information about the bucket owner. Owner *Owner `xml:"Owner"` // The container that stores information about cloud box bucket. CloudBoxes []CloudBoxProperties `xml:"CloudBoxes>CloudBox"` ResultCommon } type CloudBoxProperties struct { ID *string `xml:"ID"` Name *string `xml:"Name"` Region *string `xml:"Region"` ControlEndpoint *string `xml:"ControlEndpoint"` DataEndpoint *string `xml:"DataEndpoint"` } // ListCloudBoxes Lists cloud box buckets that belong to the current account. func (c *Client) ListCloudBoxes(ctx context.Context, request *ListCloudBoxesRequest, optFns ...func(*Options)) (*ListCloudBoxesResult, error) { var err error if request == nil { request = &ListCloudBoxesRequest{} } input := &OperationInput{ OpName: "ListCloudBoxes", Method: "GET", Headers: map[string]string{ HTTPHeaderContentType: contentTypeXML, }, Parameters: map[string]string{ "cloudboxes": "", }, } input.OpMetadata.Set(signer.SubResource, []string{"cloudboxes"}) 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 := &ListCloudBoxesResult{} if err = c.unmarshalOutput(result, output, unmarshalBodyXml); err != nil { return nil, c.toClientError(err, "UnmarshalOutputFail", output) } return result, err }