1 /* 2 * Copyright 2009-2017 Alibaba Cloud All rights reserved. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #include <alibabacloud/oss/model/SetBucketQosInfoRequest.h> 18 using namespace AlibabaCloud::OSS; 19 SetBucketQosInfoRequest(const std::string & bucket)20SetBucketQosInfoRequest::SetBucketQosInfoRequest(const std::string& bucket) : 21 SetBucketQosInfoRequest(bucket, QosConfiguration()) 22 { 23 } 24 SetBucketQosInfoRequest(const std::string & bucket,const QosConfiguration & qos)25SetBucketQosInfoRequest::SetBucketQosInfoRequest(const std::string& bucket, const QosConfiguration& qos) : 26 OssBucketRequest(bucket), 27 qosInfo_(qos) 28 { 29 setFlags(Flags() | REQUEST_FLAG_CONTENTMD5); 30 } 31 payload() const32std::string SetBucketQosInfoRequest::payload() const 33 { 34 std::string str; 35 str.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); 36 str.append("<QoSConfiguration>\n"); 37 str.append("<TotalUploadBandwidth>"); 38 str.append(std::to_string(qosInfo_.TotalUploadBandwidth())); 39 str.append("</TotalUploadBandwidth>\n"); 40 str.append("<IntranetUploadBandwidth>"); 41 str.append(std::to_string(qosInfo_.IntranetUploadBandwidth())); 42 str.append("</IntranetUploadBandwidth>\n"); 43 str.append("<ExtranetUploadBandwidth>"); 44 str.append(std::to_string(qosInfo_.ExtranetUploadBandwidth())); 45 str.append("</ExtranetUploadBandwidth>\n"); 46 str.append("<TotalDownloadBandwidth>"); 47 str.append(std::to_string(qosInfo_.TotalDownloadBandwidth())); 48 str.append("</TotalDownloadBandwidth>\n"); 49 str.append("<IntranetDownloadBandwidth>"); 50 str.append(std::to_string(qosInfo_.IntranetDownloadBandwidth())); 51 str.append("</IntranetDownloadBandwidth>\n"); 52 str.append("<ExtranetDownloadBandwidth>"); 53 str.append(std::to_string(qosInfo_.ExtranetDownloadBandwidth())); 54 str.append("</ExtranetDownloadBandwidth>\n"); 55 str.append("<TotalQps>"); 56 str.append(std::to_string(qosInfo_.TotalQps())); 57 str.append("</TotalQps>\n"); 58 str.append("<IntranetQps>"); 59 str.append(std::to_string(qosInfo_.IntranetQps())); 60 str.append("</IntranetQps>\n"); 61 str.append("<ExtranetQps>"); 62 str.append(std::to_string(qosInfo_.ExtranetQps())); 63 str.append("</ExtranetQps>\n"); 64 str.append("</QoSConfiguration>"); 65 return str; 66 } 67 specialParameters() const68ParameterCollection SetBucketQosInfoRequest::specialParameters() const 69 { 70 ParameterCollection parameters; 71 parameters["qosInfo"] = ""; 72 return parameters; 73 } 74 75