SetAutoScaleConfigRequest.cc 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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. #include <alibabacloud/ehpc/model/SetAutoScaleConfigRequest.h>
  17. using AlibabaCloud::EHPC::Model::SetAutoScaleConfigRequest;
  18. SetAutoScaleConfigRequest::SetAutoScaleConfigRequest()
  19. : RpcServiceRequest("ehpc", "2018-04-12", "SetAutoScaleConfig") {
  20. setMethod(HttpRequest::Method::Get);
  21. }
  22. SetAutoScaleConfigRequest::~SetAutoScaleConfigRequest() {}
  23. std::string SetAutoScaleConfigRequest::getImageId() const {
  24. return imageId_;
  25. }
  26. void SetAutoScaleConfigRequest::setImageId(const std::string &imageId) {
  27. imageId_ = imageId;
  28. setParameter(std::string("ImageId"), imageId);
  29. }
  30. std::string SetAutoScaleConfigRequest::getDnsConfig() const {
  31. return dnsConfig_;
  32. }
  33. void SetAutoScaleConfigRequest::setDnsConfig(const std::string &dnsConfig) {
  34. dnsConfig_ = dnsConfig;
  35. setParameter(std::string("DnsConfig"), dnsConfig);
  36. }
  37. float SetAutoScaleConfigRequest::getSpotPriceLimit() const {
  38. return spotPriceLimit_;
  39. }
  40. void SetAutoScaleConfigRequest::setSpotPriceLimit(float spotPriceLimit) {
  41. spotPriceLimit_ = spotPriceLimit;
  42. setParameter(std::string("SpotPriceLimit"), std::to_string(spotPriceLimit));
  43. }
  44. std::string SetAutoScaleConfigRequest::getAccessKeyId() const {
  45. return accessKeyId_;
  46. }
  47. void SetAutoScaleConfigRequest::setAccessKeyId(const std::string &accessKeyId) {
  48. accessKeyId_ = accessKeyId;
  49. setParameter(std::string("AccessKeyId"), accessKeyId);
  50. }
  51. std::string SetAutoScaleConfigRequest::getExcludeNodes() const {
  52. return excludeNodes_;
  53. }
  54. void SetAutoScaleConfigRequest::setExcludeNodes(const std::string &excludeNodes) {
  55. excludeNodes_ = excludeNodes;
  56. setParameter(std::string("ExcludeNodes"), excludeNodes);
  57. }
  58. int SetAutoScaleConfigRequest::getExtraNodesGrowRatio() const {
  59. return extraNodesGrowRatio_;
  60. }
  61. void SetAutoScaleConfigRequest::setExtraNodesGrowRatio(int extraNodesGrowRatio) {
  62. extraNodesGrowRatio_ = extraNodesGrowRatio;
  63. setParameter(std::string("ExtraNodesGrowRatio"), std::to_string(extraNodesGrowRatio));
  64. }
  65. int SetAutoScaleConfigRequest::getShrinkIdleTimes() const {
  66. return shrinkIdleTimes_;
  67. }
  68. void SetAutoScaleConfigRequest::setShrinkIdleTimes(int shrinkIdleTimes) {
  69. shrinkIdleTimes_ = shrinkIdleTimes;
  70. setParameter(std::string("ShrinkIdleTimes"), std::to_string(shrinkIdleTimes));
  71. }
  72. int SetAutoScaleConfigRequest::getGrowTimeoutInMinutes() const {
  73. return growTimeoutInMinutes_;
  74. }
  75. void SetAutoScaleConfigRequest::setGrowTimeoutInMinutes(int growTimeoutInMinutes) {
  76. growTimeoutInMinutes_ = growTimeoutInMinutes;
  77. setParameter(std::string("GrowTimeoutInMinutes"), std::to_string(growTimeoutInMinutes));
  78. }
  79. std::string SetAutoScaleConfigRequest::getClusterId() const {
  80. return clusterId_;
  81. }
  82. void SetAutoScaleConfigRequest::setClusterId(const std::string &clusterId) {
  83. clusterId_ = clusterId;
  84. setParameter(std::string("ClusterId"), clusterId);
  85. }
  86. bool SetAutoScaleConfigRequest::getEnableAutoGrow() const {
  87. return enableAutoGrow_;
  88. }
  89. void SetAutoScaleConfigRequest::setEnableAutoGrow(bool enableAutoGrow) {
  90. enableAutoGrow_ = enableAutoGrow;
  91. setParameter(std::string("EnableAutoGrow"), enableAutoGrow ? "true" : "false");
  92. }
  93. bool SetAutoScaleConfigRequest::getEnableAutoShrink() const {
  94. return enableAutoShrink_;
  95. }
  96. void SetAutoScaleConfigRequest::setEnableAutoShrink(bool enableAutoShrink) {
  97. enableAutoShrink_ = enableAutoShrink;
  98. setParameter(std::string("EnableAutoShrink"), enableAutoShrink ? "true" : "false");
  99. }
  100. std::string SetAutoScaleConfigRequest::getSpotStrategy() const {
  101. return spotStrategy_;
  102. }
  103. void SetAutoScaleConfigRequest::setSpotStrategy(const std::string &spotStrategy) {
  104. spotStrategy_ = spotStrategy;
  105. setParameter(std::string("SpotStrategy"), spotStrategy);
  106. }
  107. int SetAutoScaleConfigRequest::getMaxNodesInCluster() const {
  108. return maxNodesInCluster_;
  109. }
  110. void SetAutoScaleConfigRequest::setMaxNodesInCluster(int maxNodesInCluster) {
  111. maxNodesInCluster_ = maxNodesInCluster;
  112. setParameter(std::string("MaxNodesInCluster"), std::to_string(maxNodesInCluster));
  113. }
  114. bool SetAutoScaleConfigRequest::getComputeEnableHt() const {
  115. return computeEnableHt_;
  116. }
  117. void SetAutoScaleConfigRequest::setComputeEnableHt(bool computeEnableHt) {
  118. computeEnableHt_ = computeEnableHt;
  119. setParameter(std::string("ComputeEnableHt"), computeEnableHt ? "true" : "false");
  120. }
  121. int SetAutoScaleConfigRequest::getShrinkIntervalInMinutes() const {
  122. return shrinkIntervalInMinutes_;
  123. }
  124. void SetAutoScaleConfigRequest::setShrinkIntervalInMinutes(int shrinkIntervalInMinutes) {
  125. shrinkIntervalInMinutes_ = shrinkIntervalInMinutes;
  126. setParameter(std::string("ShrinkIntervalInMinutes"), std::to_string(shrinkIntervalInMinutes));
  127. }
  128. std::vector<SetAutoScaleConfigRequest::Queues> SetAutoScaleConfigRequest::getQueues() const {
  129. return queues_;
  130. }
  131. void SetAutoScaleConfigRequest::setQueues(const std::vector<SetAutoScaleConfigRequest::Queues> &queues) {
  132. queues_ = queues;
  133. for(int dep1 = 0; dep1 != queues.size(); dep1++) {
  134. auto queuesObj = queues.at(dep1);
  135. std::string queuesObjStr = std::string("Queues") + "." + std::to_string(dep1 + 1);
  136. setParameter(queuesObjStr + ".QueueName", queuesObj.queueName);
  137. setParameter(queuesObjStr + ".SystemDiskLevel", queuesObj.systemDiskLevel);
  138. setParameter(queuesObjStr + ".SortedByInventory", queuesObj.sortedByInventory ? "true" : "false");
  139. for(int dep2 = 0; dep2 != queuesObj.instanceTypes.size(); dep2++) {
  140. auto instanceTypesObj = queuesObj.instanceTypes.at(dep2);
  141. std::string instanceTypesObjStr = queuesObjStr + ".InstanceTypes" + "." + std::to_string(dep2 + 1);
  142. setParameter(instanceTypesObjStr + ".VSwitchId", instanceTypesObj.vSwitchId);
  143. setParameter(instanceTypesObjStr + ".SpotStrategy", instanceTypesObj.spotStrategy);
  144. setParameter(instanceTypesObjStr + ".SpotInterruptionBehavior", instanceTypesObj.spotInterruptionBehavior);
  145. setParameter(instanceTypesObjStr + ".ZoneId", instanceTypesObj.zoneId);
  146. setParameter(instanceTypesObjStr + ".InstanceType", instanceTypesObj.instanceType);
  147. setParameter(instanceTypesObjStr + ".SpotPriceLimit", std::to_string(instanceTypesObj.spotPriceLimit));
  148. setParameter(instanceTypesObjStr + ".SpotDuration", std::to_string(instanceTypesObj.spotDuration));
  149. }
  150. setParameter(queuesObjStr + ".EnableAutoGrow", queuesObj.enableAutoGrow ? "true" : "false");
  151. setParameter(queuesObjStr + ".HostNameSuffix", queuesObj.hostNameSuffix);
  152. setParameter(queuesObjStr + ".SpotPriceLimit", std::to_string(queuesObj.spotPriceLimit));
  153. setParameter(queuesObjStr + ".EnableAutoShrink", queuesObj.enableAutoShrink ? "true" : "false");
  154. setParameter(queuesObjStr + ".SpotStrategy", queuesObj.spotStrategy);
  155. setParameter(queuesObjStr + ".AutoMinNodesPerCycle", queuesObj.autoMinNodesPerCycle ? "true" : "false");
  156. for(int dep2 = 0; dep2 != queuesObj.dataDisks.size(); dep2++) {
  157. auto dataDisksObj = queuesObj.dataDisks.at(dep2);
  158. std::string dataDisksObjStr = queuesObjStr + ".DataDisks" + "." + std::to_string(dep2 + 1);
  159. setParameter(dataDisksObjStr + ".DataDiskDeleteWithInstance", dataDisksObj.dataDiskDeleteWithInstance ? "true" : "false");
  160. setParameter(dataDisksObjStr + ".DataDiskEncrypted", dataDisksObj.dataDiskEncrypted ? "true" : "false");
  161. setParameter(dataDisksObjStr + ".DataDiskKMSKeyId", dataDisksObj.dataDiskKMSKeyId);
  162. setParameter(dataDisksObjStr + ".DataDiskSize", std::to_string(dataDisksObj.dataDiskSize));
  163. setParameter(dataDisksObjStr + ".DataDiskCategory", dataDisksObj.dataDiskCategory);
  164. setParameter(dataDisksObjStr + ".DataDiskPerformanceLevel", dataDisksObj.dataDiskPerformanceLevel);
  165. }
  166. setParameter(queuesObjStr + ".MinNodesInQueue", std::to_string(queuesObj.minNodesInQueue));
  167. setParameter(queuesObjStr + ".MaxNodesPerCycle", std::to_string(queuesObj.maxNodesPerCycle));
  168. setParameter(queuesObjStr + ".SystemDiskCategory", queuesObj.systemDiskCategory);
  169. setParameter(queuesObjStr + ".MaxNodesInQueue", std::to_string(queuesObj.maxNodesInQueue));
  170. setParameter(queuesObjStr + ".SystemDiskSize", std::to_string(queuesObj.systemDiskSize));
  171. setParameter(queuesObjStr + ".QueueImageId", queuesObj.queueImageId);
  172. setParameter(queuesObjStr + ".InstanceType", queuesObj.instanceType);
  173. setParameter(queuesObjStr + ".HostNamePrefix", queuesObj.hostNamePrefix);
  174. setParameter(queuesObjStr + ".MinNodesPerCycle", std::to_string(queuesObj.minNodesPerCycle));
  175. }
  176. }
  177. int SetAutoScaleConfigRequest::getGrowIntervalInMinutes() const {
  178. return growIntervalInMinutes_;
  179. }
  180. void SetAutoScaleConfigRequest::setGrowIntervalInMinutes(int growIntervalInMinutes) {
  181. growIntervalInMinutes_ = growIntervalInMinutes;
  182. setParameter(std::string("GrowIntervalInMinutes"), std::to_string(growIntervalInMinutes));
  183. }
  184. int SetAutoScaleConfigRequest::getGrowRatio() const {
  185. return growRatio_;
  186. }
  187. void SetAutoScaleConfigRequest::setGrowRatio(int growRatio) {
  188. growRatio_ = growRatio;
  189. setParameter(std::string("GrowRatio"), std::to_string(growRatio));
  190. }