oss/api_op_region.go (49 lines of code) (raw):

package oss import ( "context" ) type RegionInfo struct { // The region ID. Region *string `xml:"Region"` // The public endpoint of the region. InternetEndpoint *string `xml:"InternetEndpoint"` // The internal endpoint of the region. InternalEndpoint *string `xml:"InternalEndpoint"` // The acceleration endpoint of the region. The value is always oss-accelerate.aliyuncs.com. AccelerateEndpoint *string `xml:"AccelerateEndpoint"` } type RegionInfoList struct { // The information about the regions. RegionInfos []RegionInfo `xml:"RegionInfo"` } type DescribeRegionsRequest struct { // The region ID of the request. Regions *string `input:"query,regions"` RequestCommon } type DescribeRegionsResult struct { // The information about the regions. RegionInfoList *RegionInfoList `output:"body,RegionInfoList,xml"` ResultCommon } // DescribeRegions Queries the endpoints of all supported regions or the endpoints of a specific region. func (c *Client) DescribeRegions(ctx context.Context, request *DescribeRegionsRequest, optFns ...func(*Options)) (*DescribeRegionsResult, error) { var err error if request == nil { request = &DescribeRegionsRequest{} } input := &OperationInput{ OpName: "DescribeRegions", Method: "GET", Headers: map[string]string{ HTTPHeaderContentType: contentTypeXML, }, Parameters: map[string]string{ "regions": "", }, } 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 := &DescribeRegionsResult{} if err = c.unmarshalOutput(result, output, unmarshalBodyXmlMix); err != nil { return nil, c.toClientError(err, "UnmarshalOutputFail", output) } return result, err }