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 #pragma once
18 #include <string>
19 #include <alibabacloud/oss/Export.h>
20 
21 namespace AlibabaCloud
22 {
23 namespace OSS
24 {
25     class ALIBABACLOUD_OSS_EXPORT QosConfiguration
26     {
27     public:
QosConfiguration()28         QosConfiguration():
29             totalUploadBandwidth_(-1), intranetUploadBandwidth_(-1),
30             extranetUploadBandwidth_(-1), totalDownloadBandwidth_(-1),
31             intranetDownloadBandwidth_(-1), extranetDownloadBandwidth_(-1),
32             totalQps_(-1), intranetQps_(-1), extranetQps_(-1)
33         {
34         }
TotalUploadBandwidth()35         int64_t TotalUploadBandwidth() const { return totalUploadBandwidth_; }
IntranetUploadBandwidth()36         int64_t IntranetUploadBandwidth() const { return intranetUploadBandwidth_; }
ExtranetUploadBandwidth()37         int64_t ExtranetUploadBandwidth() const { return extranetUploadBandwidth_; }
TotalDownloadBandwidth()38         int64_t TotalDownloadBandwidth() const { return totalDownloadBandwidth_; }
IntranetDownloadBandwidth()39         int64_t IntranetDownloadBandwidth() const { return intranetDownloadBandwidth_; }
ExtranetDownloadBandwidth()40         int64_t ExtranetDownloadBandwidth() const { return extranetDownloadBandwidth_; }
TotalQps()41         int64_t TotalQps() const { return totalQps_; }
IntranetQps()42         int64_t IntranetQps() const { return intranetQps_; }
ExtranetQps()43         int64_t ExtranetQps() const { return extranetQps_; }
44 
setTotalUploadBandwidth(int64_t value)45         void setTotalUploadBandwidth(int64_t value) { totalUploadBandwidth_ = value; }
setIntranetUploadBandwidth(int64_t value)46         void setIntranetUploadBandwidth(int64_t value) { intranetUploadBandwidth_ = value; }
setExtranetUploadBandwidth(int64_t value)47         void setExtranetUploadBandwidth(int64_t value) { extranetUploadBandwidth_ = value; }
setTotalDownloadBandwidth(int64_t value)48         void setTotalDownloadBandwidth(int64_t value) { totalDownloadBandwidth_ = value; }
setIntranetDownloadBandwidth(int64_t value)49         void setIntranetDownloadBandwidth(int64_t value) { intranetDownloadBandwidth_ = value; }
setExtranetDownloadBandwidth(int64_t value)50         void setExtranetDownloadBandwidth(int64_t value) { extranetDownloadBandwidth_ = value; }
setTotalQps(int64_t value)51         void setTotalQps(int64_t value) { totalQps_ = value; }
setIntranetQps(int64_t value)52         void setIntranetQps(int64_t value) { intranetQps_ = value; }
setExtranetQps(int64_t value)53         void setExtranetQps(int64_t value) { extranetQps_ = value; }
54 
55     private:
56         int64_t totalUploadBandwidth_;
57         int64_t intranetUploadBandwidth_;
58         int64_t extranetUploadBandwidth_;
59         int64_t totalDownloadBandwidth_;
60         int64_t intranetDownloadBandwidth_;
61         int64_t extranetDownloadBandwidth_;
62         int64_t totalQps_;
63         int64_t intranetQps_;
64         int64_t extranetQps_;
65     };
66 }
67 }