Преглед на файлове

Generated 2019-09-10, 2018-01-17 for waf-openapi.

sdk-team преди 4 години
родител
ревизия
23c07a12a3
променени са 95 файла, в които са добавени 5349 реда и са изтрити 229 реда
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 60 0
      waf-openapi/CMakeLists.txt
  4. 120 0
      waf-openapi/include/alibabacloud/waf-openapi/Waf_openapiClient.h
  5. 63 0
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateAclRuleRequest.h
  6. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateAclRuleResult.h
  7. 69 0
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateCertAndKeyRequest.h
  8. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateCertAndKeyResult.h
  9. 90 0
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateDomainConfigRequest.h
  10. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateDomainConfigResult.h
  11. 6 0
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateDomainRequest.h
  12. 12 9
      waf-openapi/include/alibabacloud/waf-openapi/model/CreateProtectionModuleRuleRequest.h
  13. 63 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DeleteAclRuleRequest.h
  14. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DeleteAclRuleResult.h
  15. 60 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DeleteDomainConfigRequest.h
  16. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DeleteDomainConfigResult.h
  17. 66 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAclRulesRequest.h
  18. 77 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAclRulesResult.h
  19. 63 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusRequest.h
  20. 59 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusResult.h
  21. 5 5
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainAdvanceConfigsResult.h
  22. 60 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigRequest.h
  23. 63 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigResult.h
  24. 60 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigStatusRequest.h
  25. 61 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigStatusResult.h
  26. 3 3
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainNamesRequest.h
  27. 2 2
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainNamesResult.h
  28. 2 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainResult.h
  29. 60 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribePayInfoRequest.h
  30. 62 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribePayInfoResult.h
  31. 9 12
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeProtectionModuleRulesRequest.h
  32. 8 7
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeProtectionModuleRulesResult.h
  33. 54 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeRegionsRequest.h
  34. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeRegionsResult.h
  35. 3 0
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeWafSourceIpSegmentRequest.h
  36. 0 2
      waf-openapi/include/alibabacloud/waf-openapi/model/DescribeWafSourceIpSegmentResult.h
  37. 63 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyAclRuleRequest.h
  38. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyAclRuleResult.h
  39. 84 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyDomainConfigRequest.h
  40. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyDomainConfigResult.h
  41. 6 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyDomainRequest.h
  42. 15 12
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleCacheStatusRequest.h
  43. 4 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleCacheStatusResult.h
  44. 9 6
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleStatusRequest.h
  45. 4 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleStatusResult.h
  46. 63 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyWafSwitchRequest.h
  47. 56 0
      waf-openapi/include/alibabacloud/waf-openapi/model/ModifyWafSwitchResult.h
  48. 57 0
      waf-openapi/include/alibabacloud/waf-openapi/model/MoveResourceGroupRequest.h
  49. 49 0
      waf-openapi/include/alibabacloud/waf-openapi/model/MoveResourceGroupResult.h
  50. 540 0
      waf-openapi/src/Waf-openapiClient.cc
  51. 95 0
      waf-openapi/src/model/CreateAclRuleRequest.cc
  52. 54 0
      waf-openapi/src/model/CreateAclRuleResult.cc
  53. 117 0
      waf-openapi/src/model/CreateCertAndKeyRequest.cc
  54. 54 0
      waf-openapi/src/model/CreateCertAndKeyResult.cc
  55. 194 0
      waf-openapi/src/model/CreateDomainConfigRequest.cc
  56. 54 0
      waf-openapi/src/model/CreateDomainConfigResult.cc
  57. 22 0
      waf-openapi/src/model/CreateDomainRequest.cc
  58. 37 26
      waf-openapi/src/model/CreateProtectionModuleRuleRequest.cc
  59. 95 0
      waf-openapi/src/model/DeleteAclRuleRequest.cc
  60. 54 0
      waf-openapi/src/model/DeleteAclRuleResult.cc
  61. 84 0
      waf-openapi/src/model/DeleteDomainConfigRequest.cc
  62. 54 0
      waf-openapi/src/model/DeleteDomainConfigResult.cc
  63. 106 0
      waf-openapi/src/model/DescribeAclRulesRequest.cc
  64. 92 0
      waf-openapi/src/model/DescribeAclRulesResult.cc
  65. 95 0
      waf-openapi/src/model/DescribeAsyncTaskStatusRequest.cc
  66. 60 0
      waf-openapi/src/model/DescribeAsyncTaskStatusResult.cc
  67. 24 20
      waf-openapi/src/model/DescribeDomainAdvanceConfigsResult.cc
  68. 84 0
      waf-openapi/src/model/DescribeDomainConfigRequest.cc
  69. 61 0
      waf-openapi/src/model/DescribeDomainConfigResult.cc
  70. 84 0
      waf-openapi/src/model/DescribeDomainConfigStatusRequest.cc
  71. 57 0
      waf-openapi/src/model/DescribeDomainConfigStatusResult.cc
  72. 6 6
      waf-openapi/src/model/DescribeDomainNamesRequest.cc
  73. 5 5
      waf-openapi/src/model/DescribeDomainNamesResult.cc
  74. 4 0
      waf-openapi/src/model/DescribeDomainResult.cc
  75. 84 0
      waf-openapi/src/model/DescribePayInfoRequest.cc
  76. 66 0
      waf-openapi/src/model/DescribePayInfoResult.cc
  77. 27 38
      waf-openapi/src/model/DescribeProtectionModuleRulesRequest.cc
  78. 25 20
      waf-openapi/src/model/DescribeProtectionModuleRulesResult.cc
  79. 62 0
      waf-openapi/src/model/DescribeRegionsRequest.cc
  80. 59 0
      waf-openapi/src/model/DescribeRegionsResult.cc
  81. 12 1
      waf-openapi/src/model/DescribeWafSourceIpSegmentRequest.cc
  82. 0 7
      waf-openapi/src/model/DescribeWafSourceIpSegmentResult.cc
  83. 95 0
      waf-openapi/src/model/ModifyAclRuleRequest.cc
  84. 54 0
      waf-openapi/src/model/ModifyAclRuleResult.cc
  85. 172 0
      waf-openapi/src/model/ModifyDomainConfigRequest.cc
  86. 54 0
      waf-openapi/src/model/ModifyDomainConfigResult.cc
  87. 22 0
      waf-openapi/src/model/ModifyDomainRequest.cc
  88. 42 31
      waf-openapi/src/model/ModifyProtectionRuleCacheStatusRequest.cc
  89. 14 0
      waf-openapi/src/model/ModifyProtectionRuleCacheStatusResult.cc
  90. 27 16
      waf-openapi/src/model/ModifyProtectionRuleStatusRequest.cc
  91. 14 0
      waf-openapi/src/model/ModifyProtectionRuleStatusResult.cc
  92. 95 0
      waf-openapi/src/model/ModifyWafSwitchRequest.cc
  93. 54 0
      waf-openapi/src/model/ModifyWafSwitchResult.cc
  94. 73 0
      waf-openapi/src/model/MoveResourceGroupRequest.cc
  95. 44 0
      waf-openapi/src/model/MoveResourceGroupResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-10-18 Version: 1.36.900
+- Generated 2019-09-10, 2018-01-17 for `waf-openapi`.
+
 2021-10-18 Version: 1.36.899
 - Adjust ecs openapi endpoint.
 - Fix SDK array format.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.899
+1.36.900

+ 60 - 0
waf-openapi/CMakeLists.txt

@@ -21,20 +21,34 @@ set(waf-openapi_public_header
 	include/alibabacloud/waf-openapi/Waf_openapiExport.h )
 
 set(waf-openapi_public_header_model 
+	include/alibabacloud/waf-openapi/model/CreateAclRuleRequest.h
+	include/alibabacloud/waf-openapi/model/CreateAclRuleResult.h
+	include/alibabacloud/waf-openapi/model/CreateCertAndKeyRequest.h
+	include/alibabacloud/waf-openapi/model/CreateCertAndKeyResult.h
 	include/alibabacloud/waf-openapi/model/CreateCertificateRequest.h
 	include/alibabacloud/waf-openapi/model/CreateCertificateResult.h
 	include/alibabacloud/waf-openapi/model/CreateCertificateByCertificateIdRequest.h
 	include/alibabacloud/waf-openapi/model/CreateCertificateByCertificateIdResult.h
 	include/alibabacloud/waf-openapi/model/CreateDomainRequest.h
 	include/alibabacloud/waf-openapi/model/CreateDomainResult.h
+	include/alibabacloud/waf-openapi/model/CreateDomainConfigRequest.h
+	include/alibabacloud/waf-openapi/model/CreateDomainConfigResult.h
 	include/alibabacloud/waf-openapi/model/CreateProtectionModuleRuleRequest.h
 	include/alibabacloud/waf-openapi/model/CreateProtectionModuleRuleResult.h
+	include/alibabacloud/waf-openapi/model/DeleteAclRuleRequest.h
+	include/alibabacloud/waf-openapi/model/DeleteAclRuleResult.h
 	include/alibabacloud/waf-openapi/model/DeleteDomainRequest.h
 	include/alibabacloud/waf-openapi/model/DeleteDomainResult.h
+	include/alibabacloud/waf-openapi/model/DeleteDomainConfigRequest.h
+	include/alibabacloud/waf-openapi/model/DeleteDomainConfigResult.h
 	include/alibabacloud/waf-openapi/model/DeleteInstanceRequest.h
 	include/alibabacloud/waf-openapi/model/DeleteInstanceResult.h
 	include/alibabacloud/waf-openapi/model/DeleteProtectionModuleRuleRequest.h
 	include/alibabacloud/waf-openapi/model/DeleteProtectionModuleRuleResult.h
+	include/alibabacloud/waf-openapi/model/DescribeAclRulesRequest.h
+	include/alibabacloud/waf-openapi/model/DescribeAclRulesResult.h
+	include/alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusRequest.h
+	include/alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusResult.h
 	include/alibabacloud/waf-openapi/model/DescribeCertMatchStatusRequest.h
 	include/alibabacloud/waf-openapi/model/DescribeCertMatchStatusResult.h
 	include/alibabacloud/waf-openapi/model/DescribeCertificatesRequest.h
@@ -45,6 +59,10 @@ set(waf-openapi_public_header_model
 	include/alibabacloud/waf-openapi/model/DescribeDomainAdvanceConfigsResult.h
 	include/alibabacloud/waf-openapi/model/DescribeDomainBasicConfigsRequest.h
 	include/alibabacloud/waf-openapi/model/DescribeDomainBasicConfigsResult.h
+	include/alibabacloud/waf-openapi/model/DescribeDomainConfigRequest.h
+	include/alibabacloud/waf-openapi/model/DescribeDomainConfigResult.h
+	include/alibabacloud/waf-openapi/model/DescribeDomainConfigStatusRequest.h
+	include/alibabacloud/waf-openapi/model/DescribeDomainConfigStatusResult.h
 	include/alibabacloud/waf-openapi/model/DescribeDomainListRequest.h
 	include/alibabacloud/waf-openapi/model/DescribeDomainListResult.h
 	include/alibabacloud/waf-openapi/model/DescribeDomainNamesRequest.h
@@ -59,6 +77,8 @@ set(waf-openapi_public_header_model
 	include/alibabacloud/waf-openapi/model/DescribeInstanceSpecInfoResult.h
 	include/alibabacloud/waf-openapi/model/DescribeLogServiceStatusRequest.h
 	include/alibabacloud/waf-openapi/model/DescribeLogServiceStatusResult.h
+	include/alibabacloud/waf-openapi/model/DescribePayInfoRequest.h
+	include/alibabacloud/waf-openapi/model/DescribePayInfoResult.h
 	include/alibabacloud/waf-openapi/model/DescribeProtectionModuleCodeConfigRequest.h
 	include/alibabacloud/waf-openapi/model/DescribeProtectionModuleCodeConfigResult.h
 	include/alibabacloud/waf-openapi/model/DescribeProtectionModuleModeRequest.h
@@ -67,10 +87,16 @@ set(waf-openapi_public_header_model
 	include/alibabacloud/waf-openapi/model/DescribeProtectionModuleRulesResult.h
 	include/alibabacloud/waf-openapi/model/DescribeProtectionModuleStatusRequest.h
 	include/alibabacloud/waf-openapi/model/DescribeProtectionModuleStatusResult.h
+	include/alibabacloud/waf-openapi/model/DescribeRegionsRequest.h
+	include/alibabacloud/waf-openapi/model/DescribeRegionsResult.h
 	include/alibabacloud/waf-openapi/model/DescribeWafSourceIpSegmentRequest.h
 	include/alibabacloud/waf-openapi/model/DescribeWafSourceIpSegmentResult.h
+	include/alibabacloud/waf-openapi/model/ModifyAclRuleRequest.h
+	include/alibabacloud/waf-openapi/model/ModifyAclRuleResult.h
 	include/alibabacloud/waf-openapi/model/ModifyDomainRequest.h
 	include/alibabacloud/waf-openapi/model/ModifyDomainResult.h
+	include/alibabacloud/waf-openapi/model/ModifyDomainConfigRequest.h
+	include/alibabacloud/waf-openapi/model/ModifyDomainConfigResult.h
 	include/alibabacloud/waf-openapi/model/ModifyDomainIpv6StatusRequest.h
 	include/alibabacloud/waf-openapi/model/ModifyDomainIpv6StatusResult.h
 	include/alibabacloud/waf-openapi/model/ModifyLogRetrievalStatusRequest.h
@@ -87,25 +113,43 @@ set(waf-openapi_public_header_model
 	include/alibabacloud/waf-openapi/model/ModifyProtectionRuleCacheStatusResult.h
 	include/alibabacloud/waf-openapi/model/ModifyProtectionRuleStatusRequest.h
 	include/alibabacloud/waf-openapi/model/ModifyProtectionRuleStatusResult.h
+	include/alibabacloud/waf-openapi/model/ModifyWafSwitchRequest.h
+	include/alibabacloud/waf-openapi/model/ModifyWafSwitchResult.h
+	include/alibabacloud/waf-openapi/model/MoveResourceGroupRequest.h
+	include/alibabacloud/waf-openapi/model/MoveResourceGroupResult.h
 	include/alibabacloud/waf-openapi/model/SetDomainRuleGroupRequest.h
 	include/alibabacloud/waf-openapi/model/SetDomainRuleGroupResult.h )
 
 set(waf-openapi_src 
 	src/Waf-openapiClient.cc
+	src/model/CreateAclRuleRequest.cc
+	src/model/CreateAclRuleResult.cc
+	src/model/CreateCertAndKeyRequest.cc
+	src/model/CreateCertAndKeyResult.cc
 	src/model/CreateCertificateRequest.cc
 	src/model/CreateCertificateResult.cc
 	src/model/CreateCertificateByCertificateIdRequest.cc
 	src/model/CreateCertificateByCertificateIdResult.cc
 	src/model/CreateDomainRequest.cc
 	src/model/CreateDomainResult.cc
+	src/model/CreateDomainConfigRequest.cc
+	src/model/CreateDomainConfigResult.cc
 	src/model/CreateProtectionModuleRuleRequest.cc
 	src/model/CreateProtectionModuleRuleResult.cc
+	src/model/DeleteAclRuleRequest.cc
+	src/model/DeleteAclRuleResult.cc
 	src/model/DeleteDomainRequest.cc
 	src/model/DeleteDomainResult.cc
+	src/model/DeleteDomainConfigRequest.cc
+	src/model/DeleteDomainConfigResult.cc
 	src/model/DeleteInstanceRequest.cc
 	src/model/DeleteInstanceResult.cc
 	src/model/DeleteProtectionModuleRuleRequest.cc
 	src/model/DeleteProtectionModuleRuleResult.cc
+	src/model/DescribeAclRulesRequest.cc
+	src/model/DescribeAclRulesResult.cc
+	src/model/DescribeAsyncTaskStatusRequest.cc
+	src/model/DescribeAsyncTaskStatusResult.cc
 	src/model/DescribeCertMatchStatusRequest.cc
 	src/model/DescribeCertMatchStatusResult.cc
 	src/model/DescribeCertificatesRequest.cc
@@ -116,6 +160,10 @@ set(waf-openapi_src
 	src/model/DescribeDomainAdvanceConfigsResult.cc
 	src/model/DescribeDomainBasicConfigsRequest.cc
 	src/model/DescribeDomainBasicConfigsResult.cc
+	src/model/DescribeDomainConfigRequest.cc
+	src/model/DescribeDomainConfigResult.cc
+	src/model/DescribeDomainConfigStatusRequest.cc
+	src/model/DescribeDomainConfigStatusResult.cc
 	src/model/DescribeDomainListRequest.cc
 	src/model/DescribeDomainListResult.cc
 	src/model/DescribeDomainNamesRequest.cc
@@ -130,6 +178,8 @@ set(waf-openapi_src
 	src/model/DescribeInstanceSpecInfoResult.cc
 	src/model/DescribeLogServiceStatusRequest.cc
 	src/model/DescribeLogServiceStatusResult.cc
+	src/model/DescribePayInfoRequest.cc
+	src/model/DescribePayInfoResult.cc
 	src/model/DescribeProtectionModuleCodeConfigRequest.cc
 	src/model/DescribeProtectionModuleCodeConfigResult.cc
 	src/model/DescribeProtectionModuleModeRequest.cc
@@ -138,10 +188,16 @@ set(waf-openapi_src
 	src/model/DescribeProtectionModuleRulesResult.cc
 	src/model/DescribeProtectionModuleStatusRequest.cc
 	src/model/DescribeProtectionModuleStatusResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
 	src/model/DescribeWafSourceIpSegmentRequest.cc
 	src/model/DescribeWafSourceIpSegmentResult.cc
+	src/model/ModifyAclRuleRequest.cc
+	src/model/ModifyAclRuleResult.cc
 	src/model/ModifyDomainRequest.cc
 	src/model/ModifyDomainResult.cc
+	src/model/ModifyDomainConfigRequest.cc
+	src/model/ModifyDomainConfigResult.cc
 	src/model/ModifyDomainIpv6StatusRequest.cc
 	src/model/ModifyDomainIpv6StatusResult.cc
 	src/model/ModifyLogRetrievalStatusRequest.cc
@@ -158,6 +214,10 @@ set(waf-openapi_src
 	src/model/ModifyProtectionRuleCacheStatusResult.cc
 	src/model/ModifyProtectionRuleStatusRequest.cc
 	src/model/ModifyProtectionRuleStatusResult.cc
+	src/model/ModifyWafSwitchRequest.cc
+	src/model/ModifyWafSwitchResult.cc
+	src/model/MoveResourceGroupRequest.cc
+	src/model/MoveResourceGroupResult.cc
 	src/model/SetDomainRuleGroupRequest.cc
 	src/model/SetDomainRuleGroupResult.cc )
 

+ 120 - 0
waf-openapi/include/alibabacloud/waf-openapi/Waf_openapiClient.h

@@ -22,20 +22,34 @@
 #include <alibabacloud/core/EndpointProvider.h>
 #include <alibabacloud/core/RpcServiceClient.h>
 #include "Waf_openapiExport.h"
+#include "model/CreateAclRuleRequest.h"
+#include "model/CreateAclRuleResult.h"
+#include "model/CreateCertAndKeyRequest.h"
+#include "model/CreateCertAndKeyResult.h"
 #include "model/CreateCertificateRequest.h"
 #include "model/CreateCertificateResult.h"
 #include "model/CreateCertificateByCertificateIdRequest.h"
 #include "model/CreateCertificateByCertificateIdResult.h"
 #include "model/CreateDomainRequest.h"
 #include "model/CreateDomainResult.h"
+#include "model/CreateDomainConfigRequest.h"
+#include "model/CreateDomainConfigResult.h"
 #include "model/CreateProtectionModuleRuleRequest.h"
 #include "model/CreateProtectionModuleRuleResult.h"
+#include "model/DeleteAclRuleRequest.h"
+#include "model/DeleteAclRuleResult.h"
 #include "model/DeleteDomainRequest.h"
 #include "model/DeleteDomainResult.h"
+#include "model/DeleteDomainConfigRequest.h"
+#include "model/DeleteDomainConfigResult.h"
 #include "model/DeleteInstanceRequest.h"
 #include "model/DeleteInstanceResult.h"
 #include "model/DeleteProtectionModuleRuleRequest.h"
 #include "model/DeleteProtectionModuleRuleResult.h"
+#include "model/DescribeAclRulesRequest.h"
+#include "model/DescribeAclRulesResult.h"
+#include "model/DescribeAsyncTaskStatusRequest.h"
+#include "model/DescribeAsyncTaskStatusResult.h"
 #include "model/DescribeCertMatchStatusRequest.h"
 #include "model/DescribeCertMatchStatusResult.h"
 #include "model/DescribeCertificatesRequest.h"
@@ -46,6 +60,10 @@
 #include "model/DescribeDomainAdvanceConfigsResult.h"
 #include "model/DescribeDomainBasicConfigsRequest.h"
 #include "model/DescribeDomainBasicConfigsResult.h"
+#include "model/DescribeDomainConfigRequest.h"
+#include "model/DescribeDomainConfigResult.h"
+#include "model/DescribeDomainConfigStatusRequest.h"
+#include "model/DescribeDomainConfigStatusResult.h"
 #include "model/DescribeDomainListRequest.h"
 #include "model/DescribeDomainListResult.h"
 #include "model/DescribeDomainNamesRequest.h"
@@ -60,6 +78,8 @@
 #include "model/DescribeInstanceSpecInfoResult.h"
 #include "model/DescribeLogServiceStatusRequest.h"
 #include "model/DescribeLogServiceStatusResult.h"
+#include "model/DescribePayInfoRequest.h"
+#include "model/DescribePayInfoResult.h"
 #include "model/DescribeProtectionModuleCodeConfigRequest.h"
 #include "model/DescribeProtectionModuleCodeConfigResult.h"
 #include "model/DescribeProtectionModuleModeRequest.h"
@@ -68,10 +88,16 @@
 #include "model/DescribeProtectionModuleRulesResult.h"
 #include "model/DescribeProtectionModuleStatusRequest.h"
 #include "model/DescribeProtectionModuleStatusResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
 #include "model/DescribeWafSourceIpSegmentRequest.h"
 #include "model/DescribeWafSourceIpSegmentResult.h"
+#include "model/ModifyAclRuleRequest.h"
+#include "model/ModifyAclRuleResult.h"
 #include "model/ModifyDomainRequest.h"
 #include "model/ModifyDomainResult.h"
+#include "model/ModifyDomainConfigRequest.h"
+#include "model/ModifyDomainConfigResult.h"
 #include "model/ModifyDomainIpv6StatusRequest.h"
 #include "model/ModifyDomainIpv6StatusResult.h"
 #include "model/ModifyLogRetrievalStatusRequest.h"
@@ -88,6 +114,10 @@
 #include "model/ModifyProtectionRuleCacheStatusResult.h"
 #include "model/ModifyProtectionRuleStatusRequest.h"
 #include "model/ModifyProtectionRuleStatusResult.h"
+#include "model/ModifyWafSwitchRequest.h"
+#include "model/ModifyWafSwitchResult.h"
+#include "model/MoveResourceGroupRequest.h"
+#include "model/MoveResourceGroupResult.h"
 #include "model/SetDomainRuleGroupRequest.h"
 #include "model/SetDomainRuleGroupResult.h"
 
@@ -99,6 +129,12 @@ namespace AlibabaCloud
 		class ALIBABACLOUD_WAF_OPENAPI_EXPORT Waf_openapiClient : public RpcServiceClient
 		{
 		public:
+			typedef Outcome<Error, Model::CreateAclRuleResult> CreateAclRuleOutcome;
+			typedef std::future<CreateAclRuleOutcome> CreateAclRuleOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::CreateAclRuleRequest&, const CreateAclRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAclRuleAsyncHandler;
+			typedef Outcome<Error, Model::CreateCertAndKeyResult> CreateCertAndKeyOutcome;
+			typedef std::future<CreateCertAndKeyOutcome> CreateCertAndKeyOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::CreateCertAndKeyRequest&, const CreateCertAndKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCertAndKeyAsyncHandler;
 			typedef Outcome<Error, Model::CreateCertificateResult> CreateCertificateOutcome;
 			typedef std::future<CreateCertificateOutcome> CreateCertificateOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::CreateCertificateRequest&, const CreateCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCertificateAsyncHandler;
@@ -108,18 +144,33 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateDomainResult> CreateDomainOutcome;
 			typedef std::future<CreateDomainOutcome> CreateDomainOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::CreateDomainRequest&, const CreateDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDomainAsyncHandler;
+			typedef Outcome<Error, Model::CreateDomainConfigResult> CreateDomainConfigOutcome;
+			typedef std::future<CreateDomainConfigOutcome> CreateDomainConfigOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::CreateDomainConfigRequest&, const CreateDomainConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDomainConfigAsyncHandler;
 			typedef Outcome<Error, Model::CreateProtectionModuleRuleResult> CreateProtectionModuleRuleOutcome;
 			typedef std::future<CreateProtectionModuleRuleOutcome> CreateProtectionModuleRuleOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::CreateProtectionModuleRuleRequest&, const CreateProtectionModuleRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateProtectionModuleRuleAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAclRuleResult> DeleteAclRuleOutcome;
+			typedef std::future<DeleteAclRuleOutcome> DeleteAclRuleOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DeleteAclRuleRequest&, const DeleteAclRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAclRuleAsyncHandler;
 			typedef Outcome<Error, Model::DeleteDomainResult> DeleteDomainOutcome;
 			typedef std::future<DeleteDomainOutcome> DeleteDomainOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DeleteDomainRequest&, const DeleteDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDomainAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDomainConfigResult> DeleteDomainConfigOutcome;
+			typedef std::future<DeleteDomainConfigOutcome> DeleteDomainConfigOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DeleteDomainConfigRequest&, const DeleteDomainConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDomainConfigAsyncHandler;
 			typedef Outcome<Error, Model::DeleteInstanceResult> DeleteInstanceOutcome;
 			typedef std::future<DeleteInstanceOutcome> DeleteInstanceOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DeleteInstanceRequest&, const DeleteInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteInstanceAsyncHandler;
 			typedef Outcome<Error, Model::DeleteProtectionModuleRuleResult> DeleteProtectionModuleRuleOutcome;
 			typedef std::future<DeleteProtectionModuleRuleOutcome> DeleteProtectionModuleRuleOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DeleteProtectionModuleRuleRequest&, const DeleteProtectionModuleRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteProtectionModuleRuleAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAclRulesResult> DescribeAclRulesOutcome;
+			typedef std::future<DescribeAclRulesOutcome> DescribeAclRulesOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeAclRulesRequest&, const DescribeAclRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAclRulesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAsyncTaskStatusResult> DescribeAsyncTaskStatusOutcome;
+			typedef std::future<DescribeAsyncTaskStatusOutcome> DescribeAsyncTaskStatusOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeAsyncTaskStatusRequest&, const DescribeAsyncTaskStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAsyncTaskStatusAsyncHandler;
 			typedef Outcome<Error, Model::DescribeCertMatchStatusResult> DescribeCertMatchStatusOutcome;
 			typedef std::future<DescribeCertMatchStatusOutcome> DescribeCertMatchStatusOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeCertMatchStatusRequest&, const DescribeCertMatchStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCertMatchStatusAsyncHandler;
@@ -135,6 +186,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDomainBasicConfigsResult> DescribeDomainBasicConfigsOutcome;
 			typedef std::future<DescribeDomainBasicConfigsOutcome> DescribeDomainBasicConfigsOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeDomainBasicConfigsRequest&, const DescribeDomainBasicConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainBasicConfigsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainConfigResult> DescribeDomainConfigOutcome;
+			typedef std::future<DescribeDomainConfigOutcome> DescribeDomainConfigOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeDomainConfigRequest&, const DescribeDomainConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainConfigStatusResult> DescribeDomainConfigStatusOutcome;
+			typedef std::future<DescribeDomainConfigStatusOutcome> DescribeDomainConfigStatusOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeDomainConfigStatusRequest&, const DescribeDomainConfigStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainConfigStatusAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDomainListResult> DescribeDomainListOutcome;
 			typedef std::future<DescribeDomainListOutcome> DescribeDomainListOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeDomainListRequest&, const DescribeDomainListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainListAsyncHandler;
@@ -156,6 +213,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLogServiceStatusResult> DescribeLogServiceStatusOutcome;
 			typedef std::future<DescribeLogServiceStatusOutcome> DescribeLogServiceStatusOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeLogServiceStatusRequest&, const DescribeLogServiceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLogServiceStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribePayInfoResult> DescribePayInfoOutcome;
+			typedef std::future<DescribePayInfoOutcome> DescribePayInfoOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DescribePayInfoRequest&, const DescribePayInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePayInfoAsyncHandler;
 			typedef Outcome<Error, Model::DescribeProtectionModuleCodeConfigResult> DescribeProtectionModuleCodeConfigOutcome;
 			typedef std::future<DescribeProtectionModuleCodeConfigOutcome> DescribeProtectionModuleCodeConfigOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeProtectionModuleCodeConfigRequest&, const DescribeProtectionModuleCodeConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeProtectionModuleCodeConfigAsyncHandler;
@@ -168,12 +228,21 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeProtectionModuleStatusResult> DescribeProtectionModuleStatusOutcome;
 			typedef std::future<DescribeProtectionModuleStatusOutcome> DescribeProtectionModuleStatusOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeProtectionModuleStatusRequest&, const DescribeProtectionModuleStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeProtectionModuleStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeWafSourceIpSegmentResult> DescribeWafSourceIpSegmentOutcome;
 			typedef std::future<DescribeWafSourceIpSegmentOutcome> DescribeWafSourceIpSegmentOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::DescribeWafSourceIpSegmentRequest&, const DescribeWafSourceIpSegmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeWafSourceIpSegmentAsyncHandler;
+			typedef Outcome<Error, Model::ModifyAclRuleResult> ModifyAclRuleOutcome;
+			typedef std::future<ModifyAclRuleOutcome> ModifyAclRuleOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::ModifyAclRuleRequest&, const ModifyAclRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAclRuleAsyncHandler;
 			typedef Outcome<Error, Model::ModifyDomainResult> ModifyDomainOutcome;
 			typedef std::future<ModifyDomainOutcome> ModifyDomainOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::ModifyDomainRequest&, const ModifyDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDomainAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDomainConfigResult> ModifyDomainConfigOutcome;
+			typedef std::future<ModifyDomainConfigOutcome> ModifyDomainConfigOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::ModifyDomainConfigRequest&, const ModifyDomainConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDomainConfigAsyncHandler;
 			typedef Outcome<Error, Model::ModifyDomainIpv6StatusResult> ModifyDomainIpv6StatusOutcome;
 			typedef std::future<ModifyDomainIpv6StatusOutcome> ModifyDomainIpv6StatusOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::ModifyDomainIpv6StatusRequest&, const ModifyDomainIpv6StatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDomainIpv6StatusAsyncHandler;
@@ -198,6 +267,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyProtectionRuleStatusResult> ModifyProtectionRuleStatusOutcome;
 			typedef std::future<ModifyProtectionRuleStatusOutcome> ModifyProtectionRuleStatusOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::ModifyProtectionRuleStatusRequest&, const ModifyProtectionRuleStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyProtectionRuleStatusAsyncHandler;
+			typedef Outcome<Error, Model::ModifyWafSwitchResult> ModifyWafSwitchOutcome;
+			typedef std::future<ModifyWafSwitchOutcome> ModifyWafSwitchOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::ModifyWafSwitchRequest&, const ModifyWafSwitchOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyWafSwitchAsyncHandler;
+			typedef Outcome<Error, Model::MoveResourceGroupResult> MoveResourceGroupOutcome;
+			typedef std::future<MoveResourceGroupOutcome> MoveResourceGroupOutcomeCallable;
+			typedef std::function<void(const Waf_openapiClient*, const Model::MoveResourceGroupRequest&, const MoveResourceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> MoveResourceGroupAsyncHandler;
 			typedef Outcome<Error, Model::SetDomainRuleGroupResult> SetDomainRuleGroupOutcome;
 			typedef std::future<SetDomainRuleGroupOutcome> SetDomainRuleGroupOutcomeCallable;
 			typedef std::function<void(const Waf_openapiClient*, const Model::SetDomainRuleGroupRequest&, const SetDomainRuleGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetDomainRuleGroupAsyncHandler;
@@ -206,6 +281,12 @@ namespace AlibabaCloud
 			Waf_openapiClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
 			Waf_openapiClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
 			~Waf_openapiClient();
+			CreateAclRuleOutcome createAclRule(const Model::CreateAclRuleRequest &request)const;
+			void createAclRuleAsync(const Model::CreateAclRuleRequest& request, const CreateAclRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAclRuleOutcomeCallable createAclRuleCallable(const Model::CreateAclRuleRequest& request) const;
+			CreateCertAndKeyOutcome createCertAndKey(const Model::CreateCertAndKeyRequest &request)const;
+			void createCertAndKeyAsync(const Model::CreateCertAndKeyRequest& request, const CreateCertAndKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateCertAndKeyOutcomeCallable createCertAndKeyCallable(const Model::CreateCertAndKeyRequest& request) const;
 			CreateCertificateOutcome createCertificate(const Model::CreateCertificateRequest &request)const;
 			void createCertificateAsync(const Model::CreateCertificateRequest& request, const CreateCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCertificateOutcomeCallable createCertificateCallable(const Model::CreateCertificateRequest& request) const;
@@ -215,18 +296,33 @@ namespace AlibabaCloud
 			CreateDomainOutcome createDomain(const Model::CreateDomainRequest &request)const;
 			void createDomainAsync(const Model::CreateDomainRequest& request, const CreateDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDomainOutcomeCallable createDomainCallable(const Model::CreateDomainRequest& request) const;
+			CreateDomainConfigOutcome createDomainConfig(const Model::CreateDomainConfigRequest &request)const;
+			void createDomainConfigAsync(const Model::CreateDomainConfigRequest& request, const CreateDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDomainConfigOutcomeCallable createDomainConfigCallable(const Model::CreateDomainConfigRequest& request) const;
 			CreateProtectionModuleRuleOutcome createProtectionModuleRule(const Model::CreateProtectionModuleRuleRequest &request)const;
 			void createProtectionModuleRuleAsync(const Model::CreateProtectionModuleRuleRequest& request, const CreateProtectionModuleRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateProtectionModuleRuleOutcomeCallable createProtectionModuleRuleCallable(const Model::CreateProtectionModuleRuleRequest& request) const;
+			DeleteAclRuleOutcome deleteAclRule(const Model::DeleteAclRuleRequest &request)const;
+			void deleteAclRuleAsync(const Model::DeleteAclRuleRequest& request, const DeleteAclRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAclRuleOutcomeCallable deleteAclRuleCallable(const Model::DeleteAclRuleRequest& request) const;
 			DeleteDomainOutcome deleteDomain(const Model::DeleteDomainRequest &request)const;
 			void deleteDomainAsync(const Model::DeleteDomainRequest& request, const DeleteDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDomainOutcomeCallable deleteDomainCallable(const Model::DeleteDomainRequest& request) const;
+			DeleteDomainConfigOutcome deleteDomainConfig(const Model::DeleteDomainConfigRequest &request)const;
+			void deleteDomainConfigAsync(const Model::DeleteDomainConfigRequest& request, const DeleteDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDomainConfigOutcomeCallable deleteDomainConfigCallable(const Model::DeleteDomainConfigRequest& request) const;
 			DeleteInstanceOutcome deleteInstance(const Model::DeleteInstanceRequest &request)const;
 			void deleteInstanceAsync(const Model::DeleteInstanceRequest& request, const DeleteInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteInstanceOutcomeCallable deleteInstanceCallable(const Model::DeleteInstanceRequest& request) const;
 			DeleteProtectionModuleRuleOutcome deleteProtectionModuleRule(const Model::DeleteProtectionModuleRuleRequest &request)const;
 			void deleteProtectionModuleRuleAsync(const Model::DeleteProtectionModuleRuleRequest& request, const DeleteProtectionModuleRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteProtectionModuleRuleOutcomeCallable deleteProtectionModuleRuleCallable(const Model::DeleteProtectionModuleRuleRequest& request) const;
+			DescribeAclRulesOutcome describeAclRules(const Model::DescribeAclRulesRequest &request)const;
+			void describeAclRulesAsync(const Model::DescribeAclRulesRequest& request, const DescribeAclRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAclRulesOutcomeCallable describeAclRulesCallable(const Model::DescribeAclRulesRequest& request) const;
+			DescribeAsyncTaskStatusOutcome describeAsyncTaskStatus(const Model::DescribeAsyncTaskStatusRequest &request)const;
+			void describeAsyncTaskStatusAsync(const Model::DescribeAsyncTaskStatusRequest& request, const DescribeAsyncTaskStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAsyncTaskStatusOutcomeCallable describeAsyncTaskStatusCallable(const Model::DescribeAsyncTaskStatusRequest& request) const;
 			DescribeCertMatchStatusOutcome describeCertMatchStatus(const Model::DescribeCertMatchStatusRequest &request)const;
 			void describeCertMatchStatusAsync(const Model::DescribeCertMatchStatusRequest& request, const DescribeCertMatchStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCertMatchStatusOutcomeCallable describeCertMatchStatusCallable(const Model::DescribeCertMatchStatusRequest& request) const;
@@ -242,6 +338,12 @@ namespace AlibabaCloud
 			DescribeDomainBasicConfigsOutcome describeDomainBasicConfigs(const Model::DescribeDomainBasicConfigsRequest &request)const;
 			void describeDomainBasicConfigsAsync(const Model::DescribeDomainBasicConfigsRequest& request, const DescribeDomainBasicConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainBasicConfigsOutcomeCallable describeDomainBasicConfigsCallable(const Model::DescribeDomainBasicConfigsRequest& request) const;
+			DescribeDomainConfigOutcome describeDomainConfig(const Model::DescribeDomainConfigRequest &request)const;
+			void describeDomainConfigAsync(const Model::DescribeDomainConfigRequest& request, const DescribeDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainConfigOutcomeCallable describeDomainConfigCallable(const Model::DescribeDomainConfigRequest& request) const;
+			DescribeDomainConfigStatusOutcome describeDomainConfigStatus(const Model::DescribeDomainConfigStatusRequest &request)const;
+			void describeDomainConfigStatusAsync(const Model::DescribeDomainConfigStatusRequest& request, const DescribeDomainConfigStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainConfigStatusOutcomeCallable describeDomainConfigStatusCallable(const Model::DescribeDomainConfigStatusRequest& request) const;
 			DescribeDomainListOutcome describeDomainList(const Model::DescribeDomainListRequest &request)const;
 			void describeDomainListAsync(const Model::DescribeDomainListRequest& request, const DescribeDomainListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainListOutcomeCallable describeDomainListCallable(const Model::DescribeDomainListRequest& request) const;
@@ -263,6 +365,9 @@ namespace AlibabaCloud
 			DescribeLogServiceStatusOutcome describeLogServiceStatus(const Model::DescribeLogServiceStatusRequest &request)const;
 			void describeLogServiceStatusAsync(const Model::DescribeLogServiceStatusRequest& request, const DescribeLogServiceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLogServiceStatusOutcomeCallable describeLogServiceStatusCallable(const Model::DescribeLogServiceStatusRequest& request) const;
+			DescribePayInfoOutcome describePayInfo(const Model::DescribePayInfoRequest &request)const;
+			void describePayInfoAsync(const Model::DescribePayInfoRequest& request, const DescribePayInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePayInfoOutcomeCallable describePayInfoCallable(const Model::DescribePayInfoRequest& request) const;
 			DescribeProtectionModuleCodeConfigOutcome describeProtectionModuleCodeConfig(const Model::DescribeProtectionModuleCodeConfigRequest &request)const;
 			void describeProtectionModuleCodeConfigAsync(const Model::DescribeProtectionModuleCodeConfigRequest& request, const DescribeProtectionModuleCodeConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeProtectionModuleCodeConfigOutcomeCallable describeProtectionModuleCodeConfigCallable(const Model::DescribeProtectionModuleCodeConfigRequest& request) const;
@@ -275,12 +380,21 @@ namespace AlibabaCloud
 			DescribeProtectionModuleStatusOutcome describeProtectionModuleStatus(const Model::DescribeProtectionModuleStatusRequest &request)const;
 			void describeProtectionModuleStatusAsync(const Model::DescribeProtectionModuleStatusRequest& request, const DescribeProtectionModuleStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeProtectionModuleStatusOutcomeCallable describeProtectionModuleStatusCallable(const Model::DescribeProtectionModuleStatusRequest& request) const;
+			DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
+			void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
 			DescribeWafSourceIpSegmentOutcome describeWafSourceIpSegment(const Model::DescribeWafSourceIpSegmentRequest &request)const;
 			void describeWafSourceIpSegmentAsync(const Model::DescribeWafSourceIpSegmentRequest& request, const DescribeWafSourceIpSegmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeWafSourceIpSegmentOutcomeCallable describeWafSourceIpSegmentCallable(const Model::DescribeWafSourceIpSegmentRequest& request) const;
+			ModifyAclRuleOutcome modifyAclRule(const Model::ModifyAclRuleRequest &request)const;
+			void modifyAclRuleAsync(const Model::ModifyAclRuleRequest& request, const ModifyAclRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyAclRuleOutcomeCallable modifyAclRuleCallable(const Model::ModifyAclRuleRequest& request) const;
 			ModifyDomainOutcome modifyDomain(const Model::ModifyDomainRequest &request)const;
 			void modifyDomainAsync(const Model::ModifyDomainRequest& request, const ModifyDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDomainOutcomeCallable modifyDomainCallable(const Model::ModifyDomainRequest& request) const;
+			ModifyDomainConfigOutcome modifyDomainConfig(const Model::ModifyDomainConfigRequest &request)const;
+			void modifyDomainConfigAsync(const Model::ModifyDomainConfigRequest& request, const ModifyDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDomainConfigOutcomeCallable modifyDomainConfigCallable(const Model::ModifyDomainConfigRequest& request) const;
 			ModifyDomainIpv6StatusOutcome modifyDomainIpv6Status(const Model::ModifyDomainIpv6StatusRequest &request)const;
 			void modifyDomainIpv6StatusAsync(const Model::ModifyDomainIpv6StatusRequest& request, const ModifyDomainIpv6StatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDomainIpv6StatusOutcomeCallable modifyDomainIpv6StatusCallable(const Model::ModifyDomainIpv6StatusRequest& request) const;
@@ -305,6 +419,12 @@ namespace AlibabaCloud
 			ModifyProtectionRuleStatusOutcome modifyProtectionRuleStatus(const Model::ModifyProtectionRuleStatusRequest &request)const;
 			void modifyProtectionRuleStatusAsync(const Model::ModifyProtectionRuleStatusRequest& request, const ModifyProtectionRuleStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyProtectionRuleStatusOutcomeCallable modifyProtectionRuleStatusCallable(const Model::ModifyProtectionRuleStatusRequest& request) const;
+			ModifyWafSwitchOutcome modifyWafSwitch(const Model::ModifyWafSwitchRequest &request)const;
+			void modifyWafSwitchAsync(const Model::ModifyWafSwitchRequest& request, const ModifyWafSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyWafSwitchOutcomeCallable modifyWafSwitchCallable(const Model::ModifyWafSwitchRequest& request) const;
+			MoveResourceGroupOutcome moveResourceGroup(const Model::MoveResourceGroupRequest &request)const;
+			void moveResourceGroupAsync(const Model::MoveResourceGroupRequest& request, const MoveResourceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			MoveResourceGroupOutcomeCallable moveResourceGroupCallable(const Model::MoveResourceGroupRequest& request) const;
 			SetDomainRuleGroupOutcome setDomainRuleGroup(const Model::SetDomainRuleGroupRequest &request)const;
 			void setDomainRuleGroupAsync(const Model::SetDomainRuleGroupRequest& request, const SetDomainRuleGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetDomainRuleGroupOutcomeCallable setDomainRuleGroupCallable(const Model::SetDomainRuleGroupRequest& request) const;

+ 63 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/CreateAclRuleRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEACLRULEREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEACLRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT CreateAclRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateAclRuleRequest();
+				~CreateAclRuleRequest();
+
+				std::string getRules()const;
+				void setRules(const std::string& rules);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string rules_;
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string domain_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEACLRULEREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/CreateAclRuleResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEACLRULERESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEACLRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT CreateAclRuleResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				CreateAclRuleResult();
+				explicit CreateAclRuleResult(const std::string &payload);
+				~CreateAclRuleResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEACLRULERESULT_H_

+ 69 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/CreateCertAndKeyRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATECERTANDKEYREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATECERTANDKEYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT CreateCertAndKeyRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateCertAndKeyRequest();
+				~CreateCertAndKeyRequest();
+
+				std::string getCert()const;
+				void setCert(const std::string& cert);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getHttpsCertName()const;
+				void setHttpsCertName(const std::string& httpsCertName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getKey()const;
+				void setKey(const std::string& key);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string cert_;
+				std::string sourceIp_;
+				std::string httpsCertName_;
+				std::string lang_;
+				std::string key_;
+				std::string instanceId_;
+				std::string domain_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATECERTANDKEYREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/CreateCertAndKeyResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATECERTANDKEYRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATECERTANDKEYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT CreateCertAndKeyResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				CreateCertAndKeyResult();
+				explicit CreateCertAndKeyResult(const std::string &payload);
+				~CreateCertAndKeyResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATECERTANDKEYRESULT_H_

+ 90 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/CreateDomainConfigRequest.h

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEDOMAINCONFIGREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEDOMAINCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT CreateDomainConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateDomainConfigRequest();
+				~CreateDomainConfigRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getHttpPort()const;
+				void setHttpPort(const std::string& httpPort);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getProtocols()const;
+				void setProtocols(const std::string& protocols);
+				int getRsType()const;
+				void setRsType(int rsType);
+				int getHttpsRedirect()const;
+				void setHttpsRedirect(int httpsRedirect);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIps()const;
+				void setSourceIps(const std::string& sourceIps);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				int getIsAccessProduct()const;
+				void setIsAccessProduct(int isAccessProduct);
+				std::string getHttpsPort()const;
+				void setHttpsPort(const std::string& httpsPort);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+				int getLoadBalancing()const;
+				void setLoadBalancing(int loadBalancing);
+				int getHttpToUserIp()const;
+				void setHttpToUserIp(int httpToUserIp);
+
+            private:
+				std::string resourceGroupId_;
+				std::string sourceIp_;
+				std::string httpPort_;
+				std::string lang_;
+				std::string protocols_;
+				int rsType_;
+				int httpsRedirect_;
+				std::string instanceId_;
+				std::string sourceIps_;
+				std::string domain_;
+				int isAccessProduct_;
+				std::string httpsPort_;
+				std::string region_;
+				int loadBalancing_;
+				int httpToUserIp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEDOMAINCONFIGREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/CreateDomainConfigResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEDOMAINCONFIGRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEDOMAINCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT CreateDomainConfigResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				CreateDomainConfigResult();
+				explicit CreateDomainConfigResult(const std::string &payload);
+				~CreateDomainConfigResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_CREATEDOMAINCONFIGRESULT_H_

+ 6 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/CreateDomainRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				int getIpFollowStatus()const;
 				void setIpFollowStatus(int ipFollowStatus);
+				std::string getSniHost()const;
+				void setSniHost(const std::string& sniHost);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getSourceIp()const;
@@ -47,6 +49,8 @@ namespace AlibabaCloud
 				void setHttp2Port(const std::string& http2Port);
 				int getWriteTime()const;
 				void setWriteTime(int writeTime);
+				int getSniStatus()const;
+				void setSniStatus(int sniStatus);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
 				int getAccessHeaderMode()const;
@@ -84,11 +88,13 @@ namespace AlibabaCloud
 
             private:
 				int ipFollowStatus_;
+				std::string sniHost_;
 				std::string resourceGroupId_;
 				std::string sourceIp_;
 				std::string httpPort_;
 				std::string http2Port_;
 				int writeTime_;
+				int sniStatus_;
 				std::string lang_;
 				int accessHeaderMode_;
 				std::string accessType_;

+ 12 - 9
waf-openapi/include/alibabacloud/waf-openapi/model/CreateProtectionModuleRuleRequest.h

@@ -35,26 +35,29 @@ namespace AlibabaCloud
 				CreateProtectionModuleRuleRequest();
 				~CreateProtectionModuleRuleRequest();
 
-				std::string getDefenseType()const;
-				void setDefenseType(const std::string& defenseType);
 				std::string getRule()const;
 				void setRule(const std::string& rule);
-				std::string getInstanceId()const;
-				void setInstanceId(const std::string& instanceId);
 				std::string getSourceIp()const;
 				void setSourceIp(const std::string& sourceIp);
-				std::string getDomain()const;
-				void setDomain(const std::string& domain);
+				std::string getDefense()const;
+				void setDefense(const std::string& defense);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
 
             private:
-				std::string defenseType_;
 				std::string rule_;
-				std::string instanceId_;
 				std::string sourceIp_;
-				std::string domain_;
+				std::string defense_;
 				std::string lang_;
+				std::string instanceId_;
+				std::string domain_;
+				std::string region_;
 
 			};
 		}

+ 63 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DeleteAclRuleRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEACLRULEREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEACLRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DeleteAclRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteAclRuleRequest();
+				~DeleteAclRuleRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getRuleId()const;
+				void setRuleId(long ruleId);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string domain_;
+				std::string lang_;
+				long ruleId_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEACLRULEREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DeleteAclRuleResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEACLRULERESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEACLRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DeleteAclRuleResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				DeleteAclRuleResult();
+				explicit DeleteAclRuleResult(const std::string &payload);
+				~DeleteAclRuleResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEACLRULERESULT_H_

+ 60 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DeleteDomainConfigRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEDOMAINCONFIGREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEDOMAINCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DeleteDomainConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDomainConfigRequest();
+				~DeleteDomainConfigRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string domain_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEDOMAINCONFIGREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DeleteDomainConfigResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEDOMAINCONFIGRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEDOMAINCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DeleteDomainConfigResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				DeleteDomainConfigResult();
+				explicit DeleteDomainConfigResult(const std::string &payload);
+				~DeleteDomainConfigResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DELETEDOMAINCONFIGRESULT_H_

+ 66 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAclRulesRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEACLRULESREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEACLRULESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeAclRulesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAclRulesRequest();
+				~DescribeAclRulesRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string sourceIp_;
+				int pageSize_;
+				std::string lang_;
+				int currentPage_;
+				std::string instanceId_;
+				std::string domain_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEACLRULESREQUEST_H_

+ 77 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAclRulesResult.h

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEACLRULESRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEACLRULESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeAclRulesResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					struct AclRule
+					{
+						struct Condition
+						{
+							std::string value;
+							std::string contain;
+							std::string key;
+						};
+						int continueBlockGeo;
+						int isDefault;
+						int order;
+						int action;
+						int continueWaf;
+						int continueSdk;
+						long id;
+						int continueCc;
+						std::vector<AclRule::Condition> conditions;
+						int continueSA;
+						int continueDataRiskControl;
+						std::string name;
+					};
+					std::vector<AclRule> aclRules;
+					int total;
+				};
+
+
+				DescribeAclRulesResult();
+				explicit DescribeAclRulesResult(const std::string &payload);
+				~DescribeAclRulesResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEACLRULESRESULT_H_

+ 63 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEASYNCTASKSTATUSREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEASYNCTASKSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeAsyncTaskStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAsyncTaskStatusRequest();
+				~DescribeAsyncTaskStatusRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getWafRequestId()const;
+				void setWafRequestId(const std::string& wafRequestId);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string resourceGroupId_;
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string wafRequestId_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEASYNCTASKSTATUSREQUEST_H_

+ 59 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEASYNCTASKSTATUSRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEASYNCTASKSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeAsyncTaskStatusResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int progress;
+					std::string asyncTaskStatus;
+					std::string errMsg;
+					std::string data;
+					std::string errCode;
+				};
+
+
+				DescribeAsyncTaskStatusResult();
+				explicit DescribeAsyncTaskStatusResult(const std::string &payload);
+				~DescribeAsyncTaskStatusResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEASYNCTASKSTATUSRESULT_H_

+ 5 - 5
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainAdvanceConfigsResult.h

@@ -36,18 +36,18 @@ namespace AlibabaCloud
 				{
 					struct Profile
 					{
-						std::string httpPort;
-						std::string rs;
+						std::vector<std::string> httpPort;
 						std::string gSLBStatus;
+						std::vector<std::string> rs;
 						int vipServiceStatus;
-						std::string http2Port;
+						std::vector<std::string> http2Port;
 						int certStatus;
 						int ipv6Status;
-						int exclusiveVipStatus;
 						int clusterType;
+						int exclusiveVipStatus;
 						std::string cname;
 						int resolvedType;
-						std::string httpsPort;
+						std::vector<std::string> httpsPort;
 					};
 					std::string domain;
 					Profile profile;

+ 60 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeDomainConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainConfigRequest();
+				~DescribeDomainConfigRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string domain_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGREQUEST_H_

+ 63 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigResult.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeDomainConfigResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					struct DomainConfig
+					{
+						int protocolType;
+						std::string sourceIps;
+						std::string cname;
+					};
+					int status;
+					DomainConfig domainConfig;
+					std::string wafTaskId;
+				};
+
+
+				DescribeDomainConfigResult();
+				explicit DescribeDomainConfigResult(const std::string &payload);
+				~DescribeDomainConfigResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGRESULT_H_

+ 60 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigStatusRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGSTATUSREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeDomainConfigStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainConfigStatusRequest();
+				~DescribeDomainConfigStatusRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string domain_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGSTATUSREQUEST_H_

+ 61 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainConfigStatusResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGSTATUSRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeDomainConfigStatusResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					struct DomainConfig
+					{
+						std::string configStatus;
+					};
+					int status;
+					DomainConfig domainConfig;
+					std::string wafTaskId;
+				};
+
+
+				DescribeDomainConfigStatusResult();
+				explicit DescribeDomainConfigStatusResult(const std::string &payload);
+				~DescribeDomainConfigStatusResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEDOMAINCONFIGSTATUSRESULT_H_

+ 3 - 3
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainNamesRequest.h

@@ -43,15 +43,15 @@ namespace AlibabaCloud
 				void setSourceIp(const std::string& sourceIp);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
-				std::string getCallSource()const;
-				void setCallSource(const std::string& callSource);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
 
             private:
 				std::string resourceGroupId_;
 				std::string instanceId_;
 				std::string sourceIp_;
 				std::string lang_;
-				std::string callSource_;
+				std::string region_;
 
 			};
 		}

+ 2 - 2
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainNamesResult.h

@@ -37,12 +37,12 @@ namespace AlibabaCloud
 				DescribeDomainNamesResult();
 				explicit DescribeDomainNamesResult(const std::string &payload);
 				~DescribeDomainNamesResult();
-				std::vector<std::string> getDomainNames()const;
+				std::vector<std::string> getResult()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::vector<std::string> domainNames_;
+				std::vector<std::string> result_;
 
 			};
 		}

+ 2 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeDomainResult.h

@@ -65,6 +65,8 @@ namespace AlibabaCloud
 					int loadBalancing;
 					std::string cname;
 					std::vector<LogHeader> logHeaders;
+					int sniStatus;
+					std::string sniHost;
 					int writeTime;
 					std::vector<std::string> http2Port;
 					long version;

+ 60 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribePayInfoRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEPAYINFOREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEPAYINFOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribePayInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePayInfoRequest();
+				~DescribePayInfoRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getInstanceSource()const;
+				void setInstanceSource(const std::string& instanceSource);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string resourceGroupId_;
+				std::string sourceIp_;
+				std::string instanceSource_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEPAYINFOREQUEST_H_

+ 62 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribePayInfoResult.h

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEPAYINFORESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEPAYINFORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribePayInfoResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					int trial;
+					std::string instanceId;
+					int inDebt;
+					std::string region;
+					int remainDay;
+					int payType;
+					long endDate;
+				};
+
+
+				DescribePayInfoResult();
+				explicit DescribePayInfoResult(const std::string &payload);
+				~DescribePayInfoResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEPAYINFORESULT_H_

+ 9 - 12
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeProtectionModuleRulesRequest.h

@@ -35,35 +35,32 @@ namespace AlibabaCloud
 				DescribeProtectionModuleRulesRequest();
 				~DescribeProtectionModuleRulesRequest();
 
-				int getPageNumber()const;
-				void setPageNumber(int pageNumber);
-				std::string getResourceGroupId()const;
-				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getSourceIp()const;
 				void setSourceIp(const std::string& sourceIp);
+				std::string getDefense()const;
+				void setDefense(const std::string& defense);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
-				std::string getDefenseType()const;
-				void setDefenseType(const std::string& defenseType);
-				std::string getQuery()const;
-				void setQuery(const std::string& query);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
 				std::string getInstanceId()const;
 				void setInstanceId(const std::string& instanceId);
 				std::string getDomain()const;
 				void setDomain(const std::string& domain);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
 
             private:
-				int pageNumber_;
-				std::string resourceGroupId_;
 				std::string sourceIp_;
+				std::string defense_;
 				int pageSize_;
 				std::string lang_;
-				std::string defenseType_;
-				std::string query_;
+				int currentPage_;
 				std::string instanceId_;
 				std::string domain_;
+				std::string region_;
 
 			};
 		}

+ 8 - 7
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeProtectionModuleRulesResult.h

@@ -32,27 +32,28 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeProtectionModuleRulesResult : public ServiceResult
 			{
 			public:
-				struct Rule
+				struct ModuleRulesItem
 				{
-					long status;
 					long version;
 					std::string content;
-					long ruleId;
 					long time;
+					long id;
 				};
 
 
 				DescribeProtectionModuleRulesResult();
 				explicit DescribeProtectionModuleRulesResult(const std::string &payload);
 				~DescribeProtectionModuleRulesResult();
-				int getTotalCount()const;
-				std::vector<Rule> getRules()const;
+				std::vector<ModuleRulesItem> getModuleRules()const;
+				int getTotal()const;
+				int getTaskStatus()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				int totalCount_;
-				std::vector<Rule> rules_;
+				std::vector<ModuleRulesItem> moduleRules_;
+				int total_;
+				int taskStatus_;
 
 			};
 		}

+ 54 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeRegionsRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEREGIONSREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEREGIONSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeRegionsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRegionsRequest();
+				~DescribeRegionsRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string resourceGroupId_;
+				std::string sourceIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeRegionsResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEREGIONSRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEREGIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT DescribeRegionsResult : public ServiceResult
+			{
+			public:
+				struct Region
+				{
+					std::string region;
+					std::string display;
+				};
+
+
+				DescribeRegionsResult();
+				explicit DescribeRegionsResult(const std::string &payload);
+				~DescribeRegionsResult();
+				std::vector<Region> getRegions()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Region> regions_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_DESCRIBEREGIONSRESULT_H_

+ 3 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeWafSourceIpSegmentRequest.h

@@ -43,12 +43,15 @@ namespace AlibabaCloud
 				void setSourceIp(const std::string& sourceIp);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
 
             private:
 				std::string resourceGroupId_;
 				std::string instanceId_;
 				std::string sourceIp_;
 				std::string lang_;
+				std::string region_;
 
 			};
 		}

+ 0 - 2
waf-openapi/include/alibabacloud/waf-openapi/model/DescribeWafSourceIpSegmentResult.h

@@ -37,13 +37,11 @@ namespace AlibabaCloud
 				DescribeWafSourceIpSegmentResult();
 				explicit DescribeWafSourceIpSegmentResult(const std::string &payload);
 				~DescribeWafSourceIpSegmentResult();
-				std::string getIpV6s()const;
 				std::string getIps()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string ipV6s_;
 				std::string ips_;
 
 			};

+ 63 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyAclRuleRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYACLRULEREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYACLRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT ModifyAclRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyAclRuleRequest();
+				~ModifyAclRuleRequest();
+
+				std::string getRules()const;
+				void setRules(const std::string& rules);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string rules_;
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string domain_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYACLRULEREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyAclRuleResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYACLRULERESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYACLRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT ModifyAclRuleResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				ModifyAclRuleResult();
+				explicit ModifyAclRuleResult(const std::string &payload);
+				~ModifyAclRuleResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYACLRULERESULT_H_

+ 84 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyDomainConfigRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYDOMAINCONFIGREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYDOMAINCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT ModifyDomainConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDomainConfigRequest();
+				~ModifyDomainConfigRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getHttpPort()const;
+				void setHttpPort(const std::string& httpPort);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getProtocols()const;
+				void setProtocols(const std::string& protocols);
+				int getHttpsRedirect()const;
+				void setHttpsRedirect(int httpsRedirect);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIps()const;
+				void setSourceIps(const std::string& sourceIps);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				int getIsAccessProduct()const;
+				void setIsAccessProduct(int isAccessProduct);
+				std::string getHttpsPort()const;
+				void setHttpsPort(const std::string& httpsPort);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+				int getLoadBalancing()const;
+				void setLoadBalancing(int loadBalancing);
+				int getHttpToUserIp()const;
+				void setHttpToUserIp(int httpToUserIp);
+
+            private:
+				std::string sourceIp_;
+				std::string httpPort_;
+				std::string lang_;
+				std::string protocols_;
+				int httpsRedirect_;
+				std::string instanceId_;
+				std::string sourceIps_;
+				std::string domain_;
+				int isAccessProduct_;
+				std::string httpsPort_;
+				std::string region_;
+				int loadBalancing_;
+				int httpToUserIp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYDOMAINCONFIGREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyDomainConfigResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYDOMAINCONFIGRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYDOMAINCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT ModifyDomainConfigResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				ModifyDomainConfigResult();
+				explicit ModifyDomainConfigResult(const std::string &payload);
+				~ModifyDomainConfigResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYDOMAINCONFIGRESULT_H_

+ 6 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyDomainRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				int getIpFollowStatus()const;
 				void setIpFollowStatus(int ipFollowStatus);
+				std::string getSniHost()const;
+				void setSniHost(const std::string& sniHost);
 				int getHybridCloudType()const;
 				void setHybridCloudType(int hybridCloudType);
 				std::string getSourceIp()const;
@@ -47,6 +49,8 @@ namespace AlibabaCloud
 				void setHttp2Port(const std::string& http2Port);
 				int getWriteTime()const;
 				void setWriteTime(int writeTime);
+				int getSniStatus()const;
+				void setSniStatus(int sniStatus);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
 				int getAccessHeaderMode()const;
@@ -86,11 +90,13 @@ namespace AlibabaCloud
 
             private:
 				int ipFollowStatus_;
+				std::string sniHost_;
 				int hybridCloudType_;
 				std::string sourceIp_;
 				std::string httpPort_;
 				std::string http2Port_;
 				int writeTime_;
+				int sniStatus_;
 				std::string lang_;
 				int accessHeaderMode_;
 				std::string accessType_;

+ 15 - 12
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleCacheStatusRequest.h

@@ -35,26 +35,29 @@ namespace AlibabaCloud
 				ModifyProtectionRuleCacheStatusRequest();
 				~ModifyProtectionRuleCacheStatusRequest();
 
-				std::string getDefenseType()const;
-				void setDefenseType(const std::string& defenseType);
-				std::string getInstanceId()const;
-				void setInstanceId(const std::string& instanceId);
 				std::string getSourceIp()const;
 				void setSourceIp(const std::string& sourceIp);
-				std::string getDomain()const;
-				void setDomain(const std::string& domain);
+				std::string getDefense()const;
+				void setDefense(const std::string& defense);
+				long getId()const;
+				void setId(long id);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
-				long getRuleId()const;
-				void setRuleId(long ruleId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
 
             private:
-				std::string defenseType_;
-				std::string instanceId_;
 				std::string sourceIp_;
-				std::string domain_;
+				std::string defense_;
+				long id_;
 				std::string lang_;
-				long ruleId_;
+				std::string instanceId_;
+				std::string domain_;
+				std::string region_;
 
 			};
 		}

+ 4 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleCacheStatusResult.h

@@ -37,10 +37,14 @@ namespace AlibabaCloud
 				ModifyProtectionRuleCacheStatusResult();
 				explicit ModifyProtectionRuleCacheStatusResult(const std::string &payload);
 				~ModifyProtectionRuleCacheStatusResult();
+				int getTaskStatus()const;
+				int getWafTaskId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				int taskStatus_;
+				int wafTaskId_;
 
 			};
 		}

+ 9 - 6
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleStatusRequest.h

@@ -39,28 +39,31 @@ namespace AlibabaCloud
 				void setLockVersion(long lockVersion);
 				std::string getSourceIp()const;
 				void setSourceIp(const std::string& sourceIp);
+				std::string getDefense()const;
+				void setDefense(const std::string& defense);
+				long getId()const;
+				void setId(long id);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
-				std::string getDefenseType()const;
-				void setDefenseType(const std::string& defenseType);
 				int getRuleStatus()const;
 				void setRuleStatus(int ruleStatus);
 				std::string getInstanceId()const;
 				void setInstanceId(const std::string& instanceId);
 				std::string getDomain()const;
 				void setDomain(const std::string& domain);
-				long getRuleId()const;
-				void setRuleId(long ruleId);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
 
             private:
 				long lockVersion_;
 				std::string sourceIp_;
+				std::string defense_;
+				long id_;
 				std::string lang_;
-				std::string defenseType_;
 				int ruleStatus_;
 				std::string instanceId_;
 				std::string domain_;
-				long ruleId_;
+				std::string region_;
 
 			};
 		}

+ 4 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyProtectionRuleStatusResult.h

@@ -37,10 +37,14 @@ namespace AlibabaCloud
 				ModifyProtectionRuleStatusResult();
 				explicit ModifyProtectionRuleStatusResult(const std::string &payload);
 				~ModifyProtectionRuleStatusResult();
+				int getTaskStatus()const;
+				int getWafTaskId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				int taskStatus_;
+				int wafTaskId_;
 
 			};
 		}

+ 63 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyWafSwitchRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYWAFSWITCHREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYWAFSWITCHREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT ModifyWafSwitchRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyWafSwitchRequest();
+				~ModifyWafSwitchRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				int getServiceOn()const;
+				void setServiceOn(int serviceOn);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+
+            private:
+				std::string instanceId_;
+				std::string sourceIp_;
+				std::string domain_;
+				int serviceOn_;
+				std::string lang_;
+				std::string region_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYWAFSWITCHREQUEST_H_

+ 56 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/ModifyWafSwitchResult.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYWAFSWITCHRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYWAFSWITCHRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT ModifyWafSwitchResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int status;
+					std::string wafTaskId;
+				};
+
+
+				ModifyWafSwitchResult();
+				explicit ModifyWafSwitchResult(const std::string &payload);
+				~ModifyWafSwitchResult();
+				Result getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Result result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MODIFYWAFSWITCHRESULT_H_

+ 57 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/MoveResourceGroupRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MOVERESOURCEGROUPREQUEST_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MOVERESOURCEGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT MoveResourceGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				MoveResourceGroupRequest();
+				~MoveResourceGroupRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getResourceId()const;
+				void setResourceId(const std::string& resourceId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+
+            private:
+				std::string resourceGroupId_;
+				std::string sourceIp_;
+				std::string resourceId_;
+				std::string resourceType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MOVERESOURCEGROUPREQUEST_H_

+ 49 - 0
waf-openapi/include/alibabacloud/waf-openapi/model/MoveResourceGroupResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_WAF_OPENAPI_MODEL_MOVERESOURCEGROUPRESULT_H_
+#define ALIBABACLOUD_WAF_OPENAPI_MODEL_MOVERESOURCEGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/waf-openapi/Waf_openapiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Waf_openapi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_WAF_OPENAPI_EXPORT MoveResourceGroupResult : public ServiceResult
+			{
+			public:
+
+
+				MoveResourceGroupResult();
+				explicit MoveResourceGroupResult(const std::string &payload);
+				~MoveResourceGroupResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_WAF_OPENAPI_MODEL_MOVERESOURCEGROUPRESULT_H_

+ 540 - 0
waf-openapi/src/Waf-openapiClient.cc

@@ -51,6 +51,78 @@ Waf_openapiClient::Waf_openapiClient(const std::string & accessKeyId, const std:
 Waf_openapiClient::~Waf_openapiClient()
 {}
 
+Waf_openapiClient::CreateAclRuleOutcome Waf_openapiClient::createAclRule(const CreateAclRuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateAclRuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateAclRuleOutcome(CreateAclRuleResult(outcome.result()));
+	else
+		return CreateAclRuleOutcome(outcome.error());
+}
+
+void Waf_openapiClient::createAclRuleAsync(const CreateAclRuleRequest& request, const CreateAclRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createAclRule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::CreateAclRuleOutcomeCallable Waf_openapiClient::createAclRuleCallable(const CreateAclRuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateAclRuleOutcome()>>(
+			[this, request]()
+			{
+			return this->createAclRule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Waf_openapiClient::CreateCertAndKeyOutcome Waf_openapiClient::createCertAndKey(const CreateCertAndKeyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateCertAndKeyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateCertAndKeyOutcome(CreateCertAndKeyResult(outcome.result()));
+	else
+		return CreateCertAndKeyOutcome(outcome.error());
+}
+
+void Waf_openapiClient::createCertAndKeyAsync(const CreateCertAndKeyRequest& request, const CreateCertAndKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createCertAndKey(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::CreateCertAndKeyOutcomeCallable Waf_openapiClient::createCertAndKeyCallable(const CreateCertAndKeyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateCertAndKeyOutcome()>>(
+			[this, request]()
+			{
+			return this->createCertAndKey(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::CreateCertificateOutcome Waf_openapiClient::createCertificate(const CreateCertificateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -159,6 +231,42 @@ Waf_openapiClient::CreateDomainOutcomeCallable Waf_openapiClient::createDomainCa
 	return task->get_future();
 }
 
+Waf_openapiClient::CreateDomainConfigOutcome Waf_openapiClient::createDomainConfig(const CreateDomainConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDomainConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDomainConfigOutcome(CreateDomainConfigResult(outcome.result()));
+	else
+		return CreateDomainConfigOutcome(outcome.error());
+}
+
+void Waf_openapiClient::createDomainConfigAsync(const CreateDomainConfigRequest& request, const CreateDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDomainConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::CreateDomainConfigOutcomeCallable Waf_openapiClient::createDomainConfigCallable(const CreateDomainConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDomainConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->createDomainConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::CreateProtectionModuleRuleOutcome Waf_openapiClient::createProtectionModuleRule(const CreateProtectionModuleRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -195,6 +303,42 @@ Waf_openapiClient::CreateProtectionModuleRuleOutcomeCallable Waf_openapiClient::
 	return task->get_future();
 }
 
+Waf_openapiClient::DeleteAclRuleOutcome Waf_openapiClient::deleteAclRule(const DeleteAclRuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteAclRuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteAclRuleOutcome(DeleteAclRuleResult(outcome.result()));
+	else
+		return DeleteAclRuleOutcome(outcome.error());
+}
+
+void Waf_openapiClient::deleteAclRuleAsync(const DeleteAclRuleRequest& request, const DeleteAclRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteAclRule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DeleteAclRuleOutcomeCallable Waf_openapiClient::deleteAclRuleCallable(const DeleteAclRuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteAclRuleOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteAclRule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::DeleteDomainOutcome Waf_openapiClient::deleteDomain(const DeleteDomainRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -231,6 +375,42 @@ Waf_openapiClient::DeleteDomainOutcomeCallable Waf_openapiClient::deleteDomainCa
 	return task->get_future();
 }
 
+Waf_openapiClient::DeleteDomainConfigOutcome Waf_openapiClient::deleteDomainConfig(const DeleteDomainConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDomainConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDomainConfigOutcome(DeleteDomainConfigResult(outcome.result()));
+	else
+		return DeleteDomainConfigOutcome(outcome.error());
+}
+
+void Waf_openapiClient::deleteDomainConfigAsync(const DeleteDomainConfigRequest& request, const DeleteDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDomainConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DeleteDomainConfigOutcomeCallable Waf_openapiClient::deleteDomainConfigCallable(const DeleteDomainConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDomainConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDomainConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::DeleteInstanceOutcome Waf_openapiClient::deleteInstance(const DeleteInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -303,6 +483,78 @@ Waf_openapiClient::DeleteProtectionModuleRuleOutcomeCallable Waf_openapiClient::
 	return task->get_future();
 }
 
+Waf_openapiClient::DescribeAclRulesOutcome Waf_openapiClient::describeAclRules(const DescribeAclRulesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAclRulesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAclRulesOutcome(DescribeAclRulesResult(outcome.result()));
+	else
+		return DescribeAclRulesOutcome(outcome.error());
+}
+
+void Waf_openapiClient::describeAclRulesAsync(const DescribeAclRulesRequest& request, const DescribeAclRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAclRules(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DescribeAclRulesOutcomeCallable Waf_openapiClient::describeAclRulesCallable(const DescribeAclRulesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAclRulesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAclRules(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Waf_openapiClient::DescribeAsyncTaskStatusOutcome Waf_openapiClient::describeAsyncTaskStatus(const DescribeAsyncTaskStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAsyncTaskStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAsyncTaskStatusOutcome(DescribeAsyncTaskStatusResult(outcome.result()));
+	else
+		return DescribeAsyncTaskStatusOutcome(outcome.error());
+}
+
+void Waf_openapiClient::describeAsyncTaskStatusAsync(const DescribeAsyncTaskStatusRequest& request, const DescribeAsyncTaskStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAsyncTaskStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DescribeAsyncTaskStatusOutcomeCallable Waf_openapiClient::describeAsyncTaskStatusCallable(const DescribeAsyncTaskStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAsyncTaskStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAsyncTaskStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::DescribeCertMatchStatusOutcome Waf_openapiClient::describeCertMatchStatus(const DescribeCertMatchStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -483,6 +735,78 @@ Waf_openapiClient::DescribeDomainBasicConfigsOutcomeCallable Waf_openapiClient::
 	return task->get_future();
 }
 
+Waf_openapiClient::DescribeDomainConfigOutcome Waf_openapiClient::describeDomainConfig(const DescribeDomainConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDomainConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDomainConfigOutcome(DescribeDomainConfigResult(outcome.result()));
+	else
+		return DescribeDomainConfigOutcome(outcome.error());
+}
+
+void Waf_openapiClient::describeDomainConfigAsync(const DescribeDomainConfigRequest& request, const DescribeDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDomainConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DescribeDomainConfigOutcomeCallable Waf_openapiClient::describeDomainConfigCallable(const DescribeDomainConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDomainConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDomainConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Waf_openapiClient::DescribeDomainConfigStatusOutcome Waf_openapiClient::describeDomainConfigStatus(const DescribeDomainConfigStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDomainConfigStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDomainConfigStatusOutcome(DescribeDomainConfigStatusResult(outcome.result()));
+	else
+		return DescribeDomainConfigStatusOutcome(outcome.error());
+}
+
+void Waf_openapiClient::describeDomainConfigStatusAsync(const DescribeDomainConfigStatusRequest& request, const DescribeDomainConfigStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDomainConfigStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DescribeDomainConfigStatusOutcomeCallable Waf_openapiClient::describeDomainConfigStatusCallable(const DescribeDomainConfigStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDomainConfigStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDomainConfigStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::DescribeDomainListOutcome Waf_openapiClient::describeDomainList(const DescribeDomainListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -735,6 +1059,42 @@ Waf_openapiClient::DescribeLogServiceStatusOutcomeCallable Waf_openapiClient::de
 	return task->get_future();
 }
 
+Waf_openapiClient::DescribePayInfoOutcome Waf_openapiClient::describePayInfo(const DescribePayInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribePayInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribePayInfoOutcome(DescribePayInfoResult(outcome.result()));
+	else
+		return DescribePayInfoOutcome(outcome.error());
+}
+
+void Waf_openapiClient::describePayInfoAsync(const DescribePayInfoRequest& request, const DescribePayInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describePayInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DescribePayInfoOutcomeCallable Waf_openapiClient::describePayInfoCallable(const DescribePayInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribePayInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->describePayInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::DescribeProtectionModuleCodeConfigOutcome Waf_openapiClient::describeProtectionModuleCodeConfig(const DescribeProtectionModuleCodeConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -879,6 +1239,42 @@ Waf_openapiClient::DescribeProtectionModuleStatusOutcomeCallable Waf_openapiClie
 	return task->get_future();
 }
 
+Waf_openapiClient::DescribeRegionsOutcome Waf_openapiClient::describeRegions(const DescribeRegionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRegionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
+	else
+		return DescribeRegionsOutcome(outcome.error());
+}
+
+void Waf_openapiClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRegions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::DescribeRegionsOutcomeCallable Waf_openapiClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRegions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::DescribeWafSourceIpSegmentOutcome Waf_openapiClient::describeWafSourceIpSegment(const DescribeWafSourceIpSegmentRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -915,6 +1311,42 @@ Waf_openapiClient::DescribeWafSourceIpSegmentOutcomeCallable Waf_openapiClient::
 	return task->get_future();
 }
 
+Waf_openapiClient::ModifyAclRuleOutcome Waf_openapiClient::modifyAclRule(const ModifyAclRuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyAclRuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyAclRuleOutcome(ModifyAclRuleResult(outcome.result()));
+	else
+		return ModifyAclRuleOutcome(outcome.error());
+}
+
+void Waf_openapiClient::modifyAclRuleAsync(const ModifyAclRuleRequest& request, const ModifyAclRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyAclRule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::ModifyAclRuleOutcomeCallable Waf_openapiClient::modifyAclRuleCallable(const ModifyAclRuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyAclRuleOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyAclRule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::ModifyDomainOutcome Waf_openapiClient::modifyDomain(const ModifyDomainRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -951,6 +1383,42 @@ Waf_openapiClient::ModifyDomainOutcomeCallable Waf_openapiClient::modifyDomainCa
 	return task->get_future();
 }
 
+Waf_openapiClient::ModifyDomainConfigOutcome Waf_openapiClient::modifyDomainConfig(const ModifyDomainConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDomainConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDomainConfigOutcome(ModifyDomainConfigResult(outcome.result()));
+	else
+		return ModifyDomainConfigOutcome(outcome.error());
+}
+
+void Waf_openapiClient::modifyDomainConfigAsync(const ModifyDomainConfigRequest& request, const ModifyDomainConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDomainConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::ModifyDomainConfigOutcomeCallable Waf_openapiClient::modifyDomainConfigCallable(const ModifyDomainConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDomainConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDomainConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::ModifyDomainIpv6StatusOutcome Waf_openapiClient::modifyDomainIpv6Status(const ModifyDomainIpv6StatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1239,6 +1707,78 @@ Waf_openapiClient::ModifyProtectionRuleStatusOutcomeCallable Waf_openapiClient::
 	return task->get_future();
 }
 
+Waf_openapiClient::ModifyWafSwitchOutcome Waf_openapiClient::modifyWafSwitch(const ModifyWafSwitchRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyWafSwitchOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyWafSwitchOutcome(ModifyWafSwitchResult(outcome.result()));
+	else
+		return ModifyWafSwitchOutcome(outcome.error());
+}
+
+void Waf_openapiClient::modifyWafSwitchAsync(const ModifyWafSwitchRequest& request, const ModifyWafSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyWafSwitch(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::ModifyWafSwitchOutcomeCallable Waf_openapiClient::modifyWafSwitchCallable(const ModifyWafSwitchRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyWafSwitchOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyWafSwitch(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Waf_openapiClient::MoveResourceGroupOutcome Waf_openapiClient::moveResourceGroup(const MoveResourceGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return MoveResourceGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return MoveResourceGroupOutcome(MoveResourceGroupResult(outcome.result()));
+	else
+		return MoveResourceGroupOutcome(outcome.error());
+}
+
+void Waf_openapiClient::moveResourceGroupAsync(const MoveResourceGroupRequest& request, const MoveResourceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, moveResourceGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Waf_openapiClient::MoveResourceGroupOutcomeCallable Waf_openapiClient::moveResourceGroupCallable(const MoveResourceGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<MoveResourceGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->moveResourceGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Waf_openapiClient::SetDomainRuleGroupOutcome Waf_openapiClient::setDomainRuleGroup(const SetDomainRuleGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 95 - 0
waf-openapi/src/model/CreateAclRuleRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/CreateAclRuleRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::CreateAclRuleRequest;
+
+CreateAclRuleRequest::CreateAclRuleRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "CreateAclRule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateAclRuleRequest::~CreateAclRuleRequest()
+{}
+
+std::string CreateAclRuleRequest::getRules()const
+{
+	return rules_;
+}
+
+void CreateAclRuleRequest::setRules(const std::string& rules)
+{
+	rules_ = rules;
+	setParameter("Rules", rules);
+}
+
+std::string CreateAclRuleRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateAclRuleRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string CreateAclRuleRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void CreateAclRuleRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string CreateAclRuleRequest::getDomain()const
+{
+	return domain_;
+}
+
+void CreateAclRuleRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string CreateAclRuleRequest::getLang()const
+{
+	return lang_;
+}
+
+void CreateAclRuleRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string CreateAclRuleRequest::getRegion()const
+{
+	return region_;
+}
+
+void CreateAclRuleRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 54 - 0
waf-openapi/src/model/CreateAclRuleResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/CreateAclRuleResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+CreateAclRuleResult::CreateAclRuleResult() :
+	ServiceResult()
+{}
+
+CreateAclRuleResult::CreateAclRuleResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateAclRuleResult::~CreateAclRuleResult()
+{}
+
+void CreateAclRuleResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+CreateAclRuleResult::Result CreateAclRuleResult::getResult()const
+{
+	return result_;
+}
+

+ 117 - 0
waf-openapi/src/model/CreateCertAndKeyRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/CreateCertAndKeyRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::CreateCertAndKeyRequest;
+
+CreateCertAndKeyRequest::CreateCertAndKeyRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "CreateCertAndKey")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateCertAndKeyRequest::~CreateCertAndKeyRequest()
+{}
+
+std::string CreateCertAndKeyRequest::getCert()const
+{
+	return cert_;
+}
+
+void CreateCertAndKeyRequest::setCert(const std::string& cert)
+{
+	cert_ = cert;
+	setParameter("Cert", cert);
+}
+
+std::string CreateCertAndKeyRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void CreateCertAndKeyRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string CreateCertAndKeyRequest::getHttpsCertName()const
+{
+	return httpsCertName_;
+}
+
+void CreateCertAndKeyRequest::setHttpsCertName(const std::string& httpsCertName)
+{
+	httpsCertName_ = httpsCertName;
+	setParameter("HttpsCertName", httpsCertName);
+}
+
+std::string CreateCertAndKeyRequest::getLang()const
+{
+	return lang_;
+}
+
+void CreateCertAndKeyRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string CreateCertAndKeyRequest::getKey()const
+{
+	return key_;
+}
+
+void CreateCertAndKeyRequest::setKey(const std::string& key)
+{
+	key_ = key;
+	setParameter("Key", key);
+}
+
+std::string CreateCertAndKeyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateCertAndKeyRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string CreateCertAndKeyRequest::getDomain()const
+{
+	return domain_;
+}
+
+void CreateCertAndKeyRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string CreateCertAndKeyRequest::getRegion()const
+{
+	return region_;
+}
+
+void CreateCertAndKeyRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 54 - 0
waf-openapi/src/model/CreateCertAndKeyResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/CreateCertAndKeyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+CreateCertAndKeyResult::CreateCertAndKeyResult() :
+	ServiceResult()
+{}
+
+CreateCertAndKeyResult::CreateCertAndKeyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateCertAndKeyResult::~CreateCertAndKeyResult()
+{}
+
+void CreateCertAndKeyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+CreateCertAndKeyResult::Result CreateCertAndKeyResult::getResult()const
+{
+	return result_;
+}
+

+ 194 - 0
waf-openapi/src/model/CreateDomainConfigRequest.cc

@@ -0,0 +1,194 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/CreateDomainConfigRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::CreateDomainConfigRequest;
+
+CreateDomainConfigRequest::CreateDomainConfigRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "CreateDomainConfig")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateDomainConfigRequest::~CreateDomainConfigRequest()
+{}
+
+std::string CreateDomainConfigRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateDomainConfigRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string CreateDomainConfigRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void CreateDomainConfigRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string CreateDomainConfigRequest::getHttpPort()const
+{
+	return httpPort_;
+}
+
+void CreateDomainConfigRequest::setHttpPort(const std::string& httpPort)
+{
+	httpPort_ = httpPort;
+	setParameter("HttpPort", httpPort);
+}
+
+std::string CreateDomainConfigRequest::getLang()const
+{
+	return lang_;
+}
+
+void CreateDomainConfigRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string CreateDomainConfigRequest::getProtocols()const
+{
+	return protocols_;
+}
+
+void CreateDomainConfigRequest::setProtocols(const std::string& protocols)
+{
+	protocols_ = protocols;
+	setParameter("Protocols", protocols);
+}
+
+int CreateDomainConfigRequest::getRsType()const
+{
+	return rsType_;
+}
+
+void CreateDomainConfigRequest::setRsType(int rsType)
+{
+	rsType_ = rsType;
+	setParameter("RsType", std::to_string(rsType));
+}
+
+int CreateDomainConfigRequest::getHttpsRedirect()const
+{
+	return httpsRedirect_;
+}
+
+void CreateDomainConfigRequest::setHttpsRedirect(int httpsRedirect)
+{
+	httpsRedirect_ = httpsRedirect;
+	setParameter("HttpsRedirect", std::to_string(httpsRedirect));
+}
+
+std::string CreateDomainConfigRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateDomainConfigRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string CreateDomainConfigRequest::getSourceIps()const
+{
+	return sourceIps_;
+}
+
+void CreateDomainConfigRequest::setSourceIps(const std::string& sourceIps)
+{
+	sourceIps_ = sourceIps;
+	setParameter("SourceIps", sourceIps);
+}
+
+std::string CreateDomainConfigRequest::getDomain()const
+{
+	return domain_;
+}
+
+void CreateDomainConfigRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+int CreateDomainConfigRequest::getIsAccessProduct()const
+{
+	return isAccessProduct_;
+}
+
+void CreateDomainConfigRequest::setIsAccessProduct(int isAccessProduct)
+{
+	isAccessProduct_ = isAccessProduct;
+	setParameter("IsAccessProduct", std::to_string(isAccessProduct));
+}
+
+std::string CreateDomainConfigRequest::getHttpsPort()const
+{
+	return httpsPort_;
+}
+
+void CreateDomainConfigRequest::setHttpsPort(const std::string& httpsPort)
+{
+	httpsPort_ = httpsPort;
+	setParameter("HttpsPort", httpsPort);
+}
+
+std::string CreateDomainConfigRequest::getRegion()const
+{
+	return region_;
+}
+
+void CreateDomainConfigRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+
+int CreateDomainConfigRequest::getLoadBalancing()const
+{
+	return loadBalancing_;
+}
+
+void CreateDomainConfigRequest::setLoadBalancing(int loadBalancing)
+{
+	loadBalancing_ = loadBalancing;
+	setParameter("LoadBalancing", std::to_string(loadBalancing));
+}
+
+int CreateDomainConfigRequest::getHttpToUserIp()const
+{
+	return httpToUserIp_;
+}
+
+void CreateDomainConfigRequest::setHttpToUserIp(int httpToUserIp)
+{
+	httpToUserIp_ = httpToUserIp;
+	setParameter("HttpToUserIp", std::to_string(httpToUserIp));
+}
+

+ 54 - 0
waf-openapi/src/model/CreateDomainConfigResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/CreateDomainConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+CreateDomainConfigResult::CreateDomainConfigResult() :
+	ServiceResult()
+{}
+
+CreateDomainConfigResult::CreateDomainConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDomainConfigResult::~CreateDomainConfigResult()
+{}
+
+void CreateDomainConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+CreateDomainConfigResult::Result CreateDomainConfigResult::getResult()const
+{
+	return result_;
+}
+

+ 22 - 0
waf-openapi/src/model/CreateDomainRequest.cc

@@ -38,6 +38,17 @@ void CreateDomainRequest::setIpFollowStatus(int ipFollowStatus)
 	setParameter("IpFollowStatus", std::to_string(ipFollowStatus));
 }
 
+std::string CreateDomainRequest::getSniHost()const
+{
+	return sniHost_;
+}
+
+void CreateDomainRequest::setSniHost(const std::string& sniHost)
+{
+	sniHost_ = sniHost;
+	setParameter("SniHost", sniHost);
+}
+
 std::string CreateDomainRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;
@@ -93,6 +104,17 @@ void CreateDomainRequest::setWriteTime(int writeTime)
 	setParameter("WriteTime", std::to_string(writeTime));
 }
 
+int CreateDomainRequest::getSniStatus()const
+{
+	return sniStatus_;
+}
+
+void CreateDomainRequest::setSniStatus(int sniStatus)
+{
+	sniStatus_ = sniStatus;
+	setParameter("SniStatus", std::to_string(sniStatus));
+}
+
 std::string CreateDomainRequest::getLang()const
 {
 	return lang_;

+ 37 - 26
waf-openapi/src/model/CreateProtectionModuleRuleRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Waf_openapi::Model::CreateProtectionModuleRuleRequest;
 
 CreateProtectionModuleRuleRequest::CreateProtectionModuleRuleRequest() :
-	RpcServiceRequest("waf-openapi", "2019-09-10", "CreateProtectionModuleRule")
+	RpcServiceRequest("waf-openapi", "2018-01-17", "CreateProtectionModuleRule")
 {
 	setMethod(HttpRequest::Method::Post);
 }
@@ -27,48 +27,59 @@ CreateProtectionModuleRuleRequest::CreateProtectionModuleRuleRequest() :
 CreateProtectionModuleRuleRequest::~CreateProtectionModuleRuleRequest()
 {}
 
-std::string CreateProtectionModuleRuleRequest::getDefenseType()const
+std::string CreateProtectionModuleRuleRequest::getRule()const
 {
-	return defenseType_;
+	return rule_;
 }
 
-void CreateProtectionModuleRuleRequest::setDefenseType(const std::string& defenseType)
+void CreateProtectionModuleRuleRequest::setRule(const std::string& rule)
 {
-	defenseType_ = defenseType;
-	setParameter("DefenseType", defenseType);
+	rule_ = rule;
+	setParameter("Rule", rule);
 }
 
-std::string CreateProtectionModuleRuleRequest::getRule()const
+std::string CreateProtectionModuleRuleRequest::getSourceIp()const
 {
-	return rule_;
+	return sourceIp_;
 }
 
-void CreateProtectionModuleRuleRequest::setRule(const std::string& rule)
+void CreateProtectionModuleRuleRequest::setSourceIp(const std::string& sourceIp)
 {
-	rule_ = rule;
-	setParameter("Rule", rule);
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
 }
 
-std::string CreateProtectionModuleRuleRequest::getInstanceId()const
+std::string CreateProtectionModuleRuleRequest::getDefense()const
 {
-	return instanceId_;
+	return defense_;
 }
 
-void CreateProtectionModuleRuleRequest::setInstanceId(const std::string& instanceId)
+void CreateProtectionModuleRuleRequest::setDefense(const std::string& defense)
 {
-	instanceId_ = instanceId;
-	setParameter("InstanceId", instanceId);
+	defense_ = defense;
+	setParameter("Defense", defense);
 }
 
-std::string CreateProtectionModuleRuleRequest::getSourceIp()const
+std::string CreateProtectionModuleRuleRequest::getLang()const
 {
-	return sourceIp_;
+	return lang_;
 }
 
-void CreateProtectionModuleRuleRequest::setSourceIp(const std::string& sourceIp)
+void CreateProtectionModuleRuleRequest::setLang(const std::string& lang)
 {
-	sourceIp_ = sourceIp;
-	setParameter("SourceIp", sourceIp);
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string CreateProtectionModuleRuleRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateProtectionModuleRuleRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
 }
 
 std::string CreateProtectionModuleRuleRequest::getDomain()const
@@ -82,14 +93,14 @@ void CreateProtectionModuleRuleRequest::setDomain(const std::string& domain)
 	setParameter("Domain", domain);
 }
 
-std::string CreateProtectionModuleRuleRequest::getLang()const
+std::string CreateProtectionModuleRuleRequest::getRegion()const
 {
-	return lang_;
+	return region_;
 }
 
-void CreateProtectionModuleRuleRequest::setLang(const std::string& lang)
+void CreateProtectionModuleRuleRequest::setRegion(const std::string& region)
 {
-	lang_ = lang;
-	setParameter("Lang", lang);
+	region_ = region;
+	setParameter("Region", region);
 }
 

+ 95 - 0
waf-openapi/src/model/DeleteAclRuleRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DeleteAclRuleRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DeleteAclRuleRequest;
+
+DeleteAclRuleRequest::DeleteAclRuleRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DeleteAclRule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteAclRuleRequest::~DeleteAclRuleRequest()
+{}
+
+std::string DeleteAclRuleRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteAclRuleRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DeleteAclRuleRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DeleteAclRuleRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DeleteAclRuleRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DeleteAclRuleRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string DeleteAclRuleRequest::getLang()const
+{
+	return lang_;
+}
+
+void DeleteAclRuleRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+long DeleteAclRuleRequest::getRuleId()const
+{
+	return ruleId_;
+}
+
+void DeleteAclRuleRequest::setRuleId(long ruleId)
+{
+	ruleId_ = ruleId;
+	setParameter("RuleId", std::to_string(ruleId));
+}
+
+std::string DeleteAclRuleRequest::getRegion()const
+{
+	return region_;
+}
+
+void DeleteAclRuleRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 54 - 0
waf-openapi/src/model/DeleteAclRuleResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DeleteAclRuleResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DeleteAclRuleResult::DeleteAclRuleResult() :
+	ServiceResult()
+{}
+
+DeleteAclRuleResult::DeleteAclRuleResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteAclRuleResult::~DeleteAclRuleResult()
+{}
+
+void DeleteAclRuleResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+DeleteAclRuleResult::Result DeleteAclRuleResult::getResult()const
+{
+	return result_;
+}
+

+ 84 - 0
waf-openapi/src/model/DeleteDomainConfigRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DeleteDomainConfigRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DeleteDomainConfigRequest;
+
+DeleteDomainConfigRequest::DeleteDomainConfigRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DeleteDomainConfig")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteDomainConfigRequest::~DeleteDomainConfigRequest()
+{}
+
+std::string DeleteDomainConfigRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteDomainConfigRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DeleteDomainConfigRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DeleteDomainConfigRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DeleteDomainConfigRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DeleteDomainConfigRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string DeleteDomainConfigRequest::getLang()const
+{
+	return lang_;
+}
+
+void DeleteDomainConfigRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DeleteDomainConfigRequest::getRegion()const
+{
+	return region_;
+}
+
+void DeleteDomainConfigRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 54 - 0
waf-openapi/src/model/DeleteDomainConfigResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DeleteDomainConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DeleteDomainConfigResult::DeleteDomainConfigResult() :
+	ServiceResult()
+{}
+
+DeleteDomainConfigResult::DeleteDomainConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteDomainConfigResult::~DeleteDomainConfigResult()
+{}
+
+void DeleteDomainConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+DeleteDomainConfigResult::Result DeleteDomainConfigResult::getResult()const
+{
+	return result_;
+}
+

+ 106 - 0
waf-openapi/src/model/DescribeAclRulesRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeAclRulesRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DescribeAclRulesRequest;
+
+DescribeAclRulesRequest::DescribeAclRulesRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeAclRules")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeAclRulesRequest::~DescribeAclRulesRequest()
+{}
+
+std::string DescribeAclRulesRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeAclRulesRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+int DescribeAclRulesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeAclRulesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeAclRulesRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeAclRulesRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+int DescribeAclRulesRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeAclRulesRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeAclRulesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeAclRulesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeAclRulesRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DescribeAclRulesRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string DescribeAclRulesRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeAclRulesRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 92 - 0
waf-openapi/src/model/DescribeAclRulesResult.cc

@@ -0,0 +1,92 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeAclRulesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DescribeAclRulesResult::DescribeAclRulesResult() :
+	ServiceResult()
+{}
+
+DescribeAclRulesResult::DescribeAclRulesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAclRulesResult::~DescribeAclRulesResult()
+{}
+
+void DescribeAclRulesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["Total"].isNull())
+		result_.total = std::stoi(resultNode["Total"].asString());
+	auto allAclRulesNode = resultNode["AclRules"]["AclRule"];
+	for (auto resultNodeAclRulesAclRule : allAclRulesNode)
+	{
+		Result::AclRule aclRuleObject;
+		if(!resultNodeAclRulesAclRule["ContinueWaf"].isNull())
+			aclRuleObject.continueWaf = std::stoi(resultNodeAclRulesAclRule["ContinueWaf"].asString());
+		if(!resultNodeAclRulesAclRule["ContinueBlockGeo"].isNull())
+			aclRuleObject.continueBlockGeo = std::stoi(resultNodeAclRulesAclRule["ContinueBlockGeo"].asString());
+		if(!resultNodeAclRulesAclRule["ContinueSA"].isNull())
+			aclRuleObject.continueSA = std::stoi(resultNodeAclRulesAclRule["ContinueSA"].asString());
+		if(!resultNodeAclRulesAclRule["ContinueSdk"].isNull())
+			aclRuleObject.continueSdk = std::stoi(resultNodeAclRulesAclRule["ContinueSdk"].asString());
+		if(!resultNodeAclRulesAclRule["ContinueDataRiskControl"].isNull())
+			aclRuleObject.continueDataRiskControl = std::stoi(resultNodeAclRulesAclRule["ContinueDataRiskControl"].asString());
+		if(!resultNodeAclRulesAclRule["ContinueCc"].isNull())
+			aclRuleObject.continueCc = std::stoi(resultNodeAclRulesAclRule["ContinueCc"].asString());
+		if(!resultNodeAclRulesAclRule["IsDefault"].isNull())
+			aclRuleObject.isDefault = std::stoi(resultNodeAclRulesAclRule["IsDefault"].asString());
+		if(!resultNodeAclRulesAclRule["Name"].isNull())
+			aclRuleObject.name = resultNodeAclRulesAclRule["Name"].asString();
+		if(!resultNodeAclRulesAclRule["Action"].isNull())
+			aclRuleObject.action = std::stoi(resultNodeAclRulesAclRule["Action"].asString());
+		if(!resultNodeAclRulesAclRule["Id"].isNull())
+			aclRuleObject.id = std::stol(resultNodeAclRulesAclRule["Id"].asString());
+		if(!resultNodeAclRulesAclRule["Order"].isNull())
+			aclRuleObject.order = std::stoi(resultNodeAclRulesAclRule["Order"].asString());
+		auto allConditionsNode = resultNodeAclRulesAclRule["Conditions"]["condition"];
+		for (auto resultNodeAclRulesAclRuleConditionscondition : allConditionsNode)
+		{
+			Result::AclRule::Condition conditionsObject;
+			if(!resultNodeAclRulesAclRuleConditionscondition["Contain"].isNull())
+				conditionsObject.contain = resultNodeAclRulesAclRuleConditionscondition["Contain"].asString();
+			if(!resultNodeAclRulesAclRuleConditionscondition["Value"].isNull())
+				conditionsObject.value = resultNodeAclRulesAclRuleConditionscondition["Value"].asString();
+			if(!resultNodeAclRulesAclRuleConditionscondition["Key"].isNull())
+				conditionsObject.key = resultNodeAclRulesAclRuleConditionscondition["Key"].asString();
+			aclRuleObject.conditions.push_back(conditionsObject);
+		}
+		result_.aclRules.push_back(aclRuleObject);
+	}
+
+}
+
+DescribeAclRulesResult::Result DescribeAclRulesResult::getResult()const
+{
+	return result_;
+}
+

+ 95 - 0
waf-openapi/src/model/DescribeAsyncTaskStatusRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DescribeAsyncTaskStatusRequest;
+
+DescribeAsyncTaskStatusRequest::DescribeAsyncTaskStatusRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeAsyncTaskStatus")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeAsyncTaskStatusRequest::~DescribeAsyncTaskStatusRequest()
+{}
+
+std::string DescribeAsyncTaskStatusRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeAsyncTaskStatusRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeAsyncTaskStatusRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeAsyncTaskStatusRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeAsyncTaskStatusRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeAsyncTaskStatusRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeAsyncTaskStatusRequest::getWafRequestId()const
+{
+	return wafRequestId_;
+}
+
+void DescribeAsyncTaskStatusRequest::setWafRequestId(const std::string& wafRequestId)
+{
+	wafRequestId_ = wafRequestId;
+	setParameter("WafRequestId", wafRequestId);
+}
+
+std::string DescribeAsyncTaskStatusRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeAsyncTaskStatusRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DescribeAsyncTaskStatusRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeAsyncTaskStatusRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 60 - 0
waf-openapi/src/model/DescribeAsyncTaskStatusResult.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeAsyncTaskStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DescribeAsyncTaskStatusResult::DescribeAsyncTaskStatusResult() :
+	ServiceResult()
+{}
+
+DescribeAsyncTaskStatusResult::DescribeAsyncTaskStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAsyncTaskStatusResult::~DescribeAsyncTaskStatusResult()
+{}
+
+void DescribeAsyncTaskStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["AsyncTaskStatus"].isNull())
+		result_.asyncTaskStatus = resultNode["AsyncTaskStatus"].asString();
+	if(!resultNode["Progress"].isNull())
+		result_.progress = std::stoi(resultNode["Progress"].asString());
+	if(!resultNode["ErrCode"].isNull())
+		result_.errCode = resultNode["ErrCode"].asString();
+	if(!resultNode["ErrMsg"].isNull())
+		result_.errMsg = resultNode["ErrMsg"].asString();
+	if(!resultNode["Data"].isNull())
+		result_.data = resultNode["Data"].asString();
+
+}
+
+DescribeAsyncTaskStatusResult::Result DescribeAsyncTaskStatusResult::getResult()const
+{
+	return result_;
+}
+

+ 24 - 20
waf-openapi/src/model/DescribeDomainAdvanceConfigsResult.cc

@@ -46,30 +46,34 @@ void DescribeDomainAdvanceConfigsResult::parse(const std::string &payload)
 		if(!valueDomainConfigsDomainConfig["Domain"].isNull())
 			domainConfigsObject.domain = valueDomainConfigsDomainConfig["Domain"].asString();
 		auto profileNode = value["Profile"];
-		if(!profileNode["Cname"].isNull())
-			domainConfigsObject.profile.cname = profileNode["Cname"].asString();
-		if(!profileNode["ResolvedType"].isNull())
-			domainConfigsObject.profile.resolvedType = std::stoi(profileNode["ResolvedType"].asString());
-		if(!profileNode["VipServiceStatus"].isNull())
-			domainConfigsObject.profile.vipServiceStatus = std::stoi(profileNode["VipServiceStatus"].asString());
-		if(!profileNode["CertStatus"].isNull())
-			domainConfigsObject.profile.certStatus = std::stoi(profileNode["CertStatus"].asString());
-		if(!profileNode["ExclusiveVipStatus"].isNull())
-			domainConfigsObject.profile.exclusiveVipStatus = std::stoi(profileNode["ExclusiveVipStatus"].asString());
 		if(!profileNode["Ipv6Status"].isNull())
 			domainConfigsObject.profile.ipv6Status = std::stoi(profileNode["Ipv6Status"].asString());
-		if(!profileNode["HttpPort"].isNull())
-			domainConfigsObject.profile.httpPort = profileNode["HttpPort"].asString();
-		if(!profileNode["HttpsPort"].isNull())
-			domainConfigsObject.profile.httpsPort = profileNode["HttpsPort"].asString();
-		if(!profileNode["Http2Port"].isNull())
-			domainConfigsObject.profile.http2Port = profileNode["Http2Port"].asString();
-		if(!profileNode["Rs"].isNull())
-			domainConfigsObject.profile.rs = profileNode["Rs"].asString();
-		if(!profileNode["ClusterType"].isNull())
-			domainConfigsObject.profile.clusterType = std::stoi(profileNode["ClusterType"].asString());
 		if(!profileNode["GSLBStatus"].isNull())
 			domainConfigsObject.profile.gSLBStatus = profileNode["GSLBStatus"].asString();
+		if(!profileNode["VipServiceStatus"].isNull())
+			domainConfigsObject.profile.vipServiceStatus = std::stoi(profileNode["VipServiceStatus"].asString());
+		if(!profileNode["ClusterType"].isNull())
+			domainConfigsObject.profile.clusterType = std::stoi(profileNode["ClusterType"].asString());
+		if(!profileNode["ExclusiveVipStatus"].isNull())
+			domainConfigsObject.profile.exclusiveVipStatus = std::stoi(profileNode["ExclusiveVipStatus"].asString());
+		if(!profileNode["Cname"].isNull())
+			domainConfigsObject.profile.cname = profileNode["Cname"].asString();
+		if(!profileNode["CertStatus"].isNull())
+			domainConfigsObject.profile.certStatus = std::stoi(profileNode["CertStatus"].asString());
+		if(!profileNode["ResolvedType"].isNull())
+			domainConfigsObject.profile.resolvedType = std::stoi(profileNode["ResolvedType"].asString());
+			auto allHttp2Port = profileNode["Http2Port"]["Http2Port"];
+			for (auto value : allHttp2Port)
+				domainConfigsObject.profile.http2Port.push_back(value.asString());
+			auto allHttpPort = profileNode["HttpPort"]["HttpPort"];
+			for (auto value : allHttpPort)
+				domainConfigsObject.profile.httpPort.push_back(value.asString());
+			auto allRs = profileNode["Rs"]["Rs"];
+			for (auto value : allRs)
+				domainConfigsObject.profile.rs.push_back(value.asString());
+			auto allHttpsPort = profileNode["HttpsPort"]["HttpsPort"];
+			for (auto value : allHttpsPort)
+				domainConfigsObject.profile.httpsPort.push_back(value.asString());
 		domainConfigs_.push_back(domainConfigsObject);
 	}
 

+ 84 - 0
waf-openapi/src/model/DescribeDomainConfigRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeDomainConfigRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DescribeDomainConfigRequest;
+
+DescribeDomainConfigRequest::DescribeDomainConfigRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeDomainConfig")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDomainConfigRequest::~DescribeDomainConfigRequest()
+{}
+
+std::string DescribeDomainConfigRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeDomainConfigRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeDomainConfigRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeDomainConfigRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeDomainConfigRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DescribeDomainConfigRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string DescribeDomainConfigRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeDomainConfigRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DescribeDomainConfigRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeDomainConfigRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 61 - 0
waf-openapi/src/model/DescribeDomainConfigResult.cc

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeDomainConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DescribeDomainConfigResult::DescribeDomainConfigResult() :
+	ServiceResult()
+{}
+
+DescribeDomainConfigResult::DescribeDomainConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDomainConfigResult::~DescribeDomainConfigResult()
+{}
+
+void DescribeDomainConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+	auto domainConfigNode = resultNode["DomainConfig"];
+	if(!domainConfigNode["Cname"].isNull())
+		result_.domainConfig.cname = domainConfigNode["Cname"].asString();
+	if(!domainConfigNode["ProtocolType"].isNull())
+		result_.domainConfig.protocolType = std::stoi(domainConfigNode["ProtocolType"].asString());
+	if(!domainConfigNode["SourceIps"].isNull())
+		result_.domainConfig.sourceIps = domainConfigNode["SourceIps"].asString();
+
+}
+
+DescribeDomainConfigResult::Result DescribeDomainConfigResult::getResult()const
+{
+	return result_;
+}
+

+ 84 - 0
waf-openapi/src/model/DescribeDomainConfigStatusRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeDomainConfigStatusRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DescribeDomainConfigStatusRequest;
+
+DescribeDomainConfigStatusRequest::DescribeDomainConfigStatusRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeDomainConfigStatus")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDomainConfigStatusRequest::~DescribeDomainConfigStatusRequest()
+{}
+
+std::string DescribeDomainConfigStatusRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeDomainConfigStatusRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeDomainConfigStatusRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeDomainConfigStatusRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeDomainConfigStatusRequest::getDomain()const
+{
+	return domain_;
+}
+
+void DescribeDomainConfigStatusRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string DescribeDomainConfigStatusRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeDomainConfigStatusRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DescribeDomainConfigStatusRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeDomainConfigStatusRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 57 - 0
waf-openapi/src/model/DescribeDomainConfigStatusResult.cc

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeDomainConfigStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DescribeDomainConfigStatusResult::DescribeDomainConfigStatusResult() :
+	ServiceResult()
+{}
+
+DescribeDomainConfigStatusResult::DescribeDomainConfigStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDomainConfigStatusResult::~DescribeDomainConfigStatusResult()
+{}
+
+void DescribeDomainConfigStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+	auto domainConfigNode = resultNode["DomainConfig"];
+	if(!domainConfigNode["ConfigStatus"].isNull())
+		result_.domainConfig.configStatus = domainConfigNode["ConfigStatus"].asString();
+
+}
+
+DescribeDomainConfigStatusResult::Result DescribeDomainConfigStatusResult::getResult()const
+{
+	return result_;
+}
+

+ 6 - 6
waf-openapi/src/model/DescribeDomainNamesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Waf_openapi::Model::DescribeDomainNamesRequest;
 
 DescribeDomainNamesRequest::DescribeDomainNamesRequest() :
-	RpcServiceRequest("waf-openapi", "2019-09-10", "DescribeDomainNames")
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeDomainNames")
 {
 	setMethod(HttpRequest::Method::Post);
 }
@@ -71,14 +71,14 @@ void DescribeDomainNamesRequest::setLang(const std::string& lang)
 	setParameter("Lang", lang);
 }
 
-std::string DescribeDomainNamesRequest::getCallSource()const
+std::string DescribeDomainNamesRequest::getRegion()const
 {
-	return callSource_;
+	return region_;
 }
 
-void DescribeDomainNamesRequest::setCallSource(const std::string& callSource)
+void DescribeDomainNamesRequest::setRegion(const std::string& region)
 {
-	callSource_ = callSource;
-	setParameter("CallSource", callSource);
+	region_ = region;
+	setParameter("Region", region);
 }
 

+ 5 - 5
waf-openapi/src/model/DescribeDomainNamesResult.cc

@@ -39,14 +39,14 @@ void DescribeDomainNamesResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	auto allDomainNames = value["DomainNames"]["DomainName"];
-	for (const auto &item : allDomainNames)
-		domainNames_.push_back(item.asString());
+	auto allResult = value["Result"]["DomainNames"];
+	for (const auto &item : allResult)
+		result_.push_back(item.asString());
 
 }
 
-std::vector<std::string> DescribeDomainNamesResult::getDomainNames()const
+std::vector<std::string> DescribeDomainNamesResult::getResult()const
 {
-	return domainNames_;
+	return result_;
 }
 

+ 4 - 0
waf-openapi/src/model/DescribeDomainResult.cc

@@ -68,6 +68,10 @@ void DescribeDomainResult::parse(const std::string &payload)
 		domain_.resourceGroupId = domainNode["ResourceGroupId"].asString();
 	if(!domainNode["AccessType"].isNull())
 		domain_.accessType = domainNode["AccessType"].asString();
+	if(!domainNode["SniStatus"].isNull())
+		domain_.sniStatus = std::stoi(domainNode["SniStatus"].asString());
+	if(!domainNode["SniHost"].isNull())
+		domain_.sniHost = domainNode["SniHost"].asString();
 	auto allLogHeadersNode = domainNode["LogHeaders"]["LogHeader"];
 	for (auto domainNodeLogHeadersLogHeader : allLogHeadersNode)
 	{

+ 84 - 0
waf-openapi/src/model/DescribePayInfoRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribePayInfoRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DescribePayInfoRequest;
+
+DescribePayInfoRequest::DescribePayInfoRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribePayInfo")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePayInfoRequest::~DescribePayInfoRequest()
+{}
+
+std::string DescribePayInfoRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribePayInfoRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribePayInfoRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribePayInfoRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribePayInfoRequest::getInstanceSource()const
+{
+	return instanceSource_;
+}
+
+void DescribePayInfoRequest::setInstanceSource(const std::string& instanceSource)
+{
+	instanceSource_ = instanceSource;
+	setParameter("InstanceSource", instanceSource);
+}
+
+std::string DescribePayInfoRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribePayInfoRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string DescribePayInfoRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribePayInfoRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 66 - 0
waf-openapi/src/model/DescribePayInfoResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribePayInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DescribePayInfoResult::DescribePayInfoResult() :
+	ServiceResult()
+{}
+
+DescribePayInfoResult::DescribePayInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePayInfoResult::~DescribePayInfoResult()
+{}
+
+void DescribePayInfoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["InDebt"].isNull())
+		result_.inDebt = std::stoi(resultNode["InDebt"].asString());
+	if(!resultNode["InstanceId"].isNull())
+		result_.instanceId = resultNode["InstanceId"].asString();
+	if(!resultNode["PayType"].isNull())
+		result_.payType = std::stoi(resultNode["PayType"].asString());
+	if(!resultNode["EndDate"].isNull())
+		result_.endDate = std::stol(resultNode["EndDate"].asString());
+	if(!resultNode["RemainDay"].isNull())
+		result_.remainDay = std::stoi(resultNode["RemainDay"].asString());
+	if(!resultNode["Region"].isNull())
+		result_.region = resultNode["Region"].asString();
+	if(!resultNode["Trial"].isNull())
+		result_.trial = std::stoi(resultNode["Trial"].asString());
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+DescribePayInfoResult::Result DescribePayInfoResult::getResult()const
+{
+	return result_;
+}
+

+ 27 - 38
waf-openapi/src/model/DescribeProtectionModuleRulesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Waf_openapi::Model::DescribeProtectionModuleRulesRequest;
 
 DescribeProtectionModuleRulesRequest::DescribeProtectionModuleRulesRequest() :
-	RpcServiceRequest("waf-openapi", "2019-09-10", "DescribeProtectionModuleRules")
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeProtectionModuleRules")
 {
 	setMethod(HttpRequest::Method::Post);
 }
@@ -27,37 +27,26 @@ DescribeProtectionModuleRulesRequest::DescribeProtectionModuleRulesRequest() :
 DescribeProtectionModuleRulesRequest::~DescribeProtectionModuleRulesRequest()
 {}
 
-int DescribeProtectionModuleRulesRequest::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-void DescribeProtectionModuleRulesRequest::setPageNumber(int pageNumber)
-{
-	pageNumber_ = pageNumber;
-	setParameter("PageNumber", std::to_string(pageNumber));
-}
-
-std::string DescribeProtectionModuleRulesRequest::getResourceGroupId()const
+std::string DescribeProtectionModuleRulesRequest::getSourceIp()const
 {
-	return resourceGroupId_;
+	return sourceIp_;
 }
 
-void DescribeProtectionModuleRulesRequest::setResourceGroupId(const std::string& resourceGroupId)
+void DescribeProtectionModuleRulesRequest::setSourceIp(const std::string& sourceIp)
 {
-	resourceGroupId_ = resourceGroupId;
-	setParameter("ResourceGroupId", resourceGroupId);
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
 }
 
-std::string DescribeProtectionModuleRulesRequest::getSourceIp()const
+std::string DescribeProtectionModuleRulesRequest::getDefense()const
 {
-	return sourceIp_;
+	return defense_;
 }
 
-void DescribeProtectionModuleRulesRequest::setSourceIp(const std::string& sourceIp)
+void DescribeProtectionModuleRulesRequest::setDefense(const std::string& defense)
 {
-	sourceIp_ = sourceIp;
-	setParameter("SourceIp", sourceIp);
+	defense_ = defense;
+	setParameter("Defense", defense);
 }
 
 int DescribeProtectionModuleRulesRequest::getPageSize()const
@@ -82,26 +71,15 @@ void DescribeProtectionModuleRulesRequest::setLang(const std::string& lang)
 	setParameter("Lang", lang);
 }
 
-std::string DescribeProtectionModuleRulesRequest::getDefenseType()const
-{
-	return defenseType_;
-}
-
-void DescribeProtectionModuleRulesRequest::setDefenseType(const std::string& defenseType)
-{
-	defenseType_ = defenseType;
-	setParameter("DefenseType", defenseType);
-}
-
-std::string DescribeProtectionModuleRulesRequest::getQuery()const
+int DescribeProtectionModuleRulesRequest::getCurrentPage()const
 {
-	return query_;
+	return currentPage_;
 }
 
-void DescribeProtectionModuleRulesRequest::setQuery(const std::string& query)
+void DescribeProtectionModuleRulesRequest::setCurrentPage(int currentPage)
 {
-	query_ = query;
-	setParameter("Query", query);
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
 }
 
 std::string DescribeProtectionModuleRulesRequest::getInstanceId()const
@@ -126,3 +104,14 @@ void DescribeProtectionModuleRulesRequest::setDomain(const std::string& domain)
 	setParameter("Domain", domain);
 }
 
+std::string DescribeProtectionModuleRulesRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeProtectionModuleRulesRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 25 - 20
waf-openapi/src/model/DescribeProtectionModuleRulesResult.cc

@@ -39,34 +39,39 @@ void DescribeProtectionModuleRulesResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	auto allRulesNode = value["Rules"]["Rule"];
-	for (auto valueRulesRule : allRulesNode)
+	auto allModuleRulesNode = value["ModuleRules"]["ModuleRulesItem"];
+	for (auto valueModuleRulesModuleRulesItem : allModuleRulesNode)
 	{
-		Rule rulesObject;
-		if(!valueRulesRule["RuleId"].isNull())
-			rulesObject.ruleId = std::stol(valueRulesRule["RuleId"].asString());
-		if(!valueRulesRule["Version"].isNull())
-			rulesObject.version = std::stol(valueRulesRule["Version"].asString());
-		if(!valueRulesRule["Content"].isNull())
-			rulesObject.content = valueRulesRule["Content"].asString();
-		if(!valueRulesRule["Time"].isNull())
-			rulesObject.time = std::stol(valueRulesRule["Time"].asString());
-		if(!valueRulesRule["Status"].isNull())
-			rulesObject.status = std::stol(valueRulesRule["Status"].asString());
-		rules_.push_back(rulesObject);
+		ModuleRulesItem moduleRulesObject;
+		if(!valueModuleRulesModuleRulesItem["Id"].isNull())
+			moduleRulesObject.id = std::stol(valueModuleRulesModuleRulesItem["Id"].asString());
+		if(!valueModuleRulesModuleRulesItem["Version"].isNull())
+			moduleRulesObject.version = std::stol(valueModuleRulesModuleRulesItem["Version"].asString());
+		if(!valueModuleRulesModuleRulesItem["Content"].isNull())
+			moduleRulesObject.content = valueModuleRulesModuleRulesItem["Content"].asString();
+		if(!valueModuleRulesModuleRulesItem["Time"].isNull())
+			moduleRulesObject.time = std::stol(valueModuleRulesModuleRulesItem["Time"].asString());
+		moduleRules_.push_back(moduleRulesObject);
 	}
-	if(!value["TotalCount"].isNull())
-		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["TaskStatus"].isNull())
+		taskStatus_ = std::stoi(value["TaskStatus"].asString());
+	if(!value["Total"].isNull())
+		total_ = std::stoi(value["Total"].asString());
 
 }
 
-int DescribeProtectionModuleRulesResult::getTotalCount()const
+std::vector<DescribeProtectionModuleRulesResult::ModuleRulesItem> DescribeProtectionModuleRulesResult::getModuleRules()const
 {
-	return totalCount_;
+	return moduleRules_;
 }
 
-std::vector<DescribeProtectionModuleRulesResult::Rule> DescribeProtectionModuleRulesResult::getRules()const
+int DescribeProtectionModuleRulesResult::getTotal()const
 {
-	return rules_;
+	return total_;
+}
+
+int DescribeProtectionModuleRulesResult::getTaskStatus()const
+{
+	return taskStatus_;
 }
 

+ 62 - 0
waf-openapi/src/model/DescribeRegionsRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeRegionsRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::DescribeRegionsRequest;
+
+DescribeRegionsRequest::DescribeRegionsRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeRegions")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeRegionsRequest::~DescribeRegionsRequest()
+{}
+
+std::string DescribeRegionsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeRegionsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeRegionsRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeRegionsRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeRegionsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeRegionsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 59 - 0
waf-openapi/src/model/DescribeRegionsResult.cc

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/DescribeRegionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+DescribeRegionsResult::DescribeRegionsResult() :
+	ServiceResult()
+{}
+
+DescribeRegionsResult::DescribeRegionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRegionsResult::~DescribeRegionsResult()
+{}
+
+void DescribeRegionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allRegionsNode = value["Regions"]["Region"];
+	for (auto valueRegionsRegion : allRegionsNode)
+	{
+		Region regionsObject;
+		if(!valueRegionsRegion["Display"].isNull())
+			regionsObject.display = valueRegionsRegion["Display"].asString();
+		if(!valueRegionsRegion["Region"].isNull())
+			regionsObject.region = valueRegionsRegion["Region"].asString();
+		regions_.push_back(regionsObject);
+	}
+
+}
+
+std::vector<DescribeRegionsResult::Region> DescribeRegionsResult::getRegions()const
+{
+	return regions_;
+}
+

+ 12 - 1
waf-openapi/src/model/DescribeWafSourceIpSegmentRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Waf_openapi::Model::DescribeWafSourceIpSegmentRequest;
 
 DescribeWafSourceIpSegmentRequest::DescribeWafSourceIpSegmentRequest() :
-	RpcServiceRequest("waf-openapi", "2019-09-10", "DescribeWafSourceIpSegment")
+	RpcServiceRequest("waf-openapi", "2018-01-17", "DescribeWafSourceIpSegment")
 {
 	setMethod(HttpRequest::Method::Post);
 }
@@ -71,3 +71,14 @@ void DescribeWafSourceIpSegmentRequest::setLang(const std::string& lang)
 	setParameter("Lang", lang);
 }
 
+std::string DescribeWafSourceIpSegmentRequest::getRegion()const
+{
+	return region_;
+}
+
+void DescribeWafSourceIpSegmentRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 0 - 7
waf-openapi/src/model/DescribeWafSourceIpSegmentResult.cc

@@ -41,16 +41,9 @@ void DescribeWafSourceIpSegmentResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["Ips"].isNull())
 		ips_ = value["Ips"].asString();
-	if(!value["IpV6s"].isNull())
-		ipV6s_ = value["IpV6s"].asString();
 
 }
 
-std::string DescribeWafSourceIpSegmentResult::getIpV6s()const
-{
-	return ipV6s_;
-}
-
 std::string DescribeWafSourceIpSegmentResult::getIps()const
 {
 	return ips_;

+ 95 - 0
waf-openapi/src/model/ModifyAclRuleRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/ModifyAclRuleRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::ModifyAclRuleRequest;
+
+ModifyAclRuleRequest::ModifyAclRuleRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "ModifyAclRule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyAclRuleRequest::~ModifyAclRuleRequest()
+{}
+
+std::string ModifyAclRuleRequest::getRules()const
+{
+	return rules_;
+}
+
+void ModifyAclRuleRequest::setRules(const std::string& rules)
+{
+	rules_ = rules;
+	setParameter("Rules", rules);
+}
+
+std::string ModifyAclRuleRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyAclRuleRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ModifyAclRuleRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyAclRuleRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyAclRuleRequest::getDomain()const
+{
+	return domain_;
+}
+
+void ModifyAclRuleRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string ModifyAclRuleRequest::getLang()const
+{
+	return lang_;
+}
+
+void ModifyAclRuleRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string ModifyAclRuleRequest::getRegion()const
+{
+	return region_;
+}
+
+void ModifyAclRuleRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 54 - 0
waf-openapi/src/model/ModifyAclRuleResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/ModifyAclRuleResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+ModifyAclRuleResult::ModifyAclRuleResult() :
+	ServiceResult()
+{}
+
+ModifyAclRuleResult::ModifyAclRuleResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyAclRuleResult::~ModifyAclRuleResult()
+{}
+
+void ModifyAclRuleResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+ModifyAclRuleResult::Result ModifyAclRuleResult::getResult()const
+{
+	return result_;
+}
+

+ 172 - 0
waf-openapi/src/model/ModifyDomainConfigRequest.cc

@@ -0,0 +1,172 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/ModifyDomainConfigRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::ModifyDomainConfigRequest;
+
+ModifyDomainConfigRequest::ModifyDomainConfigRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "ModifyDomainConfig")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyDomainConfigRequest::~ModifyDomainConfigRequest()
+{}
+
+std::string ModifyDomainConfigRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyDomainConfigRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyDomainConfigRequest::getHttpPort()const
+{
+	return httpPort_;
+}
+
+void ModifyDomainConfigRequest::setHttpPort(const std::string& httpPort)
+{
+	httpPort_ = httpPort;
+	setParameter("HttpPort", httpPort);
+}
+
+std::string ModifyDomainConfigRequest::getLang()const
+{
+	return lang_;
+}
+
+void ModifyDomainConfigRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string ModifyDomainConfigRequest::getProtocols()const
+{
+	return protocols_;
+}
+
+void ModifyDomainConfigRequest::setProtocols(const std::string& protocols)
+{
+	protocols_ = protocols;
+	setParameter("Protocols", protocols);
+}
+
+int ModifyDomainConfigRequest::getHttpsRedirect()const
+{
+	return httpsRedirect_;
+}
+
+void ModifyDomainConfigRequest::setHttpsRedirect(int httpsRedirect)
+{
+	httpsRedirect_ = httpsRedirect;
+	setParameter("HttpsRedirect", std::to_string(httpsRedirect));
+}
+
+std::string ModifyDomainConfigRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyDomainConfigRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ModifyDomainConfigRequest::getSourceIps()const
+{
+	return sourceIps_;
+}
+
+void ModifyDomainConfigRequest::setSourceIps(const std::string& sourceIps)
+{
+	sourceIps_ = sourceIps;
+	setParameter("SourceIps", sourceIps);
+}
+
+std::string ModifyDomainConfigRequest::getDomain()const
+{
+	return domain_;
+}
+
+void ModifyDomainConfigRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+int ModifyDomainConfigRequest::getIsAccessProduct()const
+{
+	return isAccessProduct_;
+}
+
+void ModifyDomainConfigRequest::setIsAccessProduct(int isAccessProduct)
+{
+	isAccessProduct_ = isAccessProduct;
+	setParameter("IsAccessProduct", std::to_string(isAccessProduct));
+}
+
+std::string ModifyDomainConfigRequest::getHttpsPort()const
+{
+	return httpsPort_;
+}
+
+void ModifyDomainConfigRequest::setHttpsPort(const std::string& httpsPort)
+{
+	httpsPort_ = httpsPort;
+	setParameter("HttpsPort", httpsPort);
+}
+
+std::string ModifyDomainConfigRequest::getRegion()const
+{
+	return region_;
+}
+
+void ModifyDomainConfigRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+
+int ModifyDomainConfigRequest::getLoadBalancing()const
+{
+	return loadBalancing_;
+}
+
+void ModifyDomainConfigRequest::setLoadBalancing(int loadBalancing)
+{
+	loadBalancing_ = loadBalancing;
+	setParameter("LoadBalancing", std::to_string(loadBalancing));
+}
+
+int ModifyDomainConfigRequest::getHttpToUserIp()const
+{
+	return httpToUserIp_;
+}
+
+void ModifyDomainConfigRequest::setHttpToUserIp(int httpToUserIp)
+{
+	httpToUserIp_ = httpToUserIp;
+	setParameter("HttpToUserIp", std::to_string(httpToUserIp));
+}
+

+ 54 - 0
waf-openapi/src/model/ModifyDomainConfigResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/ModifyDomainConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+ModifyDomainConfigResult::ModifyDomainConfigResult() :
+	ServiceResult()
+{}
+
+ModifyDomainConfigResult::ModifyDomainConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyDomainConfigResult::~ModifyDomainConfigResult()
+{}
+
+void ModifyDomainConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+ModifyDomainConfigResult::Result ModifyDomainConfigResult::getResult()const
+{
+	return result_;
+}
+

+ 22 - 0
waf-openapi/src/model/ModifyDomainRequest.cc

@@ -38,6 +38,17 @@ void ModifyDomainRequest::setIpFollowStatus(int ipFollowStatus)
 	setParameter("IpFollowStatus", std::to_string(ipFollowStatus));
 }
 
+std::string ModifyDomainRequest::getSniHost()const
+{
+	return sniHost_;
+}
+
+void ModifyDomainRequest::setSniHost(const std::string& sniHost)
+{
+	sniHost_ = sniHost;
+	setParameter("SniHost", sniHost);
+}
+
 int ModifyDomainRequest::getHybridCloudType()const
 {
 	return hybridCloudType_;
@@ -93,6 +104,17 @@ void ModifyDomainRequest::setWriteTime(int writeTime)
 	setParameter("WriteTime", std::to_string(writeTime));
 }
 
+int ModifyDomainRequest::getSniStatus()const
+{
+	return sniStatus_;
+}
+
+void ModifyDomainRequest::setSniStatus(int sniStatus)
+{
+	sniStatus_ = sniStatus;
+	setParameter("SniStatus", std::to_string(sniStatus));
+}
+
 std::string ModifyDomainRequest::getLang()const
 {
 	return lang_;

+ 42 - 31
waf-openapi/src/model/ModifyProtectionRuleCacheStatusRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Waf_openapi::Model::ModifyProtectionRuleCacheStatusRequest;
 
 ModifyProtectionRuleCacheStatusRequest::ModifyProtectionRuleCacheStatusRequest() :
-	RpcServiceRequest("waf-openapi", "2019-09-10", "ModifyProtectionRuleCacheStatus")
+	RpcServiceRequest("waf-openapi", "2018-01-17", "ModifyProtectionRuleCacheStatus")
 {
 	setMethod(HttpRequest::Method::Post);
 }
@@ -27,69 +27,80 @@ ModifyProtectionRuleCacheStatusRequest::ModifyProtectionRuleCacheStatusRequest()
 ModifyProtectionRuleCacheStatusRequest::~ModifyProtectionRuleCacheStatusRequest()
 {}
 
-std::string ModifyProtectionRuleCacheStatusRequest::getDefenseType()const
+std::string ModifyProtectionRuleCacheStatusRequest::getSourceIp()const
 {
-	return defenseType_;
+	return sourceIp_;
 }
 
-void ModifyProtectionRuleCacheStatusRequest::setDefenseType(const std::string& defenseType)
+void ModifyProtectionRuleCacheStatusRequest::setSourceIp(const std::string& sourceIp)
 {
-	defenseType_ = defenseType;
-	setParameter("DefenseType", defenseType);
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
 }
 
-std::string ModifyProtectionRuleCacheStatusRequest::getInstanceId()const
+std::string ModifyProtectionRuleCacheStatusRequest::getDefense()const
 {
-	return instanceId_;
+	return defense_;
 }
 
-void ModifyProtectionRuleCacheStatusRequest::setInstanceId(const std::string& instanceId)
+void ModifyProtectionRuleCacheStatusRequest::setDefense(const std::string& defense)
 {
-	instanceId_ = instanceId;
-	setParameter("InstanceId", instanceId);
+	defense_ = defense;
+	setParameter("Defense", defense);
 }
 
-std::string ModifyProtectionRuleCacheStatusRequest::getSourceIp()const
+long ModifyProtectionRuleCacheStatusRequest::getId()const
 {
-	return sourceIp_;
+	return id_;
 }
 
-void ModifyProtectionRuleCacheStatusRequest::setSourceIp(const std::string& sourceIp)
+void ModifyProtectionRuleCacheStatusRequest::setId(long id)
 {
-	sourceIp_ = sourceIp;
-	setParameter("SourceIp", sourceIp);
+	id_ = id;
+	setParameter("Id", std::to_string(id));
 }
 
-std::string ModifyProtectionRuleCacheStatusRequest::getDomain()const
+std::string ModifyProtectionRuleCacheStatusRequest::getLang()const
 {
-	return domain_;
+	return lang_;
 }
 
-void ModifyProtectionRuleCacheStatusRequest::setDomain(const std::string& domain)
+void ModifyProtectionRuleCacheStatusRequest::setLang(const std::string& lang)
 {
-	domain_ = domain;
-	setParameter("Domain", domain);
+	lang_ = lang;
+	setParameter("Lang", lang);
 }
 
-std::string ModifyProtectionRuleCacheStatusRequest::getLang()const
+std::string ModifyProtectionRuleCacheStatusRequest::getInstanceId()const
 {
-	return lang_;
+	return instanceId_;
 }
 
-void ModifyProtectionRuleCacheStatusRequest::setLang(const std::string& lang)
+void ModifyProtectionRuleCacheStatusRequest::setInstanceId(const std::string& instanceId)
 {
-	lang_ = lang;
-	setParameter("Lang", lang);
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ModifyProtectionRuleCacheStatusRequest::getDomain()const
+{
+	return domain_;
+}
+
+void ModifyProtectionRuleCacheStatusRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
 }
 
-long ModifyProtectionRuleCacheStatusRequest::getRuleId()const
+std::string ModifyProtectionRuleCacheStatusRequest::getRegion()const
 {
-	return ruleId_;
+	return region_;
 }
 
-void ModifyProtectionRuleCacheStatusRequest::setRuleId(long ruleId)
+void ModifyProtectionRuleCacheStatusRequest::setRegion(const std::string& region)
 {
-	ruleId_ = ruleId;
-	setParameter("RuleId", std::to_string(ruleId));
+	region_ = region;
+	setParameter("Region", region);
 }
 

+ 14 - 0
waf-openapi/src/model/ModifyProtectionRuleCacheStatusResult.cc

@@ -39,6 +39,20 @@ void ModifyProtectionRuleCacheStatusResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	if(!value["TaskStatus"].isNull())
+		taskStatus_ = std::stoi(value["TaskStatus"].asString());
+	if(!value["WafTaskId"].isNull())
+		wafTaskId_ = std::stoi(value["WafTaskId"].asString());
 
 }
 
+int ModifyProtectionRuleCacheStatusResult::getTaskStatus()const
+{
+	return taskStatus_;
+}
+
+int ModifyProtectionRuleCacheStatusResult::getWafTaskId()const
+{
+	return wafTaskId_;
+}
+

+ 27 - 16
waf-openapi/src/model/ModifyProtectionRuleStatusRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Waf_openapi::Model::ModifyProtectionRuleStatusRequest;
 
 ModifyProtectionRuleStatusRequest::ModifyProtectionRuleStatusRequest() :
-	RpcServiceRequest("waf-openapi", "2019-09-10", "ModifyProtectionRuleStatus")
+	RpcServiceRequest("waf-openapi", "2018-01-17", "ModifyProtectionRuleStatus")
 {
 	setMethod(HttpRequest::Method::Post);
 }
@@ -49,26 +49,37 @@ void ModifyProtectionRuleStatusRequest::setSourceIp(const std::string& sourceIp)
 	setParameter("SourceIp", sourceIp);
 }
 
-std::string ModifyProtectionRuleStatusRequest::getLang()const
+std::string ModifyProtectionRuleStatusRequest::getDefense()const
 {
-	return lang_;
+	return defense_;
 }
 
-void ModifyProtectionRuleStatusRequest::setLang(const std::string& lang)
+void ModifyProtectionRuleStatusRequest::setDefense(const std::string& defense)
 {
-	lang_ = lang;
-	setParameter("Lang", lang);
+	defense_ = defense;
+	setParameter("Defense", defense);
+}
+
+long ModifyProtectionRuleStatusRequest::getId()const
+{
+	return id_;
 }
 
-std::string ModifyProtectionRuleStatusRequest::getDefenseType()const
+void ModifyProtectionRuleStatusRequest::setId(long id)
 {
-	return defenseType_;
+	id_ = id;
+	setParameter("Id", std::to_string(id));
 }
 
-void ModifyProtectionRuleStatusRequest::setDefenseType(const std::string& defenseType)
+std::string ModifyProtectionRuleStatusRequest::getLang()const
+{
+	return lang_;
+}
+
+void ModifyProtectionRuleStatusRequest::setLang(const std::string& lang)
 {
-	defenseType_ = defenseType;
-	setParameter("DefenseType", defenseType);
+	lang_ = lang;
+	setParameter("Lang", lang);
 }
 
 int ModifyProtectionRuleStatusRequest::getRuleStatus()const
@@ -104,14 +115,14 @@ void ModifyProtectionRuleStatusRequest::setDomain(const std::string& domain)
 	setParameter("Domain", domain);
 }
 
-long ModifyProtectionRuleStatusRequest::getRuleId()const
+std::string ModifyProtectionRuleStatusRequest::getRegion()const
 {
-	return ruleId_;
+	return region_;
 }
 
-void ModifyProtectionRuleStatusRequest::setRuleId(long ruleId)
+void ModifyProtectionRuleStatusRequest::setRegion(const std::string& region)
 {
-	ruleId_ = ruleId;
-	setParameter("RuleId", std::to_string(ruleId));
+	region_ = region;
+	setParameter("Region", region);
 }
 

+ 14 - 0
waf-openapi/src/model/ModifyProtectionRuleStatusResult.cc

@@ -39,6 +39,20 @@ void ModifyProtectionRuleStatusResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	if(!value["TaskStatus"].isNull())
+		taskStatus_ = std::stoi(value["TaskStatus"].asString());
+	if(!value["WafTaskId"].isNull())
+		wafTaskId_ = std::stoi(value["WafTaskId"].asString());
 
 }
 
+int ModifyProtectionRuleStatusResult::getTaskStatus()const
+{
+	return taskStatus_;
+}
+
+int ModifyProtectionRuleStatusResult::getWafTaskId()const
+{
+	return wafTaskId_;
+}
+

+ 95 - 0
waf-openapi/src/model/ModifyWafSwitchRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/ModifyWafSwitchRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::ModifyWafSwitchRequest;
+
+ModifyWafSwitchRequest::ModifyWafSwitchRequest() :
+	RpcServiceRequest("waf-openapi", "2018-01-17", "ModifyWafSwitch")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyWafSwitchRequest::~ModifyWafSwitchRequest()
+{}
+
+std::string ModifyWafSwitchRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyWafSwitchRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ModifyWafSwitchRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyWafSwitchRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyWafSwitchRequest::getDomain()const
+{
+	return domain_;
+}
+
+void ModifyWafSwitchRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+int ModifyWafSwitchRequest::getServiceOn()const
+{
+	return serviceOn_;
+}
+
+void ModifyWafSwitchRequest::setServiceOn(int serviceOn)
+{
+	serviceOn_ = serviceOn;
+	setParameter("ServiceOn", std::to_string(serviceOn));
+}
+
+std::string ModifyWafSwitchRequest::getLang()const
+{
+	return lang_;
+}
+
+void ModifyWafSwitchRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::string ModifyWafSwitchRequest::getRegion()const
+{
+	return region_;
+}
+
+void ModifyWafSwitchRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+

+ 54 - 0
waf-openapi/src/model/ModifyWafSwitchResult.cc

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/ModifyWafSwitchResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+ModifyWafSwitchResult::ModifyWafSwitchResult() :
+	ServiceResult()
+{}
+
+ModifyWafSwitchResult::ModifyWafSwitchResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyWafSwitchResult::~ModifyWafSwitchResult()
+{}
+
+void ModifyWafSwitchResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultNode = value["Result"];
+	if(!resultNode["WafTaskId"].isNull())
+		result_.wafTaskId = resultNode["WafTaskId"].asString();
+	if(!resultNode["Status"].isNull())
+		result_.status = std::stoi(resultNode["Status"].asString());
+
+}
+
+ModifyWafSwitchResult::Result ModifyWafSwitchResult::getResult()const
+{
+	return result_;
+}
+

+ 73 - 0
waf-openapi/src/model/MoveResourceGroupRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/MoveResourceGroupRequest.h>
+
+using AlibabaCloud::Waf_openapi::Model::MoveResourceGroupRequest;
+
+MoveResourceGroupRequest::MoveResourceGroupRequest() :
+	RpcServiceRequest("waf-openapi", "2019-09-10", "MoveResourceGroup")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+MoveResourceGroupRequest::~MoveResourceGroupRequest()
+{}
+
+std::string MoveResourceGroupRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void MoveResourceGroupRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string MoveResourceGroupRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void MoveResourceGroupRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string MoveResourceGroupRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void MoveResourceGroupRequest::setResourceId(const std::string& resourceId)
+{
+	resourceId_ = resourceId;
+	setParameter("ResourceId", resourceId);
+}
+
+std::string MoveResourceGroupRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void MoveResourceGroupRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+

+ 44 - 0
waf-openapi/src/model/MoveResourceGroupResult.cc

@@ -0,0 +1,44 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/waf-openapi/model/MoveResourceGroupResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Waf_openapi;
+using namespace AlibabaCloud::Waf_openapi::Model;
+
+MoveResourceGroupResult::MoveResourceGroupResult() :
+	ServiceResult()
+{}
+
+MoveResourceGroupResult::MoveResourceGroupResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+MoveResourceGroupResult::~MoveResourceGroupResult()
+{}
+
+void MoveResourceGroupResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+