CreateServerGroupRequest.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. #ifndef ALIBABACLOUD_ALB_MODEL_CREATESERVERGROUPREQUEST_H_
  17. #define ALIBABACLOUD_ALB_MODEL_CREATESERVERGROUPREQUEST_H_
  18. #include <alibabacloud/alb/AlbExport.h>
  19. #include <alibabacloud/core/RpcServiceRequest.h>
  20. #include <string>
  21. #include <vector>
  22. #include <map>
  23. namespace AlibabaCloud {
  24. namespace Alb {
  25. namespace Model {
  26. class ALIBABACLOUD_ALB_EXPORT CreateServerGroupRequest : public RpcServiceRequest {
  27. public:
  28. struct HealthCheckConfig {
  29. std::string string;
  30. std::vector<std::string> healthCheckCodes;
  31. bool healthCheckEnabled;
  32. int healthCheckTimeout;
  33. std::string healthCheckMethod;
  34. std::string healthCheckHost;
  35. std::string healthCheckProtocol;
  36. int unhealthyThreshold;
  37. int healthyThreshold;
  38. bool healthCheckTcpFastCloseEnabled;
  39. std::string healthCheckPath;
  40. int healthCheckInterval;
  41. std::string string;
  42. std::vector<std::string> healthCheckHttpCodes;
  43. std::string healthCheckHttpVersion;
  44. int healthCheckConnectPort;
  45. };
  46. struct StickySessionConfig {
  47. bool stickySessionEnabled;
  48. std::string cookie;
  49. int cookieTimeout;
  50. std::string stickySessionType;
  51. };
  52. CreateServerGroupRequest();
  53. ~CreateServerGroupRequest();
  54. std::string getServerGroupName() const;
  55. void setServerGroupName(const std::string &serverGroupName);
  56. std::string getClientToken() const;
  57. void setClientToken(const std::string &clientToken);
  58. HealthCheckConfig getHealthCheckConfig() const;
  59. void setHealthCheckConfig(const HealthCheckConfig &healthCheckConfig);
  60. std::string getScheduler() const;
  61. void setScheduler(const std::string &scheduler);
  62. std::string getResourceGroupId() const;
  63. void setResourceGroupId(const std::string &resourceGroupId);
  64. std::string getProtocol() const;
  65. void setProtocol(const std::string &protocol);
  66. StickySessionConfig getStickySessionConfig() const;
  67. void setStickySessionConfig(const StickySessionConfig &stickySessionConfig);
  68. bool getDryRun() const;
  69. void setDryRun(bool dryRun);
  70. std::string getServerGroupType() const;
  71. void setServerGroupType(const std::string &serverGroupType);
  72. std::string getVpcId() const;
  73. void setVpcId(const std::string &vpcId);
  74. private:
  75. std::string serverGroupName_;
  76. std::string clientToken_;
  77. HealthCheckConfig healthCheckConfig_;
  78. std::string scheduler_;
  79. std::string resourceGroupId_;
  80. std::string protocol_;
  81. StickySessionConfig stickySessionConfig_;
  82. bool dryRun_;
  83. std::string serverGroupType_;
  84. std::string vpcId_;
  85. };
  86. } // namespace Model
  87. } // namespace Alb
  88. } // namespace AlibabaCloud
  89. #endif // !ALIBABACLOUD_ALB_MODEL_CREATESERVERGROUPREQUEST_H_